[英]SPARQL Filter not working
我在de.dbpedia上運行以下SPARQL查詢
SELECT distinct *
WHERE {
{
?name dcterms:subject category-de:Haus_Liechtenstein.
?name rdf:type foaf:Person.
Optional {?name <http://de.dbpedia.org/ontology/deathDate> ?deathDate}
MINUS {?name dbpedia-owl:deathDate ?d}
}
union{
SERVICE silent <http://dbpedia.org/sparql>{
?name dcterms:subject category-en:Princely_Family_of_Liechtenstein.
?name rdf:type foaf:Person.
Optional {?name <http://dbpedia.org/ontology/deathDate> ?deathDate}
}
MINUS {?name dbpedia-owl:deathDate ?d}
}
}
對於“ DE-Results”,MINUS過濾器可以正常工作,但是對於“ EN-Results”,我也要獲得具有deathDate的人。 誰能解釋一下為什么此過濾器不適用於這里?
看看bracketting在您的查詢:在工會的“右手邊” 負具有服務的形式,和負 ,但減去的是服務形式之外 :
union{
SERVICE silent <http://dbpedia.org/sparql>{
?name dcterms:subject category-en:Princely_Family_of_Liechtenstein.
?name rdf:type foaf:Person.
Optional {?name <http://dbpedia.org/ontology/deathDate> ?deathDate}
}
MINUS {?name dbpedia-owl:deathDate ?d}
}
也就是說,我不確定將死亡日期與以下內容綁定的意義:
Optional {?name <http://dbpedia.org/ontology/deathDate> ?deathDate}
如果您要刪除具有以下死亡日期的任何人,請執行以下操作:
MINUS {?name dbpedia-owl:deathDate ?d}
畢竟, dbpedia-owl:通常是定義為http://dbpedia.org/ontology/的前綴。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.