我正在开发一个使用耶拿三重存储的服务器。服务器是用Python开发的,我正在使用SPARQLWrapper库来处理要执行的不同操作。我在查询存储(选择操作)和创建三元组(插入数据操作)方面没有问题。删除操作有点棘手。我正在尝试执行:
q=
'PREFIX pref:<url>
DELETE {?s ?p ?o}
WHERE {
?s a pref:class.
}'
在网址上 /update。我收到操作正常(HTTP 代码 200)的响应,但三元组仍在我的商店中(通过 SELECT 操作检查)。
wrapper = SPARQLWrapper(<my_url>/update)
wrapper.setMethod('DELETE')
wrapper.query(q)
我尝试了不同的HTTP动词(POST,DELETE),看看这是否可以有所作为,但没有任何变化。
我也在使用 --update 选项运行 fuseki 服务器。
你需要定义变量?p和?o
例如:
DELETE {?s ?p ?o}
WHERE {
?s ?p ?o .
?s a prefix:class
}
另请参阅此处