[SPARQL / DBPedia] сделать запрос с почтовым индексом и получить некоторую информацию о городе - PullRequest
2 голосов
/ 22 декабря 2010

Эй, Я хочу сделать запрос с почтовым индексом, чтобы получить некоторую информацию о городе. Но как это работает?

Может кто-нибудь сказать мне, как должен выглядеть запрос?

Привет, овечий

Ответы [ 2 ]

2 голосов
/ 22 декабря 2010

Я не уверен, что 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

Этот запрос получит для вас все места с их координатами. Вы можете использовать API Google MAPs, чтобы получить координаты для определенного почтового индекса, а затем расположить вокруг этого почтового индекса путем фильтрации координат в запросе 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 голос
/ 17 января 2011

Возможно ли включить ФИЛЬТР в скобки Where {}?

ВЫБРАТЬ * ГДЕ { ? на: место. ? гео: лат? лат. ? гео: долго? долго. FILTER (? Long> YOUR_LONG - радиус &&? Long YOUR_LAT - радиус &&? lat

...