2010-12-22 77 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