[英]Error in using sparql DELETE query using rdflib python
我正在尝试使用python的rdflib库从RDF图中删除三元组,但没有成功。 我的查询是从http://www.w3.org/TR/sparql11-update/#delete中学到的。
plugin.register(
'sparql', rdflib.query.Processor,
'rdfextras.sparql.processor', 'Processor')
plugin.register(
'sparql', rdflib.query.Result,
'rdfextras.sparql.query', 'SPARQLQueryResult')
bdel= graph.query("""
PREFIX bibo: <http://purl.org/ontology/bibo/>
DELETE {?s ?p ?o}
WHERE {
?s bibo:reproducedIn ?o.
}""")
它给出以下错误,任何解决此问题的线索。 提前致谢。
pyparsing.ParseException: Expected "SELECT" (at char 116), (line:4, col:17)
如上所述,您似乎正在尝试使用graph.query
,它确实只希望使用SPARQL查询的“ SELECT”版本。 为了运行此处定义的任何SPARQL更新,您将需要使用graph.processUpdate()
代替。 以您的示例为例:
processUpdate(graph, """
PREFIX bibo: <http://purl.org/ontology/bibo/>
DELETE {?s ?p ?o}
WHERE {
?s bibo:reproducedIn ?o.
}""")
希望这可以帮助!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.