2

嘿,我想用邮政编码进行查询,以获取有关城市的一些信息。但它是如何工作的?

有人可以告诉我查询的外观吗?

问候羊皮

4

2 回答 2

2

我不确定 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

于 2010-12-22T19:00:29.610 回答
1

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

于 2011-01-17T16:47:35.933 回答