|
From: <cw...@us...> - 2007-06-21 14:08:50
|
Revision: 461
http://rdfapi-php.svn.sourceforge.net/rdfapi-php/?rev=461&view=rev
Author: cweiske
Date: 2007-06-21 07:08:44 -0700 (Thu, 21 Jun 2007)
Log Message:
-----------
Parser is finally parsing ldap2sparql-nested^2 sparql queries of death
Modified Paths:
--------------
trunk/rdfapi-php/api/sparql/GraphPattern.php
trunk/rdfapi-php/api/sparql/SparqlParser.php
Modified: trunk/rdfapi-php/api/sparql/GraphPattern.php
===================================================================
--- trunk/rdfapi-php/api/sparql/GraphPattern.php 2007-06-21 12:28:11 UTC (rev 460)
+++ trunk/rdfapi-php/api/sparql/GraphPattern.php 2007-06-21 14:08:44 UTC (rev 461)
@@ -142,7 +142,7 @@
}
/**
- * Sets the List of QueryTriples to the GraphPattern.
+ * Adds List of QueryTriples to the GraphPattern.
*
* @param array $trpP
* @return void
Modified: trunk/rdfapi-php/api/sparql/SparqlParser.php
===================================================================
--- trunk/rdfapi-php/api/sparql/SparqlParser.php 2007-06-21 12:28:11 UTC (rev 460)
+++ trunk/rdfapi-php/api/sparql/SparqlParser.php 2007-06-21 14:08:44 UTC (rev 461)
@@ -569,6 +569,8 @@
}
if (is_int($subpattern)) {
$pattern->setSubpatternOf($subpattern);
+ } else {
+ $subpattern = $pattern->getId();
}
if ($graph != false) {
$pattern->setGraphname($graph);
@@ -630,7 +632,7 @@
*/
protected function parseTriplePattern(&$pattern)
{
- $trp = Array();
+ $trp = array();
$prev = false;
$prevPred = false;
$cont = true;
@@ -655,6 +657,12 @@
$this->parseGraphPattern($pattern->getId(),false);
$cont = false;
break;
+ case "union":
+ $this->_fastForward();
+ $this->parseGraphPattern(
+ false, $this->tmp, false, false, false, $pattern->getId()
+ );
+ break;
case ";":
$prev = true;
$this->_fastForward();
@@ -732,7 +740,7 @@
} while ($cont);
if (count($trp) > 0) {
- $pattern->setTriplePatterns($trp);
+ $pattern->addTriplePatterns($trp);
}
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|