Both sides previous revision
Poprzednia wersja
Nowa wersja
|
Poprzednia wersja
|
pl:prolog:prolog_lab:prolog_lab_semweb [2009/05/20 02:43] ikaf semweb lab - part7triple |
pl:prolog:prolog_lab:prolog_lab_semweb [2019/06/27 15:50] (aktualna) |
Uruchom : | Uruchom : |
<code prolog> | <code prolog> |
?- use_module(library(semweb/rdf_db)). | ?- use_module(library('semweb/rdf_db')). |
</code> | </code> |
| |
| |
==== Klasy, role, instancje ==== | ==== Klasy, role, instancje ==== |
Ontologie typowo składają się z klas, ról/własności (properties, predicates) i instancji (instances, individuals). | Ontologie typowo składają się z //klas//, //ról/własności// (properties, predicates) i //instancji// (instances, individuals). |
| |
W RDFS: | W RDFS: |
* **instancje** klasy C to zasoby, których własność ''rdf:type'' ma wartość C | * **instancje** klasy C to zasoby, których własność ''rdf:type'' ma wartość C |
* zasób może być instancją więcej niż jednej klasy | * zasób może być instancją więcej niż jednej klasy |
* własności są instancjami klasy ''rdfs:Property'' | * **własności** są instancjami klasy ''rdfs:Property'' |
* istnieją dwie ważne własności: ''rdfs:domain'' do określania dziedziny danej własności, oraz ''rdfs:range'' do określania przeciwdziedziny (klasa lub typ danych) | * istnieją dwie ważne własności: ''rdfs:domain'' do określania dziedziny danej własności, oraz ''rdfs:range'' do określania przeciwdziedziny (klasa lub typ danych) |
| |
| |
==== Tworzenie ontologii ==== | ==== Tworzenie ontologii ==== |
Proszę stworzyć prostą ontologię opartą na [[https://ai.ia.agh.edu.pl/wiki/hekate:semweb:dl_intro#history_and_background|diagramie]]. | Proszę stworzyć prostą ontologię opartą na [[https://ai.ia.agh.edu.pl/wiki/hekate:dl_intro#history_and_background|diagramie]]. |
| |
Uwaga: W węzłach grafu znajdują się nazwy klas i instancji. | Uwaga: W węzłach grafu znajdują się nazwy klas i instancji. |
| |
W miarę czasu i możliwości proszę poeksperymentować z tworzeniem i edycją ontologii, a także przeglądnąć przykładowe ontologie "bazowe", takie jak FOAF, SKOS itd. | W miarę czasu i możliwości proszę poeksperymentować z tworzeniem i edycją ontologii, a także przeglądnąć przykładowe ontologie "bazowe", takie jak FOAF, SKOS itd. |
| |
| |
| ==== Wizualizacja grafów RDF ==== |
| |
| Na podstawie [[https://ai.ia.agh.edu.pl/wiki/pl:prolog:prolog_lab:prolog_lab_system#tematgraphviz_i_imagemagick|ćwiczenia z Lab. Metaprogramowanie]] oraz przykładu poniżej, napisz program, który stworzy graf RDF na podstawie wczytanego pliku RDF/XML. |
| |
| Przykład pliku dla graphViza: |
| |
| <code> |
| digraph D{ |
| Fred -> person [label = "is an instance of" ]; |
| Fred -> Tibbs [label = "has pet" ]; |
| Tibbs -> cat [label = "is an instance of" ]; |
| cat -> animal [label = "is an" ]; |
| person -> animal [ label= "is an" ]; |
| man -> adult [label = "is an" ]; |
| man -> male [label ="is a" ]; |
| man -> person [label = "is a" ]; |
| cat_liker -> person [label = "is a" ]; |
| cat_liker -> cat [label = "likes" ]; |
| vegetarian -> animal [label = "is an" ]; |
| vegetarian -> animal [label = "doesn't eat"]; |
| cow -> vegetarian [label = "is a" ]; |
| sheep -> animal [label = "is an" ]; |
| sheep -> grass [label = "eats only" ]; |
| } |
| </code> |
| |
===== Dla Zainteresowanych ===== | ===== Dla Zainteresowanych ===== |
--- //[[gjn@agh.edu.pl|Grzegorz J. Nalepa]] 2009/05/06 09:13// | --- //[[gjn@agh.edu.pl|Grzegorz J. Nalepa]] 2009/05/06 09:13// |
| |
| Za mało przykładów (przydałby się np. do punktu Zaawansowane wyszukiwanie). Nie za bardzo wiadomo jak ma działać obsługa przestrzeni nazw (gdzie to można zastosować). |
| |
| --- //[[szymek@adres.pl|Szymon Świerkosz]]// |