Я пишу запрос sparql в java, чтобы выбрать все записи с определенным заголовком. Я пытаюсь с этим запросом
SELECT * WHERE { ?title rdf:type ?specific_title .}
но это не работает. Кто-нибудь знает, в чем моя ошибка? Спасибо
Я пишу запрос sparql в java, чтобы выбрать все записи с определенным заголовком. Я пытаюсь с этим запросом
SELECT * WHERE { ?title rdf:type ?specific_title .}
но это не работает. Кто-нибудь знает, в чем моя ошибка? Спасибо
java.lang.IndexOutOfBoundsException: индекс: 3, размер: 3
Мне кажется, что вы пытаетесь перебрать набор результатов и запрашиваете несуществующую строку. Вы используете Джену? Если да, то это должен быть просто случай:
if (ResultSet.hasNext()) {
ResultSet.next();
QuerySolution nextResult = ResultSet.nextSolution();
}
Можете ли вы показать нам пример данных, над которыми вы выполняете этот запрос?
Вы определили префикс rdf
(пространство имен) в начале вашего запроса.
Также обратите внимание, что значение свойства rdf:type
должно быть rdfs:Class
, представленным его URI, например.
PREFIX rdf: http://www.w3.org/1999/02/22-rdf-syntax-ns#
PREFIX ex: http://www.example.com#
SELECT ?x WHERE { ?x rdf:type ex:ExampleClass }
?specific_title
не нужно привязывать. Запрос OP (при условии правильного объявления пространств имен) синтаксически верен.
- person soulcheck; 22.02.2012