2012-07-12 96 views
2

我想刪除與標籤中包含某些字符的對象相關的所有語句。我正在使用查詢: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。你能指點我的解決方案嗎?非常感謝。

回答

4

試試這個。它適用於我插入和刪除

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