Sparql 查找缺少的属性资源
我对这个语义网非常陌生,我正在用Sparql和DBPEDIA做一些实验。我写了一个查询来找出所有有名字(givenName)和姓氏(lastName)的记录Sparql 查找缺少的属性资源,sparql,dbpedia,Sparql,Dbpedia,我对这个语义网非常陌生,我正在用Sparql和DBPEDIA做一些实验。我写了一个查询来找出所有有名字(givenName)和姓氏(lastName)的记录 前缀foaf: 选择计数(不同?x),其中{ x foaf:givename?y; 姓?z。 } 当我运行这个查询时,我得到了98000条记录。但是当我运行单独的查询(对于firstName和lastName)时,我得到了firstName的992000条记录和lastName的98000条记录 这里我的问题是如何获得只有firstNam
前缀foaf:
选择计数(不同?x),其中{
x foaf:givename?y;
姓?z。
}
当我运行这个查询时,我得到了98000条记录。但是当我运行单独的查询(对于firstName和lastName)时,我得到了firstName的992000条记录和lastName的98000条记录
这里我的问题是如何获得只有firstName而没有lastName的资源…?您可以使用带有过滤器的子句来实现这一点:
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
SELECT (COUNT(DISTINCT ?x) AS ?count)
WHERE
{
?x foaf:givenName ?y .
FILTER(NOT EXISTS { ?x foaf:surname ?z. })
}
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
SELECT (COUNT(DISTINCT ?x) AS ?count)
WHERE
{
?x foaf:givenName ?y .
FILTER(NOT EXISTS { ?x foaf:surname ?z. })
}
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
SELECT (COUNT(DISTINCT ?x) AS ?count)
WHERE
{
?x foaf:givenName ?y .
MINUS { ?x foaf:surname ?z. }
}