Sparql查询删除所有语句

时间:2012-07-12 16:12:06

标签: sparql

我想删除与包含标签中某些字符的对象相关的所有语句。我正在使用查询:

DELETE
{?term ?p ?o}
WHERE
{
?term rdfs:label ?label.
FILTER(regex(?label, "xx", "i"))
?term ?p ?o.
}

但是,此查询似乎无法删除包含此语句主题的所有语句作为对象。然后我似乎需要另一个查询。

DELETE
{?s ?p ?term}
WHERE
{
?term rdfs:label ?label.
FILTER(regex(?label, "xx", "i"))
?s ?p ?term.
}

SELECT *似乎不适用于DELETE,我也尝试在DELETE中建模UNION但没有成功。你能指点我的解决方案吗?非常感谢。

1 个答案:

答案 0 :(得分:4)

试试这个。它对我来说都适用于插入和删除

DELETE
{?term ?p ?o}
WHERE
{
 SELECT ?term ?p ?o
 WHERE{
   ?term rdfs:label ?label.
   FILTER(regex(?label, "xx", "i"))
 }
}