У меня есть несколько вопросов, на которые я хотел бы услышать развернутые ответы ( и думаю, что многим это было бы интересно), хотелось бы ответ получить в виде конкретной инструкции: 1) Как настроить Joseki для работы? 2) Как пользоваться Joseki? Скажу сразу, что Apache Tomcat у меня уже установлен в C:\Tomcat и Java в C:\Java. Хотелось бы знать, куда “впихивать” Joseki Спасибо за внимание! Жду ответа.
jupy Хорошую задачку ты задал.
Чтобы установить Joseki нужно:
1) разорхивировать файл joseki-3.0.zip например в c:\joseki
2) прописать системную переменную JOSEKIROOT = c:\joseki
3) скопировать файл rdfserver.bat из c:\joseki\bin в c:\joseki 4) запустить его (rdfserver.bat)
5) войти браузером на http://localhost:2020/
6) если далее перейти по ссылке: «Form for SPARQL queries on a small books database», то появится форма для ввода SPARQL выражений.
mihazimin joseki.org
1. Качаем дистрибутив Joseki 2. Распаковываем архив в какую-нибудь папку (у меня — это папка D:\bin\Joseki-3.0-beta-2). 3. В корне этой папки создаем файл run.bat такого содержания:
set JOSEKIROOT=D:\bin\Joseki-3.0-beta-2 bin\rdfserver.bat pause
4. Теперь, запускаем run.bat, — запускается сервер. Закрываем консольное окно с run.bat, — закрывается сервер. 5. Итак, мы запускаем run.bat. Идем на http://localhost:2020/ Если все хорошо, то увидим не сообщение об ошибке, а вполне информативную страницу (в скаченой мной версией joseki страница называлась SPARQLer). Если не запускается, значит run.bat не сработал, — скорей всего у вас не установлена Java: попробуйте Следующее: Пуск->Выполнить…->cmd В появившемся консольном окне введите
java
Если вам напишут, что такой команды нет, значит у вас действительно не установлена java. Установите и всё заработает. 6. Итак, сервер запускается и закрывается. Теперь настроим его. Главный конфигурационный файл — это joseki-config.ttl Это в формате Turtle. (Один из N3 форматов описания RDF). Кстати, к конфигурационным файлам в формате RDF надо привыкать, потому что абсолютное большинство серверов, репозиториев и т.п. инстументов Semantic Web используют в качестве языка описания конфигурации родной и любимый RDF. Подробнее о joseki-config.ttl можно, наверное, почитать на joseki.org, а для начало попробуем использовать сервис sparql, который определен по дефолту в этом файле конфигурации. 7. На странице http://localhost:2020/sparql.html находится GUI, который позволяет формировать HTTP GET запрос к http://localhost:2020/sparql Например, если вы введете в поле запроса
SELECT ?y FROM WHERE { ?x ?y ?z }
то строка запроса будет вот такой: http://localhost:2020/sparql?query=SELECT+%3Fy%0D%0AFROM+ %3Cfile%3A%2F%2Fd%3A%2Fbin%2Fjoseki-3.0-beta-2%2FData%2Ffoaf-alice.ttl %3E%0D%0AWHERE%0D%0A%7B%0D%0A++++%3Fx+%3Fy+%3Fz%0D%0A%7D%0D%0A& default-graph-uri=&stylesheet=xml-to-html.xsl Если не указывать XSLT style sheet, то результатом будет примерно такая XML-ка:
http://xmlns.com/foaf/0.1/name http://xmlns.com/foaf/0.1/knows http://xmlns.com/foaf/0.1/name http://xmlns.com/foaf/0.1/mbox
Её уже можно парсить (xml parsing) как хотите. Т.е. главное, — это запустить сервер и сформировать строку запроса, а потом каким-либо образом получить результат своего запроса. Естественно, по протоколу HTTP можно обратиться и из браузера, и из приложения, и из какого-нибудь web-сервиса. Примерно так можно использовать joseki. Кстати, зря я раньше говорил, что она на томкате работает, перепутал вроде.
add А вот если, например, у меня файл с расширением .rdf с таким содержанием:
Иванов 1975-01-29 Петров [email protected] [email protected] И вот таким запросом: PREFIX iaa: SELECT $y WHERE { $x iaa:name $y. FILTER regex($y, «ет»,»i») } То как мне нужно настроить сервер для работы с Joseki?
add И еще, если закрыть консольное окно запуска сервера,то все перестает работать! А прри открытом все работает нормально.
mihazimin Попробуй зайти на http://localhost:2020/sparql.html
Введи свой запрос:
PREFIX iaa: SELECT $y WHERE { $x iaa:name $y . FILTER regex($y, "ет", "i") . }
И укажи URI:
file://d:/dir/my.rdf
Результат есть?
add Где именно указать?
mihazimin в поле ввода
add Вот такое пишет
HTTP ERROR: 400 Parameter error RequestURI=/sparql в чем может быть причина?
add Думал, может кодировка не нравится. Исправил.
Упростил запрос до вот такого: PREFIX iaa: SELECT $y WHERE { $x iaa:name $y } И все равно не нравится
mihazimin А какая у тебя url-строка на этой странице?
Всмысле, когда ты нажимаешь Get results, переходишь на страницу (на которой ошибка). Какой у этой страницы url? Скопируй его сюда из браузера, пожалуйста
add E:/ARQ/Work/1.rdf
add http://localhost:2020/sparql?query=PREFIX+iaa%3A+%3Chttp%3A%2F%2Fwww.andrey.ru%3E+%0D%0ASELECT+%3Fy%0D%0AWHERE%0D%0A%7B%3Fx+iaa%3Aname+%3Fy%7D%0D%0A&default-graph-uri=E%3A%2FARQ%2FWork%2F1.rdf&stylesheet=
mihazimin Судя по всему ты указал путь
E:/ARQ/Work/1.rdf
а надо
file://E:/ARQ/Work/1.rdf
Кстати, в Arq по-моему также: он может доставть файлы из file://, http:// и т.п., но просто из E:/… — не может (это, впринципе, даже логично и правильно). Только вот я не помню сколько слешей должно быть после file, вроде 2: «file://», хотя может и 4: «file:////». Заработало?
add И так попробовал и так попробовал, не хочет работать
mihazimin
SELECT ?y FROM WHERE { ?x ?y ?z }
Ну так то хоть работает?
mihazimin
SELECT ?y FROM WHERE { ?x ?y ?z }
Ну так то хоть работает? (Только в поле ввода URI ничего указывать теперь не надо)
add Спасибо, вроде заработало. Поразбираюсь, что к чему тут
add кстати, какой-то файл пришел, для сохранения, что с ним делать?
add И еще, если, например, в RDF файле есть русские буквы(например здесь: Иванов ), то будет выдаваться ошибка! Что и где нужно добавить или дописать, чтобы устранить данную ошибку?
add Причем дописка вида: не спасает