簡體   English   中英

SPARQL過濾器不起作用

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM