X-Git-Url: http://www.aleph1.co.uk/gitweb/?p=yaffs-website;a=blobdiff_plain;f=vendor%2Feasyrdf%2Feasyrdf%2Flib%2FEasyRdf%2FSerialiser.php;fp=vendor%2Feasyrdf%2Feasyrdf%2Flib%2FEasyRdf%2FSerialiser.php;h=1c0acb84af9755d1489b5b25d435dda95da76117;hp=0000000000000000000000000000000000000000;hb=a2bd1bf0c2c1f1a17d188f4dc0726a45494cefae;hpb=57c063afa3f66b07c4bbddc2d6129a96d90f0aad diff --git a/vendor/easyrdf/easyrdf/lib/EasyRdf/Serialiser.php b/vendor/easyrdf/easyrdf/lib/EasyRdf/Serialiser.php new file mode 100644 index 000000000..1c0acb84a --- /dev/null +++ b/vendor/easyrdf/easyrdf/lib/EasyRdf/Serialiser.php @@ -0,0 +1,116 @@ +prefixes[$prefix] = true; + } + + /** + * Check and cleanup parameters passed to serialise() method + * @ignore + */ + protected function checkSerialiseParams(&$graph, &$format) + { + if (is_null($graph) or !is_object($graph) or !($graph instanceof EasyRdf_Graph)) { + throw new InvalidArgumentException( + "\$graph should be an EasyRdf_Graph object and cannot be null" + ); + } + + if (is_null($format) or $format == '') { + throw new InvalidArgumentException( + "\$format cannot be null or empty" + ); + } elseif (is_object($format) and ($format instanceof EasyRdf_Format)) { + $format = $format->getName(); + } elseif (!is_string($format)) { + throw new InvalidArgumentException( + "\$format should be a string or an EasyRdf_Format object" + ); + } + } + + /** + * Protected method to get the number of reverse properties for a resource + * If a resource only has a single property, the number of values for that + * property is returned instead. + * @ignore + */ + protected function reversePropertyCount($resource) + { + $properties = $resource->reversePropertyUris(); + $count = count($properties); + if ($count == 1) { + $property = $properties[0]; + return $resource->countValues("^<$property>"); + } else { + return $count; + } + } + + /** + * Sub-classes must follow this protocol + * @ignore + */ + public function serialise($graph, $format, array $options = array()) + { + throw new EasyRdf_Exception( + "This method should be overridden by sub-classes." + ); + } +}