Как искать RDF с помощью Sparql с помощью Java? - PullRequest
0 голосов
/ 30 августа 2011

Я делаю проект в семантической сети, где я использую SPARQL для запроса данных в формате rdf.Я использовал java в netbeans, и моя проблема в том, что моя программа запускается, вводит файл rdf и запрос выполняется, но область WHERE моего запроса не считается .(т.е.) я получаю пустую таблицу в качестве вывода

Можете ли вы сказать мне какие-либо предложения по синтаксису SPARQL в JAVA , чтобы получить все имя, номер телефона из файла rdf

1 Ответ

1 голос
/ 31 августа 2011

"ГДЕ область моего запроса не рассматривается. (Т.е.) я получаю пустую таблицу как вывод"

Я сомневаюсь, что пункт WHERE не рассматривается. Пустая таблица предлагает а) у вас нет данных или б) в вашем запросе нет совпадений.

Получение всех имен и номеров телефонов зависит от используемого словаря, но наиболее распространенным на данный момент является foaf :

PREFIX foaf: <http://xmlns.com/foaf/0.1/>
SELECT ?name, ?number
WHERE
{
    ?person foaf:name ?name .
    ?person foaf:phone ?number .
}

Нам нужна дополнительная информация, поэтому вот несколько общих советов:

  1. Попробуйте SELECT * WHERE { ?s ?p ?o }. Это дает результаты? Если нет, попробуйте ...
  2. Попробуйте SELECT * WHERE { graph ?g { ?s ?p ?o } }. Это дает результаты?

Если ни один из них не работает, у вас могут быть проблемы с вашими данными. Если результат получен только вторым, вы проверяете, что запрашиваете графики.

Это даст вам хорошее представление о том, что вы загрузили в любом случае. Если все выглядит хорошо:

  1. Удалите элемент из вашего WHERE предложения.
  2. Если вы все еще не получили результатов, переходите к 1.
  3. Если вы получили результаты, вы обнаружили проблему с вашим запросом.

Вы также можете попробовать заменить термины переменными. Работа таким образом может помочь отследить, какие элементы вызывают сбой запроса.

...