gpt4 book ai didi

sparql - 找出缺失的属性资源

转载 作者:行者123 更新时间:2023-12-02 05:34:21 25 4
gpt4 key购买 nike

我对这个语义网非常陌生,我正在使用 Sparql 和 DBPEDIA 进行一些实验。我编写了一个查询来查找包含firstName(givenName) 和lastName(surName) 的所有记录。

PREFIX foaf: <http://xmlns.com/foaf/0.1/>
select count(DISTINCT ?x) where {
?x foaf:givenName ?y;
foaf:surname ?z.
}

当我运行此查询时,我得到了 9,80,000 条记录。但是,当我运行单独的查询(对于名字和姓氏)时,我得到了 9,92,000 条关于名字的记录和 9,80,000 条关于姓氏的记录。

这里我的问题是如何获取只有名字但没有姓氏的资源......???

最佳答案

您可以使用NOT EXISTS使用 FILTER 子句来实现此目的:

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. })
}

这会过滤掉 ?x 的匹配项,其中 NOT EXISTS 模式也匹配。

或者您可以使用 MINUS子句的作用大致相同 bar some minor differences这不会影响您的查询:

PREFIX foaf: <http://xmlns.com/foaf/0.1/>
SELECT (COUNT(DISTINCT ?x) AS ?count)
WHERE
{
?x foaf:givenName ?y .
MINUS { ?x foaf:surname ?z. }
}

关于sparql - 找出缺失的属性资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20042132/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com