尝试使用RDFlib运行SPARQL查询时的isinstance断言

2024-04-25 07:50:22 发布

您现在位置:Python中文网/ 问答频道 /正文

我正试图使用Python库RDFlib执行SPARQL查询,但出现了一个错误。这个错误似乎在SPARQL中,但是我已经验证了它,并且它是有效的。你知道吗

>>> import rdflib
>>> import rdfextras
>>> rdfextras.registerplugins()
>>> g=rdflib.Graph()
>>> g.parse("/home/file.rdf")
>>> sparql = "PREFIX wo:<http://purl.org/ontology/wo/> PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> select ?individual ?type where { ?individual rdf:type ?type . filter (?type in (wo:Kingdom))}"
>>> x = g.query(sparql)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib/python2.7/site-packages/rdflib-3.4.0-py2.7.egg/rdflib/graph.py", line 1007, in query
    query_object, initBindings, initNs, **kwargs))
  File "/usr/lib/python2.7/site-packages/rdfextras-0.4-py2.7.egg/rdfextras/sparql/processor.py", line 49, in query
    loadContexts=loadContexts)
  File "/usr/lib/python2.7/site-packages/rdfextras-0.4-py2.7.egg/rdfextras/sparql/algebra.py", line 406, in TopEvaluate
    assert isinstance(expr,AlgebraExpression), repr(expr)
AssertionError: None
>>>

是什么导致了这个问题?你知道吗


Tags: inegglibpackagesusrtypelinesite