3

以下 sparql 查询将给出死者。

select distinct ?item{
?item <http://freebase.com/ns/common/topic/notable_types> <http://freebase.com/ns/people/person> .
?item <http://freebase.com/ns/people/deceased_person/date_of_death> ?y .
}

我想得到所有活着的人。如何用 SPARQL 语法表达这一点?它更像是问,给我所有没有特定边缘的节点。在 SPARQL 中有可能吗?

提前致谢。任何帮助表示赞赏。

4

2 回答 2

3

在 SPARQL 1.1 中

SELECT DISTINCT ?item {
    ?item <http://freebase.com/ns/common/topic/notable_types> <http://freebase.com/ns/people/person> .
    FILTER NOT EXISTS { ?item <http://freebase.com/ns/people/deceased_person/date_of_death> ?y}
}
于 2012-12-16T14:02:25.340 回答
2

当然。您可以使用这种结构:

SELECT DISTINCT ?item {
    ?item <http://freebase.com/ns/common/topic/notable_types> <http://freebase.com/ns/people/person> .
    OPTIONAL {?item <http://freebase.com/ns/people/deceased_person/date_of_death> ?y}
    FILTER (!BOUND(?y))
}
于 2012-12-15T19:53:33.387 回答