gpt4 book ai didi

sparql - 如何仅从 Wikidata 属性中获取最新值?

转载 作者:行者123 更新时间:2023-12-04 11:53:26 26 4
gpt4 key购买 nike

假设我想获得每个国家 (Q6256) 及其最近记录的人类发展指数 (P1081) 值的列表。该国家/地区的人类发展指数属性包含在不同时间点获取的数据点列表,但我只关心最新数据。此查询将不起作用,因为它会为每个国家/地区获得多个结果(每个人类发展指数数据点一个):

SELECT
?country
?countryLabel
?hdi_value
?hdi_date
WHERE {
?country wdt:P31 wd:Q6256.
OPTIONAL { ?country p:P1081 ?hdi_statement.
?hdi_statement ps:P1081 ?hdi_value.
?hdi_statement pq:P585 ?hdi_date.
}
SERVICE wikibase:label { bd:serviceParam wikibase:language "en". }
}

Link to Query Console

我知道 GROUP BY/GROUP CONCAT 但是当我更喜欢只有一个结果时,它仍然会给我每一个结果。 GROUP BY/SAMPLE 也将不起作用,因为 SAMPLE 不能保证采用最新的结果。

感谢任何帮助或相关示例查询的链接!

附注我感到困惑的另一件事是为什么这个查询中的人口 P1082 每个国家只返回一个人口结果
SELECT
?country
?countryLabel
?population
WHERE {
?country wdt:P31 wd:Q6256.
OPTIONAL { ?country wdt:P1082 ?population. }
SERVICE wikibase:label { bd:serviceParam wikibase:language "en". }
}

而相同的查询但对于 HDI 会返回每个国家/地区的多个结果:
SELECT
?country
?countryLabel
?hdi
WHERE {
?country wdt:P31 wd:Q6256.
OPTIONAL { ?country wdt:P1081 ?hdi. }
SERVICE wikibase:label { bd:serviceParam wikibase:language "en". }
}

导致行为不同的人口和 HDI 有何不同?当我在 Wikidata 上查看每个国家/地区的人口数据时,我看到列出了多个人口点,但查询仅返回一个。

最佳答案

您的两个问题都是重复的,但我会尝试在现有答案中添加有趣的事实。

问题 1 SPARQL query to get only results with the most recent date 的副本.

这种技术可以解决问题:

FILTER NOT EXISTS {
?country p:P1081/pq:P585 ?hdi_date_ .
FILTER (?hdi_date_ > ?hdi_date)
}

但是,您应该在 OPTIONAL 之外添加此子句。 ,它在 OPTIONAL 内不起作用(我不确定这不是错误)。

问题 2 Some cities aren't instances of city or big city? 的副本

你不能使用 wdt-predicates,因为缺少的语句不是真的。
它们是普通级别的语句,但有一个首选级别的语句。

Truthy statements represent statements that have the best non-deprecated rank for given property. Namely, if there is a preferred statement for property P2, then only preferred statements for P2 will be considered truthy. Otherwise, all normal-rank statements are considered truthy.



原因 P1081总是有首选声明是此属性由 PreferentialBot 处理.

关于sparql - 如何仅从 Wikidata 属性中获取最新值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49066390/

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