ローカルのブレイズグラフに 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 からの応答は「DELETED: GraphInfo」です。
おそらく、ここから REST API を正しく理解していない: https://wiki.blazegraph.com/wiki/index.php/REST_API#DELETE
基本的に、グラフ (名前空間) から削除したいテキスト/タートルを投稿して、一連の結果を作成しました。同じクエリを (DELETE ではなく) POST する必要がありますが、CONSTRUCT ではなく DELETE を使用しますか?
また、フィルターが必要ですか、それとも推論された関係を含むすべてのものを削除する必要がありますか (たとえば、 ?result ?pred ?obj を使用するだけです)。