sparql-запрос в java

Я пишу запрос sparql в java, чтобы выбрать все записи с определенным заголовком. Я пытаюсь с этим запросом

SELECT * WHERE { ?title rdf:type ?specific_title .}    

но это не работает. Кто-нибудь знает, в чем моя ошибка? Спасибо


person user1218282    schedule 22.02.2012    source источник
comment
Пожалуйста, уточните, что не работает. Есть ли сообщения об ошибках, трассировка стека или поведение, которые могут указывать на причину?   -  person duffymo    schedule 22.02.2012
comment
ответ сервера является основной причиной java.lang.IndexOutOfBoundsException: Index: 3, Size: 3   -  person user1218282    schedule 22.02.2012
comment
Не могли бы вы опубликовать всю трассировку стека, полученную в вашем коде или с сервера?   -  person RobV    schedule 22.02.2012
comment
Как я уже просил, пожалуйста, покажите пример реальных данных RDF, иначе вы просто заставляете нас гадать.   -  person DNA    schedule 22.02.2012
comment
Если сервер испытывает исключение IndexOutOfBoundsException при оценке вашего запроса, то это почти наверняка является ошибкой в ​​серверном программном обеспечении. Какой тройной магазин вы используете и какую версию? Возможно, вы захотите связаться с разработчиками по этому поводу, посмотреть, есть ли доступное обновление, которое исправляет это.   -  person Jeen Broekstra    schedule 22.02.2012


Ответы (2)


java.lang.IndexOutOfBoundsException: индекс: 3, размер: 3

Мне кажется, что вы пытаетесь перебрать набор результатов и запрашиваете несуществующую строку. Вы используете Джену? Если да, то это должен быть просто случай:

if (ResultSet.hasNext()) {
    ResultSet.next();
    QuerySolution nextResult = ResultSet.nextSolution();
}
person William Greenly    schedule 27.02.2012

Можете ли вы показать нам пример данных, над которыми вы выполняете этот запрос?

Вы определили префикс 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 }  
person DNA    schedule 22.02.2012
comment
?specific_title не нужно привязывать. Запрос OP (при условии правильного объявления пространств имен) синтаксически верен. - person soulcheck; 22.02.2012
comment
Драт, ты прав. Это научит меня публиковать в спешке. Я почти никогда не использую запросы SELECT *. Починю. - person DNA; 22.02.2012
comment
да, я определил префиксы rdf. у меня есть несколько записей с заголовком, именем, фамилией и т. д., и я хочу найти записи с определенным заголовком. - person user1218282; 22.02.2012
comment
Пожалуйста, покажите нам пример данных, иначе невозможно понять правильный запрос. - person DNA; 22.02.2012
comment
мои данные похожи на ваш ответ. с этим запросом я нахожу все записи. я хочу, чтобы запрос находил записи с определенным заголовком, например. заголовок, добавленный пользователем, поэтому я попытался использовать ?specific_title. - person user1218282; 22.02.2012