gjhiggins/rdflib — Issue #3: construct() fails
Author: gjhiggins
Created: 2011-10-19 00:32:00+00:00
State: open

Originally filed by stefan.p...@mbnet.fi on 2007-11-27T10:59:23

What steps will reproduce the problem?
The following code fails:
graph=SPARQLGraph(Graph())
graph.parse('test.rdf')

where = GraphPattern([("?x",URIRef('http://xmlns.com/foaf/0.1/name'),"?name")])
constructPattern =
GraphPattern([(URIRef("http://example.org/person#Alice"),URIRef('http://www.w3.org/2001/vcard-rdf/3.0#FN'),"?name")])
resultObject = Query.queryObject(graph,where)
result = resultObject.construct(constructPattern)

What is the expected output? What do you see instead?
Expected output: No error

Actual output:
Traceback (most recent call last):
File "sparqlinfer.py", line 44, in ?
infer('test.rdf','rules.txt')
File "sparqlinfer.py", line 40, in infer
r=q.construct()
File "/var/lib/python-support/python2.4/rdflib/sparql/Query.py", line
799, in construct
subgraph = SPARQLGraph()
TypeError: __init__() takes at least 2 arguments (1 given)

What version of the product are you using? On what operating system?
Version 2.4.0, Debian "lenny"

Please provide any additional information below.
Changing line 799 in
/var/lib/python-support/python2.4/rdflib/sparql/Query.py to "subgraph =
SPARQLGraph(rdflib.Graph.Graph())" fixes the problem.