(首先,我很抱歉,因为这是一个公然的交叉帖子。我想开放数据.SE会是这个地方,但它几乎没有任何意见,它似乎不是一个非常活跃的网站,所以我想我应该在这里尝试一下,因为它与编程有关。)
我想得到世界上主要城市的名单:它们的名称、人口和位置。我在Wikidata上找到了一个很好的查询,稍微调整了一下他们的一个内置查询示例:
SELECT DISTINCT ?cityLabel ?population ?gps WHERE {
?city (wdt:P31/wdt:P279*) wd:Q515.
?city wdt:P1082 ?population.
?city wdt:P625 ?gps.
FILTER (?population >= 500000) .
SERVICE wikibase:label { bd:serviceParam wikibase:language "en". }
}
ORDER BY DESC(?population)
乍一看,结果似乎不错,但却少了很多重要城市。例如,旧金山(人口80万以上)和西雅图(人口65万以上)不在名单中,当时我特别要求所有人口超过50万的城市。
我的询问有什么问题吗?如果没有,那么Wikidata使用的数据肯定有问题。不管怎样,我怎样才能获得一个有效的数据集,并且有一个可以从Python脚本查询的API?(我已经让脚本为之工作;我只是没有返回有效的数据。)
^{pr2}$
西雅图的人口根本不在这个数据库中。在
如果执行:
你得不到任何结果。尽管实例
wd:Q5083
(settle)存在,但它没有谓词wdt:P1082
(population)。在相关问题 更多 >
编程相关推荐