|
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.
|