嘿 我想用一个邮政编码进行查询,以获得有关城市的一些信息。 但它是如何工作的?
有人可以告诉我查询的外观吗?
Greetz sheepy
答案 0 :(得分: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
答案 1 :(得分:1)
是否可能必须将FILTER包含在Where括号{}?
中SELECT * WHERE { 在一个地方:地方。 ?s geo:lat?lat。 地理位置:长?长 FILTER(?long&gt; YOUR_LONG - radius&amp;&amp;?long&lt; YOUR_LONG + radius&amp;&amp; lat&gt; YOUR_LAT - radius&amp;&amp; ?lat&lt; YOUR_LAT +半径) } 限制100