Python rdflib和SPARQL绑定支持
我正在使用BIND()函数尝试各种SPARQL查询,但这两种查询似乎都不适用于rdflib 4.0 每次我得到:Python rdflib和SPARQL绑定支持,python,bind,sparql,rdflib,Python,Bind,Sparql,Rdflib,我正在使用BIND()函数尝试各种SPARQL查询,但这两种查询似乎都不适用于rdflib 4.0 每次我得到: Traceback (most recent call last): File "<stdin>", line 1, in <module> File "~/.env/lib/python2.7/site-packages/rdflib/graph.py", line 1045, in query query_object, initBindi
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "~/.env/lib/python2.7/site-packages/rdflib/graph.py", line 1045, in query
query_object, initBindings, initNs, **kwargs))
File "~/.env/lib/python2.7/site-packages/rdfextras/sparql/processor.py", line 49, in query
loadContexts=loadContexts)
File "~/.env/lib/python2.7/site-packages/rdfextras/sparql/algebra.py", line 406, in TopEvaluate
assert isinstance(expr,AlgebraExpression), repr(expr)
有什么问题吗?我找到了问题的根源。
我用一些需要rdfextras的旧rdflib开始了这个项目。他们将rdflib升级到4.0(最终升级到4.2-dev),不再需要rdfextra。事实上,注册他们导致了这个问题。一旦我卸载了rdfextras并删除了引用它们的plugin.register条目,一切都开始顺利运行。你能显示你正在尝试的实际查询吗?这里是:CONSTRUCT{?aspectA?predicateURI?aspectLabel.}在哪里{aspectA方面:A0060?aspectType;方面:A0101?aspectLabel.BIND(IRI(CONCAT(“,?aspectType))AS?predictEuri)。}谢谢。不过,最好将代码示例和查询放在实际问题中,而不是将它们作为注释发布:在实际问题中,它们可以正确格式化,因此更易于阅读。这次我已经为您处理好了。谢谢,我刚刚注意到了这一点。我已经尝试了所有已知的方式格式化此查询,并且可以我不知道该怎么做。再次感谢。
CONSTRUCT { ?aspectA ?predicateURI ?aspectLabel. }
WHERE { ?aspectA aspects:A0060 ?aspectType;
aspects:A0101 ?aspectLabel.
BIND ( IRI( CONCAT("some.uri/raw/aspects#A";, ?aspectType) ) AS ?predicateURI ).
}