Я пытаюсь написать запрос SPARQL на dbpedia.com, чтобы найти культурные и исторические места поблизости с заданными координатами. Я нашел этот пример, который находит вещи в пределах 20 км от Нью-Йорка.
SELECT DISTINCT ?resource ?label ?location
WHERE
{
<http://dbpedia.org/resource/New_York_City> geo:geometry ?sourcegeo .
?resource geo:geometry ?location ;
rdfs:label ?label .
FILTER( bif:st_intersects( ?location, ?sourcegeo, 20 ) ) .
FILTER( lang( ?label ) = "en" )
}
Я хотел бы написать запрос, в котором будут перечислены все культурные и исторические места на основе расстояния, которое я указываю в запросе, в этом примере 20 км. Как мне это сделать?
Спасибо за ответ, но я задал не этот вопрос.
Тогда я не понимаю вопроса. Вы можете уточнить?
Добавьте в свой запрос что-нибудь вроде ?resource dct:subject/skos:broader{1,8} dbc:Tourist_attractions
.
Или попробуйте этот запрос на Викиданные. Основная проблема с вашим вопросом в том, что непонятно, что такое исторические и культурные места ...
Чтобы изменить расстояние, измените число 20 в фильтре. Чтобы изменить местоположение, измените URI dbr: New_York_City на другое местоположение с помощью geo: geometry или укажите свой собственный? Sourcegeo