RDFLib/rdflib — Issue #19: RDF parser blows up on SPARQL Example 8.3.3
Author: gjhiggins
Created: 2012-02-20 08:30:35+00:00
State: closed

bob.macg...@gmail.com, 2008-03-05T07:18:59.000Z

What steps will reproduce the problem?
1. Set up any Graph at all.
2. Call Graph.query on the SPARQL query below, taken from section 8.3.3. of
the SPARQL spec.
3.

What is the expected output? What do you see instead? I see this:
rdflib INFO: version: 2.4.0
Traceback (most recent call last):
File
"/Users/bmacgregor/Documents/eclipse-python/hinote/src/hinotesite/flex/test.py",
line 122, in
elif switch == 5: test4()
File
"/Users/bmacgregor/Documents/eclipse-python/hinote/src/hinotesite/flex/test.py",
line 79, in test4
graph.query(query)
File
"/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/rdflib-2.4.0-py2.5-macosx-10.3-fat.egg/rdflib/Graph.py",
line 679, in query
File
"/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/rdflib-2.4.0-py2.5-macosx-10.3-fat.egg/rdflib/sparql/bison/Processor.py",
line 28, in query
File
"/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/rdflib-2.4.0-py2.5-macosx-10.3-fat.egg/rdflib/sparql/bison/Processor.py",
line 18, in Parse
SyntaxError: parse error at line 5, column 1: reached end-of-input,
expecting 'RIGHT_CURLY'

What version of the product are you using? On what operating system?
version: 2.4.0 on Mac OS X

Please provide any additional information below.

PREFIX data:
PREFIX foaf:
PREFIX rdfs:

SELECT ?mbox ?nick ?ppd
FROM NAMED
FROM NAMED
WHERE
{
GRAPH data:aliceFoaf
{
?alice foaf:mbox ;
foaf:knows ?whom .
?whom foaf:mbox ?mbox ;
rdfs:seeAlso ?ppd .
?ppd a foaf:PersonalProfileDocument .
} .
GRAPH ?ppd
{
?w foaf:mbox ?mbox ;
foaf:nick ?nick
}
}

Comment 1 by bob.macg...@gmail.com
My bad. The above query was rejected, but not by the parser.
However, the following query works for SPARQLER, but is rejected
by the parser.

if __name__ == '__main__':
from rdflib import URIRef, plugin, store
from rdflib.Graph import Graph
mystore = plugin.get('IOMemory', store.Store)()
graph = Graph(mystore, URIRef("http://foo#bar"))
query = """
select ?s ?o ?c
where {graph ?c {?s ?o} . filter (?s = ) }
"""
graph.query(query)

Comment 2 by eik...@gmail.com

Comment 3 by eik...@gmail.com

Comment 4 by eik...@gmail.com
These issues involve bits that have been moved out of rdflib proper for now. We will re-open them
or move them to rdfextas as appropriate.