检索对 属性 没有价值的主题?

Retrieve subjects with no value for a property?

我正在使用此查询从属于 "Haus Liechtenstein" 的 German DBpedia SPARQL endpoint 中获取姓名列表:

select ?name where {
  ?name dcterms:subject category-de:Haus_Liechtenstein
}

我只想要名单上还活着的人。有一个 属性 dbo:deathDate 用于死者。如果 没有 dbo:deathDate 的值,我如何将结果限制为个人?

How can I filter this list for people WITHOUT the Property "dbo:deathDate"?

您使用 filter 只保留那些 不存在 形式为 ?name dbpedia 的三元组-owl:deathDate ?something:

select ?name where {
  ?name dcterms:subject category-de:Haus_Liechtenstein
  filter not exists { 
    ?name dbpedia-owl:deathDate ?deathDate
  }
}

SPARQL results

谢谢约书亚,这对我帮助很大!我们还可以使用:

SELECT ?name
   WHERE {
     ?name dcterms:subject category-de:Haus_Liechtenstein.
     MINUS {?name dbpedia-owl:deathDate ?d}
         }