Source for file TriXSerializer.php
Documentation is available at TriXSerializer.php
// ----------------------------------------------------------------------------------
// ----------------------------------------------------------------------------------
* Temporary implementation of a TriX-Serializer
* @version $Id: fsource_dataset__syntaxTriXSerializer.php.html 442 2007-06-01 16:19:26Z cax $
* @author Daniel Westphal (http://www.d-westphal.de)
* Reference to the graphSet
* Needs a reference to a graphSet
$this->graphSet=
&$graphSet;
* Serialize the dataset to a TriX string
return $this->_serialize();
* Serialize the dataset to a TriX string and save in file
$serializedString=
&$this->_serialize();
$handle =
fopen($fileName, 'w');
fwrite($handle, $serializedString);
* Serialize the dataset to a TriX string
'<?xml version="1.0" encoding="utf-8"?>'.
'<TriX xmlns="http://www.w3.org/2004/03/trix/trix-1/">';
//serialize defaultGraph if it is not empty
$defaultGraph=
& $this->graphSet->getDefaultGraph();
if ($defaultGraph->isEmpty()===
false)
$serializedString.=
'<graph>';
for($iterator =
$this->graphSet->findInDefaultGraph(null,null,null); $iterator->valid(); $iterator->next())
$serializedString.=
'<triple>';
$statement=
$iterator->current();
$serializedString.=
$this->_node2string($statement->getSubject());
$serializedString.=
$this->_node2string($statement->getPredicate());
$serializedString.=
$this->_node2string($statement->getObject());
$serializedString.=
'</triple>';
$serializedString.=
'</graph>';
foreach ($this->graphSet->listGraphNames() as $graphName)
$serializedString.=
'<graph>';
$serializedString.=
'<uri>'.
$graphName.
'</uri>';
for($iterator =
$this->graphSet->findInNamedGraphs(new Resource($graphName),null,null,null); $iterator->valid(); $iterator->next())
$serializedString.=
'<triple>';
$statement=
$iterator->current();
$serializedString.=
$this->_node2string($statement->getSubject());
$serializedString.=
$this->_node2string($statement->getPredicate());
$serializedString.=
$this->_node2string($statement->getObject());
$serializedString.=
'</triple>';
$serializedString.=
'</graph>';
$serializedString.=
'</TriX>';
return $serializedString;
* Serialize node to a TriX string
function _node2string($node)
case (is_a($node,'BlankNode')):
return ('<id>'.
$node->getLabel().
'</id>');
case (is_a($node,'Resource')):
return ('<uri>'.
$node->getLabel().
'</uri>');
case (is_a($node,'Literal')):
return ('<typedLiteral datatype="'.
htmlentities($node->dtype).
'">'.
$node->getLabel().
'</typedLiteral>');
return ('<plainLiteral xml:lang="'.
htmlentities($node->lang).
'">'.
$node->getLabel().
'</plainLiteral>');
return ('<plainLiteral>'.
htmlentities($node->getLabel()).
'</plainLiteral>');
Documentation generated on Fri, 1 Jun 2007 16:52:33 +0200 by phpDocumentor 1.3.2