2010-12-22 61 views

回答

1

难道possbile滤镜已被纳入其中括号{}?

SELECT * WHERE { ?s a to:Place。 ?s地理位置:lat?lat。 ?s地理:long?long。 FILTER(长> YOUR_LONG - ?半径& &长< YOUR_LONG +半径& & LAT> YOUR_LAT - 半径& & LAT < YOUR_LAT +半径) } LIMIT 100

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

+0

哦,谢谢:) – 2010-12-22 23:38:34

相关问题