Sparql

Запрос завершается с ошибкой Only one query string allowed В чем причина?

набор данных для запроса:

John Smith Smith John Becky Smith Smith Rebecca Sarah Jones Jones Sarah Matt Jones

запрос вида:

PREFIX vCard: SELECT $y $x WHERE { $x vCard:FN $y. FILTER regex($y, «Jo», «i») }

mihazimin В аське ты мне сказал, что используешь ARQ так:

Заводишь q.bat: set ARQROOT=L:\JENA____\ARQ-1.5.1\ bat\sparql.bat —data file:///%1 —query file:///%2 text —results %3 и вызываешь его так: L:\JENA____\ARQ-1.5.1\OUT\1.rdf L:\JENA____\ARQ-1.5.1\OUT\1.rq L:\JENA____\ARQ-1.5.1\OUT\1.txt Ошибка не в sparql-запросе, и не в arq, а как-раз в этом bat-файле. Перепиши его вот так: set ARQROOT=L:\JENA____\ARQ-1.5.1\ bat\sparql.bat —data file:///%1 —query file:///%2 —results text > %3 После —query должно идти имя файла с запросом, после —results — формат результата (в нашем случае — text), а > %3 — это классическая конструкция, которая перекочевала в cmd из доса. Означает перенаправление потока вывода в файл (по умолчанию, — вывод идет в консоль). Т.е. вывод в bat\sparql.bat всегда идет в стандартный поток вывода, а мы его перенаправляем в файл средствами командной строки.

Crider Да это моя невнимательность. В статье все правильно.

Crider В рез-те запроса выдается ошибка: Illegal URI: file:///L:\JENA____\ARQ-1.5.1\OUT\1.rdf

Запрос (из CMD Windows):

q.bat L:\JENA____\ARQ-1.5.1\OUT\1.rdf L:\JENA____\ARQ-1.5.1\OUT\1.rq L:\JENA____\ARQ-1.5.1\OUT\1.txt

Содержание q.bat

set ARQROOT=L:\JENA____\ARQ-1.5.1\ bat\sparql.bat —data file:///%1 —query file:///%2 —results text > %3

Решение:

Ошибка в вызове Q.bat f именно в слэшах q.bat L:\JENA____\ARQ-1.5.1\OUT\1.rdf L:\JENA____\ARQ-1.5.1\OUT\1.rq L:\JENA____\ARQ-1.5.1\OUT\1.txt Первые два аргумента предаются непосредственно в ARC а поэтому должны иди с прямыми / (UNIX-омвыми) слэшами, а последний относится к Window-озному CMD поэтому должен быть обратным \. Т.е. правильный вызов: q.bat L:/JENA____/ARQ-1.5.1/OUT/1.rdf L:/JENA____/ARQ-1.5.1/OUT/1.rq L:\JENA____\ARQ-1.5.1\OUT\1.txt Поэтому надо следить если копируешь и вставляешь пути в windows.