diff sites/all/modules/rdfx/rdfx.restws.formats.inc @ 4:ce11bbd8f642

added modules
author danieleb <danielebarchiesi@me.com>
date Thu, 19 Sep 2013 10:38:44 +0100
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sites/all/modules/rdfx/rdfx.restws.formats.inc	Thu Sep 19 10:38:44 2013 +0100
@@ -0,0 +1,56 @@
+<?php
+
+/**
+ * A base formatter for all RDF serialization formats.
+ */
+class RDFxRestWSBaseFormat extends RestWSBaseFormat {
+  /**
+   * Read only support.
+   */
+  public function createResource($resourceController, $data) {
+    throw new RestWSException('Not implemented', 501);
+  }
+
+  public function updateResource($resourceController, $id, $data) {
+    throw new RestWSException('Not implemented', 501);
+  }
+
+  public function deleteResource($resourceController, $id) {
+    throw new RestWSException('Not implemented', 501);
+  }
+}
+
+/**
+ * Formatters for all RDF serialization formats.
+ */
+class RDFxRestWSFormatRDFXML extends RDFxRestWSBaseFormat {
+  public function viewResource($resourceController, $id) {
+    $resource = rdfx_get_rdf_model($resourceController->resource(), $id);
+    $serializer = ARC2::getSer('RDFXML', array('ns' => $resource->ns));
+    return $serializer->getSerializedIndex($resource->index);
+  }
+}
+
+class RDFxRestWSFormatTurtle extends RDFxRestWSBaseFormat {
+  public function viewResource($resourceController, $id) {
+    $resource = rdfx_get_rdf_model($resourceController->resource(), $id);
+    $serializer = ARC2::getSer('Turtle', array('ns' => $resource->ns));
+    return $serializer->getSerializedIndex($resource->index);
+  }
+}
+
+class RDFxRestWSFormatNTriples extends RDFxRestWSBaseFormat {
+  public function viewResource($resourceController, $id) {
+    $resource = rdfx_get_rdf_model($resourceController->resource(), $id);
+    $serializer = ARC2::getSer('NTriples', array('ns' => $resource->ns));
+    return $serializer->getSerializedIndex($resource->index);
+  }
+}
+
+class RDFxRestWSFormatRDFJSON extends RDFxRestWSBaseFormat {
+  public function viewResource($resourceController, $id) {
+    $resource = rdfx_get_rdf_model($resourceController->resource(), $id);
+    $serializer = ARC2::getSer('RDFJSON', array('ns' => $resource->ns));
+    return $serializer->getSerializedIndex($resource->index);
+  }
+}