Проблема с выбором SPARQL-запроса на dbpedia - PullRequest
3 голосов
/ 10 июня 2009

Я пытаюсь получить некоторые данные о городе, используя запрос Sparql на DBpedia. Проблема в том, что я не могу заставить запрос работать.

В настоящее время я делаю что-то вроде этого:

SELECT ?title,?name,?abs WHERE {
  ?title skos:subject 
    <http://dbpedia.org/resource/Category:Cities%2C_towns_and_villages_in_Slovenia>.
  ?title dbpprop:officialName ?name.
  ?title dbpprop:abstract ?abs 
}

Я получаю все города, деревни из Словении со всеми данными. Проблема в том, что я хотел бы получить данные (officialName и / или abstract) только для одного города, например Любляны. Поэтому я попробовал кое-что как это:

SELECT ?name WHERE {
  ?name dbpprop:officialName 
    <http://dbpedia.org/resource/Ljubljana>.
}

Конечно, это не работает. Хотя я точно не знаю почему :), но я немного экспериментировал и заметил некоторые вещи, например, если я поставлю

?name skos:subject <http://dbpedia.org/resource/Category:Ljubljana>.

Я получаю некоторые результаты (которые не относятся ко мне, но все равно), но если я поставлю

?name skos:subject <http://dbpedia.org/resource/Ljubljana>.

ничего не найдено, хотя элемент skos: subject существует на странице http://dbpedia.org/resource/Ljubljana.

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

Спасибо, Ablak

Спасибо

1 Ответ

4 голосов
/ 10 июня 2009

Вы хотите запросить <http://dbpedia.org/resource/Ljubljana> как субъект, а не объект; это заменит вашу привязку ?title в запросе SPARQL, например:

SELECT ?name, ?abs WHERE {
   <http://dbpedia.org/resource/Ljubljana>
     skos:subject <http://dbpedia.org/resource/Category:Cities%2C_towns_and_villages_in_Slovenia> ;
     dbpprop:officialName ?name ;
     dbpprop:abstract ?abs .
}

Вот почему ваш график совпадения ?name skos:subject <http://dbpedia.org/resource/Ljubljana> не возвращает ожидаемых результатов; URI для Любляны должен быть тем оператором, который вы хотите сопоставить.

...