SuRF,
I'm getting an odd error when trying to execute a simple SPARQL query
string using SuRF.
Is this a bug, or am I doing something incorrectly?
Thank you for your consideration.
Regards,
Tim Lebo
bash-3.2$ python surf-sparql.py
Load RDF data
Traceback (most recent call last):
File "surf-sparql.py", line 22, in <module>
for person in
session.default_store.execute_sparql(query)['results']['bindings']:
File "/Library/Python/2.7/site-packages/SuRF-1.1.4_r352-py2.7.egg/surf/store.py",
line 200, in execute_sparql
return self.reader.execute_sparql(sparql_query, format = format)
File "/Library/Python/2.7/site-packages/surf.rdflib-1.0.0_r338-py2.7.egg/surf_rdflib/reader.py",
line 87, in execute_sparql
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/__init__.py",
line 326, in loads
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/decoder.py",
line 360, in decode
TypeError: expected string or buffer
# ========================= ========================= =========================
from surf import *
store = Store( reader='rdflib',
writer='rdflib',
rdflib_store = 'IOMemory')
session = Session(store)
print 'Load RDF data'
store.load_triples(source='
http://www.w3.org/People/Berners-Lee/card.rdf')
query = '''
prefix rdf: <
http://www.w3.org/1999/02/22-rdf-syntax-ns#>
prefix foaf: <
http://xmlns.com/foaf/0.1/>
SELECT ?p
WHERE {
?p a foaf:Person
}
'''
for person in session.default_store.execute_sparql(query)['results']['bindings']:
p = person['p']['value']
print p
# ========================= ========================= =========================