Adatbázisok MSc 12. téma Ontológia és SPARQL
GEIAL Kovács László
Igény az automatikus tudáskezelése Az adat és tudáskezelés szintjei
adatok
RDBMS
összesítő adatok
OLAP
domain leírása
XML
következtetések
Datalog
tudás kontexus ismerete
???
GEIAL Kovács László
1
Ontológia fogalma - Ontológia egy témakör megosztott és szabványos alakban megadott fogalmi rendszere - Ontológia egy formális nyelven megadott definíciók, szabályok együttese a jelentés megadására. Különböző szintjei: Szemantikai modellek
- szótárak - adatbázis séma - fogalmi séma - tezaurusz - taxonomia - fogalmi hálók - formális ontológia
fogalmak kapcsolatok logika integritás nyelvészet
GEIAL Kovács László
Ontológia fogalma
adatkezelés
tudás menedzsment
tudás mérnökség
tudás reprezentáció
GEIAL Kovács László
2
Ontológia séma (Berners Lee)
GEIAL Kovács László
Ontológia kiépítése dokumentumok nyelvi elemek adatok metaadatok kapcsolatok szabályok következtetések GEIAL Kovács László
3
Ontológia alkalmazása: szemantikus WEB A web következő generációja ágens alapú lesz (Semantic Web) , amely lehetővé teszi, hogy a fennlévő információkat egy szoftver automatikusan értelmezni tudja. A Semantic Web egy terv, melynek lényege, hogy a háló elemei úgy vannak megadva, hogy a gépi feldolgozást és értelmezést lehetővé tegyék.
GEIAL Kovács László
Ontológia alkalmazása: szemantikus WEB
Semantic Web and Beyond
Creators
Users Semantic Web content
Semantic Annotations
Ontologies
Logical Support
Languages
Tools
Applications / Services
Semantic Web
WWW and Beyond
Creators
Users Web content
GEIAL Kovács László
4
Ontológia alkalmazása: szemantikus WEB
GEIAL Kovács László
Ontológia leiró nyelvek RDF: Resource Description Framework RDF célja: - univerzális ismeret leírás - automatikus feldolgozás támogatása - tények és kapcsolatok megadása - rugalmasság, bővíthetőség RDF reprezentációk: - gráf - formális - XML RDF hiányossága: - logika - következtetés - integritás
< #Lassila, Creator, Ora Lassila>
<s:Creator>Ora Lassila
GEIAL Kovács László
5
RDF nyelv A nyelv épitő elemei
Erőforrás (resource)
objektumok azonosítása, URI formátumú http://iit.uni-miskolc.hu/~kovacs/rdf_konyv
Tulajdonság (property)
erőforrások jellemzői, maguk is erőforrások http://konyvek/szerzője
Literál
konstans Bevezetés az XML-be
Állítás (statement)
Kapcsolattal megadott információatom <#Peter, #olvas, Bevezetes az XML-be>
GEIAL Kovács László
RDF nyelv Az álltások értelmezése Minden álltás egy hármassal írható le szubjektum:
amiről állítunk valamit erőforrás
predikátum:
kapcsolat megadása tulajdonság
objektum:
kapcsolat értéke erőforrás vagy literál
<#Peter, #olvas, Bevezetes az XML-be> <#Peter, #baratja, #Zoli> GEIAL Kovács László
6
RDF nyelv Az elemi állításokból háló építhető fel Erőforrás: Tulajdonság: Zoli
Literál:
baratja Peter olvas
<#Peter, #olvas, Bevezetes az XML-be> <#Peter, #baratja, #Zoli>
Bevezetes az XML-be
GEIAL Kovács László
RDF nyelv Köztes erőforrások nem rendelkeznek saját URI-val, ideiglenes jellegűek Zoli
neve kora
23
baratja Peter
Összetett értékek kezelése: - Multi-halmaz - Lista - Opciok
GEIAL Kovács László
7
RDF nyelv Magasabb rendű kijelentések A kijelentés objektuma egy másik kijelentés
statement
type subject
Zoli predicate
tudja Peter
inni
object vodka
GEIAL Kovács László
RDF XML nyelv Állítások formátuma keret állítás
<s:olvassa>Bevezetes az XML-be predikátum
objektum
szubjektum
Literál objektum esete GEIAL Kovács László
8
RDF XML nyelv Állítások formátuma keret állítás
szubjektum
<s:baratja rdf:resource="http://www.w3.org/Zoli" /> predikátum
objektum
Erőforrás objektum esete GEIAL Kovács László
RDF XML nyelv Állítások formátuma
<s:baratja rdf:resource="http://www.w3.org/Zoli" <s:telefonja>243535
/>
Új erőforrás létrehozása és hivatkozása
GEIAL Kovács László
9
RDF XML nyelv Köztes erőforrások A tulajdonság értékét resource-re állítjuk át
<s:baratja rdf:parseType="Resource"> <s:nev rdf:resource=“#Zoli” /> <s:kor>23
GEIAL Kovács László
RDF XML nyelv Érték kollekciók használata
<s:diakok> ….
GEIAL Kovács László
10
RDF XML nyelv Magasabb rendű állítások
<s:allitja rdf:parseType="Resource"> 23
GEIAL Kovács László
Ontologia =
Fogalmak
+
kapcsolatok
Taxonomia
+
Szabályok, integritás
ontologia
+
Példányok
taxonomia
=
=
ontologia tudásbázis
Ontológia elemei: Classes + class-hierarchy Properties (Slots) / values Relations between classes (inheritance, disjoints, equivalents) Restrictions on properties (type, cardinality) Characteristics of properties (transitive, …) Annotations Individuals GEIAL Kovács László
11
OWL ontologia leíró nyelv
GEIAL Kovács László
SPARQL Simple Protocol and RDF Query Language A ontológia, RDF alapú tudásbázisok lekérdező, kezelő nyelve SQL orientáltság PREFIX dc:
PREFIX ns:
SELECT ?title ?price WHERE { ?x ns:price ?price . FILTER (?price < 10) . ?x dc:title ?title . } GEIAL Kovács László
12
SPARQL Változók: nevesített: ?x név nélküli: _ Állítások (hármasok): összevonás:
a b c. a b c, d, e.
a b c. a b d. a b e.
a b c; j d; s e.
a b c. a j d. a s e.
Lekérdezés: PREFIX pdef SELECT vlista WHERE { alista FILTER kif } ORDER BY kif GEIAL Kovács László
SPARQL A lekérdezés eredménye a szabad változók egy halamza PREFIX person: PREFIX foaf: SELECT ?name WHERE { ?x foaf:name ?name } Az értékekre szűrés tehető (FILTER) … SELECT ?book ?title WHERE { ?book dc:title ?title . ?book inv:price ?price . FILTER ( ?price < 15 ) ?book inv:quantity ?num . FILTER ( ?num > 0 ) } GEIAL Kovács László
13
SPARQL Opcionálisan teljesülő feltételek, értékek megjelenítése PREFIX foaf: SELECT ?name ?nick WHERE { ?x foaf:name ?name . OPTIONAL {?x foaf:nick ?nick } }
-----------------------| name | nick | ================ | "Alice" | "A-online" | | "Bob„ | | ------------------------
Megoldások egyesítése (diszjunkció) PREFIX dc10: PREFIX dc11: SELECT DISTINCT ?title { { ?book dc10:title ?title } UNION { ?book dc11:title ?title } } GEIAL Kovács László
SPARQL Feltételek összevonása SELECT ?state ?city WHERE { ?cityR city:name ?city ; uscity:state ?stateR . ?stateR state:name ?state } Eredmény rendezése SELECT ?book ?title WHERE { ?book dc:title ?title . ?book inv:price ?price . FILTER ( ?price < 15 ) ?book inv:quantity ?num . FILTER ( ?num > 0 ) } ORDER BY ?title GEIAL Kovács László
14
SPARQL Egyediség megkövetelése az eredményben SELECT DISTINCT ?state ?city WHERE { ?cityR city:name ?city ; uscity:state ?stateR . ?stateR state:name ?state } A SPARQL tartalmaz DML funciokat is DELETE { ?state population _ } WHERE { ?cityR city:name ?city ; uscity:state ?stateR . ?stateR state:name ?state } GEIAL Kovács László
Protégé keretrendszer
GEIAL Kovács László
15
Protégé minta
GEIAL Kovács László
Protégé minta
GEIAL Kovács László
16
Protégé minta
GEIAL Kovács László
17