2010-12-22 3 views

답변

1

그것이 필터에 포함되어야한다는 possbile있는 경우 괄호 {}?

SELECT * WHERE { ? s a : Place. ? s geo : lat? lat. ? s geo : long? long. FILTER (긴> YOUR_LONG? -? 반경 & & 긴 < YOUR_LONG + 반경 & & 위도> YOUR_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지도 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

오 감사합니다 :) –

관련 문제