Получить координаты широты и долготы из названия местоположения с помощью dbpedia sparql - PullRequest
0 голосов
/ 12 февраля 2020

Я выполняю связывание сущностей из сценария Python из конечной точки babelfy . Когда это выполняется, у меня есть сущность с двумя, одной или отсутствующими записями в базе знаний: babe lnet и dbpedia.

Получив это, я хочу получить координаты широты и долготы юридическое лицо, которое я только что получил. Каков наилучший способ добиться этого?

Я читал некоторые варианты, и я думаю, что solid способ сделать это - выполнить Python запрос к конечной точке dbpedia sparql . Однако я совершенно новичок в SPARQL, и я не знаю, как я мог бы, дав название места или, более просто, запись объекта, получить эти координаты широты и долготы.

Например, учитывая этот реальный результат каким должен быть запрос SPARQL, чтобы получить координаты?

1 Ответ

0 голосов
/ 12 февраля 2020

Вы хотите, чтобы geo.lat и geo.long записи из записи dbpedia.

Простой sparql, чтобы получить их, будет

select ?name ?lat ?long 
where {
        ?s rdfs:label ?name.
        ?s geo:lat ?lat.
        ?s geo:long ?long.
       }

Возможно, вам придется возиться с включением соответствующие PREFIX подробности для rdfs и geo, но прочтение должно уладить это. Спецификации для geo можно найти здесь: https://www.w3.org/2003/01/geo/#vocabulary

При запуске, как указано выше, конечная точка должна сообщать обо всех объектах в dbpedia, помеченных с подробностями широты и долготы.

Если вы хотите применить фильтр к имени метки (т. Е. Выполнить поиск чего-то определенного c), это можно сделать, добавив дополнительный фильтр, например, к ?s rdfs:label "Madrid"..

Аналогично, если вы хотите выполнить запрос напрямую, используя URI объекта, просто замените ссылки на ?s в запросе указанным вами URI c или добавьте строку:

BIND (<http://dbpedia.org/resource/Madrid> AS ?s)

Чтобы задать для переменной ?s значение, заданное c, и получить сведения только об этой записи.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...