gpt4 book ai didi

sparql - 数据库百科/sparql : get population & lat/lng of all cities/towns/villages in UK

转载 作者:行者123 更新时间:2023-12-04 02:16:58 24 4
gpt4 key购买 nike

我在 http://dbpedia.org/sparql 输入以下查询:

PREFIX geo:  <http://www.w3.org/2003/01/geo/wgs84_pos#>
SELECT ?s ?name ?value ?lat ?lng
WHERE {
?s a <http://dbpedia.org/ontology/PopulatedPlace> .
?s <http://dbpedia.org/property/name> ?name .
?s <http://dbpedia.org/property/populationTotal> ?value .
FILTER (?lng > -8.64 AND ?lng < 2.1 AND ?lat < 61.1 AND ?lat > 49.35 )
?s geo:lat ?lat .
?s geo:long ?lng .
}

(边界框旨在用于英国,另一种选择是添加 <http://dbpedia.org/ontology/country> <http://dbpedia.org/resource/United_Kingdom> . ,但有可能某些地方可能未将英国标记为国家/地区)。

问题是它似乎并没有向后拉很多地方(大约 290)。交换 population对于 populationTotal给出了 1588 个位置,我无法(从语义上)弄清楚应该使用哪个位置。

这是对基础数据的限制,还是我制定查询的方式有待改进?

注意:这个问题现在主要是学术性的,因为我从 http://download.geonames.org/export/dump/GB.zip 获得了信息,但我更喜欢使用开放数据和语义网,所以发布这个问题看看我是否遗漏了什么,或者找出从维基百科和我能不能混进去。

最佳答案

您的查询仅返回具有 populationTotal 值的位置。例如,如果 A 镇在数据库中的 populationTotal 为“10,000”,而 B 镇为 NULL,则仅返回 A 镇。

如果要返回英国的所有位置,则需要将人口指定为可选参数。此查询将向您显示所有位置,以及拥有该数据的位置的人口。

PREFIX geo:  <http://www.w3.org/2003/01/geo/wgs84_pos#>
SELECT ?s ?name ?value ?lat ?lng
WHERE {
?s a <http://dbpedia.org/ontology/PopulatedPlace> .
?s <http://dbpedia.org/property/name> ?name .
OPTIONAL { ?s <http://dbpedia.org/property/populationTotal> ?value . }
FILTER (?lng > -8.64 AND ?lng < 2.1 AND ?lat < 61.1 AND ?lat > 49.35 )
?s geo:lat ?lat .
?s geo:long ?lng .
}

关于sparql - 数据库百科/sparql : get population & lat/lng of all cities/towns/villages in UK,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33233747/

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