Using FROM on ConjunctiveGraph causes Web Access · Issue #810 · RDFLib/rdflib (original) (raw)
I want to use FROM
in a SPARQL query to select the default graph to execute the query on. But the RDFlib tries to call the graphs URI instead of resolving it in the ConjunctiveGraph.
To demonstrate this behavior, I've created an MWE:
#!/usr/bin/env python3
from rdflib import ConjunctiveGraph
data = """<urn:a> <urn:a> <urn:a> <urn:a> .
<urn:b> <urn:b> <urn:b> <urn:b> .
<urn:c> <urn:c> <urn:c> <urn:c> ."""
if __name__ == "__main__":
graph = ConjunctiveGraph()
graph.parse(data=data, format='nquads')
graph.query("SELECT * FROM <urn:a> {?s ?p ?o}")
Traceback (most recent call last):
File "…/lib/python3.5/site-packages/rdflib/plugins/sparql/sparql.py", line 266, in _load
return graph.load(source, format='nt', **kwargs)
File "…/lib/python3.5/site-packages/rdflib/graph.py", line 1050, in load
self.parse(source, publicID, format)
File "…/lib/python3.5/site-packages/rdflib/graph.py", line 1488, in parse
file=file, data=data, format=format)
File "…/lib/python3.5/site-packages/rdflib/parser.py", line 186, in create_input_source
input_source = URLInputSource(absolute_location, format)
File "…/lib/python3.5/site-packages/rdflib/parser.py", line 106, in __init__
file = urlopen(req)
File "/usr/lib/python3.5/urllib/request.py", line 163, in urlopen
return opener.open(url, data, timeout)
File "/usr/lib/python3.5/urllib/request.py", line 466, in open
response = self._open(req, data)
File "/usr/lib/python3.5/urllib/request.py", line 489, in _open
'unknown_open', req)
File "/usr/lib/python3.5/urllib/request.py", line 444, in _call_chain
result = func(*args)
File "/usr/lib/python3.5/urllib/request.py", line 1324, in unknown_open
raise URLError('unknown url type: %s' % type)
urllib.error.URLError: <urlopen error unknown url type: urn>
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "./try.py", line 12, in <module>
graph.query("SELECT * FROM <urn:a> {?s ?p ?o}")
File "…/lib/python3.5/site-packages/rdflib/graph.py", line 1089, in query
query_object, initBindings, initNs, **kwargs))
File "…/lib/python3.5/site-packages/rdflib/plugins/sparql/processor.py", line 79, in query
return evalQuery(self.graph, query, initBindings, base)
File "…/lib/python3.5/site-packages/rdflib/plugins/sparql/evaluate.py", line 464, in evalQuery
ctx.load(d.default, default=True)
File "…/lib/python3.5/site-packages/rdflib/plugins/sparql/sparql.py", line 280, in load
_load(self.graph, source)
File "…/lib/python3.5/site-packages/rdflib/plugins/sparql/sparql.py", line 270, in _load
source))
Exception: Could not load urn:a as either RDF/XML, N3 or NTriples