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”我也得到了死亡日期的人。谁能解释一下为什么这个过滤器不适用于此?
答案 0 :(得分:1)
查看查询中的括号:&#34;右侧&#34;中的减号; 联盟的形式为服务,减去,但减号 em> 服务表单:
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/ 。