嘿,我想用邮政编码进行查询,以获取有关城市的一些信息。但它是如何工作的?
有人可以告诉我查询的外观吗?
问候羊皮
我不确定 dbpedia 是否包含邮政编码数据。他们拥有的是所有可以在地理上定位的资源的地理坐标。
您可以使用类似于以下内容的查询来提取这些坐标:
PREFIX geo: <http://www.w3.org/2003/01/geo/wgs84_pos#>
PREFIX onto: <http://dbpedia.org/ontology/>
SELECT * WHERE {
?s a onto:Place .
?s geo:lat ?lat .
?s geo:long ?long .
}
LIMIT 100
此查询将为您获取所有位置及其坐标。您可以使用 Google MAPs API 获取特定邮政编码的坐标,然后通过过滤 SPARQL 查询中的坐标来获取该邮政编码周围的位置。
PREFIX geo: <http://www.w3.org/2003/01/geo/wgs84_pos#>
PREFIX onto: <http://dbpedia.org/ontology/>
SELECT * WHERE {
?s a onto:Place .
?s geo:lat ?lat .
?s geo:long ?long .
} FILTER ( ?long > YOUR_LONG - radius && ?long < YOUR_LONG + radius &&
lat > YOUR_LAT - radius && ?lat < YOUR_LAT + radius)
LIMIT 100
如果您多解释一下您的用例,我可能会提供更好的帮助。
另一个提示......你也可以使用Geonames
FILTER 是否必须包含在 Where 括号{} 中?
选择 * WHERE { ?sa 到:Place 。?s 地理:纬度?纬度。?s geo:long ?long 。FILTER ( ?long > YOUR_LONG - 半径 && ?long < YOUR_LONG + 半径 && lat > YOUR_LAT - 半径 && ?lat < YOUR_LAT + 半径) } LIMIT 100