Wpisy otagowane ‘jena’

Instalacja Joseki pod Ubuntu

piątek, 9 Październik 2009

Poniższe kroki opisują sposób instalacji Joseki -SPARQL Serwera dla Jeny pod systemem Ubuntu.

Krok 1. Wymagane oprogramowanie

  • ant
  • cvs

Jeżeli takich narzędzi nie posiadamy, wykonujemy polecenia:

 sudo apt-get install ant
 sudo apt-get install cvs

Krok 2. Pobieramy Joseki z CVS (system kontroli wersji) – obecnie v3.4

 sudo mkdir /usr/lib/joseki
 cd /usr/lib/joseki
 cvs -d:pserver:anonymous@joseki.cvs.sourceforge.net:/cvsroot/joseki login
 sudo cvs -z3 -d:pserver:anonymous@joseki.cvs.sourceforge.net:/cvsroot/joseki co Joseki3
 cd Joseki3
 sudo ant jar

Krok 3. Tworzymy aplikacje webową

Polecenia wydajemy w /usr/lib/joseki/Joseki3 .

 sudo ant war-file
 sudo cp joseki.war /usr/local/tomcat/webapps/
 sudo /etc/init.d/tomcat restart

Krok 4. Konfigurujemy Joseki

Polecenia wydajemy w /usr/lib/joseki/Joseki3 .

 sudo cp joseki-configuration.ttl /usr/local/tomcat/webapps/joseki
 sudo nano /usr/local/tomcat/webapps/joseki/WEB-INF/web.xml

W pliku web.xml zmieniamy:

to: <param-value>joseki-config.ttl</param-value>

na: <param-value>/usr/local/tomcat/webapps/joseki/joseki-config.ttl</param-value>

Krok 5. Testujemy Joseki

Polecenia wydajemy w /usr/lib/joseki/Joseki3 . W folderze Data znajdują się przykładowe zbiory danych umieszczane po starcie Joseki w pamięci RAM.

 sudo cp Data /usr/local/tomcat/webapps/joseki -R

Jeżeli wszystkie kroki wykonały się powodzeniem możemy uruchomić przeglądarkę na http://127.0.0.1:8080/joseki/query.html i wykonać kwerendy na przykładowym zbiorze danych.

Bibliografia

http://zoo-garos.zoo.ox.ac.uk/ibrg/index.php/Ubuntu_on_Skiathos

http://makeclean.iobloggo.com/343/installing-joseki-as-tomcat-web-application

Jena – triplestore

piątek, 9 Październik 2009

1. Informacje o frameworku Jena

Jena jest open-sourcowym Semantic Web framework’iem dla Javy (rozwijanym przez HP-Labs). Dostarcza API do pobierania i zapisywania grafów RDF. Grafy są representowane jako abstrakcyjny “model”. Ten model może być przechowywany w plikach, bazach danych lub uzyskiwany za pomocą URL’i. Model może być odpytywany przez SPARQL i aktualizowany przez SPARUL.
Jena standardowo dostarcza wsparcie dla OWL (Web Ontology Language). Framework posiada różne wewnętrzne systemy wnioskujące (np. Pallet) .
Jena potrafi zapisywać RDF grafy do:

  • relacyjnych baz dancyh (za pomocą SDB lub TDB )
  • RDF/XML
  • Turtle
  • Notation 3

Jena API jest najczęściej wykorzystywaną bibloteką do SW w aplikacjach Javy. W przypadku pisania aplikacji w Javie, korzysta się często z biblioteki JenaBean – pozwala ona na mapowanie obiektów Javy do RDF

2. SDB – Baza danych SPARQL dla Jeny

SDB jest komponentem dla Jeny. Pozwala on na przechowywanie grafów RDF w relacyjnych bazach danych. Obsługiwane obecnie bazy to:

  • Microsoft SQL Server 2005 including SQL Server Express
  • Oracle 10gR2 including Oracle Express
  • IBM DB2 including DB2 Express
  • PostgreSQL v8
  • MySQL 5.0 (>=5.0.22)
  • HSQLDB 1.8
  • H2 1.0.73
  • Apache Derby 10.2

W przypadku większych bardzo dużych zbiorów danych korzysta się z TDB.

3. Joseki – HTTP SPARQL endpoint dla Jeny

Joseki jest silniekiem HTTP obsługującym protokół SPARQL. Opis integracji Joseki z SDB znajduje się tutaj.

Joseki obsługuje zapytania SPARQL (do pobierania danych) jak również SPARUL (do modyfikowania danych).

SPARQL/Update pozwala na:
* Dodanie nowych triple do grafu RDF
* Usunięcie triple z grafu RDF
* Wykonaniu grupy operacji uaktualniających jako pojedynczej akcji
* Utworzenie nowego grafu RDF
* Usunięcie grafu RDF

Więcej info o SPARQL tutaj. Korzystanie z Joseki w przypadku aplikacji Ruby upraszcza biblioteka ActiveRDF.

4. Wnioskowanie

Jena posiada wsparcia dla wnioskowania, obsługuje:

  • Transitive reasoner (obsługa właściwości rdfs:subPropertyOf i rdfs:subClassOf)
  • RDFS rule reasoner (wnioskowanie na RDF Schema)
  • OWL, OWL Mini, OWL Micro Reasoners (implementacja OWL/Lite)
  • DAML micro reasoner (DAML API do wnioskowania na RDFS)
  • Generic rule reasoner (obsługa reguł użytkownika. Obsługuje strategie: forward chaining, tabled backward chaining i hybrid execution )

Informacje z dokumentacji.

5.Odnośniki

[Wiki]: http://en.wikipedia.org/wiki/Jena_%28framework%29

[Wstęp do Jeny]: http://www.ibm.com/developerworks/xml/library/j-jena/

[Wstęp do Jeny]: http://jena.sourceforge.net/tutorial/RDF_API/index.html

[Tutorial] : http://kill.devc.at/node/84