我要删除http://example.com/entity/something
rdf:type
的资源ex:sometype
。资源可能<也不是拥有?something
。如果是ex:has
?something
,我还想删除关系(但当然不是资源?something
)。
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX ex: <http://example.com/#>
DELETE WHERE {
<http://example.com/entity/something> rdf:type ex:sometype ;
ex:has ?something .
这只适用于<http://example.com/entity/something> ex:has ?something
。我尝试使用OPTIONAL{}
选择第二个statament,但它似乎不适用于DELETE WHERE
。
答案 0 :(得分:1)
可以在单个请求中提供多个操作,以&#34;;&#34;
分隔
DELETE WHERE { <http://example.com/entity/something> rdf:type ex:sometype }
;
DELETE WHERE { <http://example.com/entity/something> ex:has ?something }
第一个删除所有类型语句,第二个删除任何ex:has
语句。
通过分离它们,删除类型语句不依赖于匹配ex:has
。
使用@AKSW提供的OPTIONAL的完整DELETE表格也可以使用。