Установка и настройка Joseki

У меня есть несколько вопросов, на которые я хотел бы услышать развернутые ответы ( и думаю, что многим это было бы интересно), хотелось бы ответ получить в виде конкретной инструкции: 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 Причем дописка вида: не спасает