我正在向我的本地 blazegraph 发出 DELETE REST 调用: http://localhost:9999/blazegraph/namespace/GraphInfo
与身体:
PREFIX rsabox:<http:\/\/ibm.com\/ResultSetABox#>
PREFIX rstbox:<http:\/\/ibm.com\/ResultSetTBox#>
CONSTRUCT {
?result ?pred ?obj .
?resultSet rstbox:hasResult ?result .
} WHERE {
SELECT ?result ?pred ?obj ?resultSet
WHERE {
?result rdf:type rstbox:queryResult .
?resultSet rstbox:hasResult ?result .
?resultSet rdf:type rstbox:resultSet .
?resultSet rstbox:setID ?setID .
FILTER (?setID = 1) .
?result ?pred ?obj .
FILTER (?pred NOT IN (
owl:topObjectProperty,
rstbox:topObjectProperty,
rstbox:hasRefInst,
rstbox:resultOf,
rdf:type
)
)
}
}
但结果是删除了整个命名空间,而不仅仅是构造中的主语、谓语、宾语条目。
blazegraph 的响应是:“已删除:GraphInfo”
也许我从这里没有正确理解 REST API:https ://wiki.blazegraph.com/wiki/index.php/REST_API#DELETE
基本上,我通过发布我现在想要从图表(命名空间)中删除的文本/乌龟创建了一组结果。我应该发布(而不是删除)相同的查询,而不是 CONSTRUCT,使用 DELETE?
另外,我需要过滤器还是应该删除所有包含推断关系的内容(例如,仅使用 ?result ?pred ?obj )