Beispiel #1
0
 public function testTokenizeFilter()
 {
     $this->markTestIncomplete('Issue #35 not yet fixed https://github.com/AKSW/Erfurt/issues/35');
     $tokensA = array('WHERE', '{', '?a', 'p1:p', '?b', ',', '?c', '.', 'FILTER', "(", "xsd:dateTime", '(', '?a', ')', '=', 'xsd:dateTime', '(', '"', '1978-01-08T00:00:00Z', '"', ')', ')', '.', '}');
     $tokensB = array('WHERE', '{', '?a', 'p1:p', '?b', ',', '?c', '.', 'FILTER', "(", "xsd:dateTime", '(', '?a', ')', '<=', 'xsd:dateTime', '(', '"', '1978-01-08T00:00:00Z', '"', ')', ')', '.', '}');
     $queryStringA = '
         WHERE {
             ?a p1:p ?b, ?c.
             FILTER (xsd:dateTime(?a) = xsd:dateTime("1978-01-08T00:00:00Z")).
         }';
     $queryStringB = '
         WHERE {
             ?a p1:p ?b, ?c.
             FILTER (xsd:dateTime(?a) <= xsd:dateTime("1978-01-08T00:00:00Z")).
         }';
     $this->assertEquals($tokensA, Erfurt_Sparql_Parser::tokenize($queryStringA));
     $this->assertEquals($tokensB, Erfurt_Sparql_Parser::tokenize($queryStringB));
 }
Beispiel #2
0
 public function parse()
 {
     $this->_tokens = Erfurt_Sparql_Parser::tokenize($this->_expression);
     $this->setOuterFilter(true);
     $this->setTree($this->_parseConstraintTree());
     $this->_tokens = null;
 }