From: <cw...@us...> - 2007-08-13 17:52:01
|
Revision: 520 http://rdfapi-php.svn.sourceforge.net/rdfapi-php/?rev=520&view=rev Author: cweiske Date: 2007-08-13 10:51:59 -0700 (Mon, 13 Aug 2007) Log Message: ----------- Squash another bug in nesting code Modified Paths: -------------- trunk/rdfapi-php/api/syntax/N3Serializer.php trunk/rdfapi-php/test/unit/Syntax/n3Serializer_test.php Modified: trunk/rdfapi-php/api/syntax/N3Serializer.php =================================================================== --- trunk/rdfapi-php/api/syntax/N3Serializer.php 2007-08-13 17:26:48 UTC (rev 519) +++ trunk/rdfapi-php/api/syntax/N3Serializer.php 2007-08-13 17:51:59 UTC (rev 520) @@ -369,7 +369,7 @@ if (is_a($r, 'Resource')) { if (is_a($r, 'BlankNode')) { - //test, if this blanknode is referenced somewhere + //test if this blanknode is referenced somewhere $rbn = $this->model->find(null, null, $r); $compress = (N3SER_BNODE_SHORT || $this->styleCompress) && ( @@ -449,7 +449,9 @@ print 'Doing object: '.$o->getURI().LINEFEED; } if (is_a($o, 'BlankNode')) { - if ($this->styleNest) { + if ($this->styleNest && $this->styleCompress + && !isset($this->done[$o->getURI()]) + ) { $this->doResource($o, true, $strIndent . ' '); $out .= MAGIC_STRING . $o->getURI() . MAGIC_STRING; //$out .= $this->resourcetext[$o->getURI()]; Modified: trunk/rdfapi-php/test/unit/Syntax/n3Serializer_test.php =================================================================== --- trunk/rdfapi-php/test/unit/Syntax/n3Serializer_test.php 2007-08-13 17:26:48 UTC (rev 519) +++ trunk/rdfapi-php/test/unit/Syntax/n3Serializer_test.php 2007-08-13 17:51:59 UTC (rev 520) @@ -277,6 +277,67 @@ + function testNestSimple() + { + $mod = new MemModel(); + $b3 = new BlankNode($mod); + $mod->add(new Statement( + new Resource('http://example.org/foo'), + new Resource("http://example.org/bar2"), + $b3 + )); + $mod->add(new Statement( + $b3, + new Resource("http://example.org/bar2"), + new Literal('hohoho') + )); + + $ser = new N3Serializer(); + $ser->setCompress(true); + $ser->setNest(true); + $str = $ser->serialize($mod); + + //test if it can be loaded + $par = new N3Parser(); + $mod2 = $par->parse2model($str, false); + //var_dump($str, $mod2->triples); + + $this->compareModelsIgnoringBlankNodes($mod, $mod2); + } + + + + function testNestSimpleBlankStart() + { + $mod = new MemModel(); + $b1 = new BlankNode($mod); + $b3 = new BlankNode($mod); + $mod->add(new Statement( + $b1, + new Resource("http://example.org/bar2"), + $b3 + )); + $mod->add(new Statement( + $b3, + new Resource("http://example.org/bar2"), + new Literal('hohoho') + )); + + $ser = new N3Serializer(); + $ser->setCompress(true); + $ser->setNest(true); + $str = $ser->serialize($mod); + + //test if it can be loaded + $par = new N3Parser(); + $mod2 = $par->parse2model($str, false); + //var_dump($str);//, $mod2->triples); + + $this->compareModelsIgnoringBlankNodes($mod, $mod2); + } + + + function testNest() {return; $mod = new MemModel(); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |