To jest stara wersja strony!
Integracja z Semantic Web
Celem laboratorium jest przetestowanie wykorzystania Prologu w aplikacjach związanych z Semantic Web.
Wprowadzenie
Semantic Web
Podstawowymi standardami Semantic Web są:
-
RDFS
pozwala na tworzenie prostych taksonomii, czyli hierarchii pojęć
rozszerza RDF o predykaty typu Class, subClassOf, Property, subPropertyOf, Resource itd.
-
daje więcej możliwości niż RDFS, umożliwia tworzenie ontologii, czyli pewnego rodzaju modelu dziedziny w postaci pojęć (classes/concepts) oraz relacji między nimi (properties/roles).
OWL jest oparty na wariancie Logiki Opisowej (Description Logic) i posiada formalną semantykę (znaczenie pojęć i relacji jest ściśle określone i pozwala na automatyczne wnioskowanie dot. np. hierarchii pojęć, instancji klas itd.)
-
Dokumenty Semantic Web mogą znajdować się w sieci w postaci plików z rozszerzeniem *.rdf, *.owl, do ich wyszukiwania służy wyszukiwarka Swoogle
Adnotacje semantyczne mogą też być dodawane do istniejących stron, za pomocą odpowiedznich standardów, np.RDFa (
zobacz przykład (aby zobaczyć adnotacje pokaż źródło strony i wyszukaj „rdf”)).
SWI-Prolog
SWI-Prolog udostępnia kilka pakietów pozwalających na pracę z Semantic Web.
Podstawowy pakiet do przetwarzania dokumentów RDF, umożliwia wczytywanie, wykonywanie zapytań oraz przechowywanie dokumentów Semantic Web oraz zawiera biblioteki XPCE do wizualizacji i edycji tych dokumentów.
Dodatkowe pakiety to:
-
-
Thea, an OWL library for SWI-Prolog - pakiet umożliwiający pracę z ontologiami zapisanymi w OWL. Umożliwia interakcję z silnikami wnioskującymi dla DL (Description Logics, formalizm , na którym oparty jest OWL).
Podstawowe moduły:
library(semweb/rdf_db.pl)
- przechowywanie i zapytania do RDF
library(rdf.pl)
- parser RDF
library(semweb/rdfs.pl)
- zapytania RDFS
library(semweb/rdf_edit.pl)
- edytowanie dokumentów Semantic Web
library(semweb/owl.pl)
- zapytania OWL
Aktualna wersja biblioteki SWI-Prolog nie zawiera modułu owl.pl.
Podstawowe wsparcie dla OWL jest częścią edytora Triple20.
Ćwiczenie:
Uruchom :
?- use_module(library(semweb/rdf_db)).
Praca z dokumentami RDF
Wczytywanie i zapisywanie plików
rdf_load(+InOrList)
- wczytanie trójek z podanego źródła
rdf_unload(+Spec)
- usunięcie trójek z podanego źródła
rdf_save(+File)
- zapis do pliku
Ćwiczenie:
Wczytaj plik RDF/XML:
?- rdf_load('sciezka_do_pliku').
Np.
?- rdf_load('wine.rdf').
?- rdf_load(['moviedatabase.rdf','earthrealm.rdf']).
?- rdf_unload('moviedatabase.rdf').
Dla Zainteresowanych
Uwagi, komentarze, propozycje