Web Ontology Language OWL
RDF emlékeztető Nagyon egyszerű ontológialeíró nyelv Erőforrások közötti kapcsolatrendszer leírására Jelentés a kapcsolatrendszerből ered (szemantika)
RDF kiterjesztése - RDFS Bizonyos erőforrások jelentése rögzítve Eddig: Ezután: Még mindig elég egyszerű ontológianyelv Fogalom- és szerephierarchia építhető pqlfrt xyz pqlfrt alosztálya
Komplex nyelvi elemek Leíró logikákkal több minden kifejezhető Egy DL nyelvhez többféle szintaxis Hangsúly a jelentésen, nem a szintaxison OWL nyelv tekinthető egy konkrét szintaxisának
Miért pont ilyen lett a világháló ontológia nyelve? Ugyanaz motiválta, mint az RDF-et –XML alapú –Weben kényelmesen elhelyezhető –Jelenlegi webes keresők támogatják az XML dokumentumok feldolgozását –Adatcsere formátum alkalmazások között DL háttér biztosítja a következtetést
Mi az OWL? Egy OWL dokumentum egy érvényes RDF leírás OWL bevezet egy erőforrás halmazt és rögzíti a jelentését Ugyanúgy, mint az RDFS
syntax-ns# syntax-ns# </owl:Class> </owl:ObjectProperty> <owl:Class> </owl:Class><owl:Restriction> </owl:Restriction></owl:interectionOf></owl:Class></rdf:RDF>
OWL résznyelvei OWL Full –Minden RDF konstrukció használható –Nem ágyazható semmilyen DL nyelvbe –Probléma: magasabbrendű kijelentések OWL DL –Közvetlenül fordítható DL-re -> SHOIN(D) –Erőforrásoknak meghatározott típusa van: Egyed, konkrét érték, osztály, konkrét osztály, absztrakt tulajdonság, konkrét tulajdonság
OWL résznyelvei OWL Lite –Leegyszerűsített OWL DL –Megfelel a SHIF(D) nyelvnek –Átmenet az RDFS és az OWL DL között –Nagyon hatékony következtetés
OWL osztályok Elnevezett osztály Enumerációs osztály Tulajdonságkorlátozásos osztály Metszet osztály Unió osztály Komplementer osztály
OWL osztályok Elnevezett osztály –DL: atomi fogalom –2 beépített elnevezett osztály: owl:Thing owl:Nothing
OWL osztályok Enumerációs osztály –DL: nominálisok uniója –Nem megengedett OWL Lite-ban <owl:Class> …</owl:oneof></owl:Class>
OWL osztályok Tulajdonságkorlátozásos osztály –Értékkorlátozás –Számosságkorlátozás <owl:Restriction> {korlátozás} </owl:Restriction>
OWL osztályok Tulajdonságkorlátozás: értékkorlátozás –DL: ( R.C), ( R.C), ( R.{a}) <owl:Restriction> </owl:Restriction>
OWL osztályok Tulajdonságkorlátozás: számosságkorlátozás –DL: (n R), (n R), (=n R) <owl:Restriction> 3</owl:minCardinality> 50</owl:maxCardinality></owl:Restriction>
OWL osztályok Metszet osztály <owl:Class> </owl:intersectionOf></owl:Class>
OWL osztályok Unió osztály <owl:Class> <owl:Restriction> Barna Barna </owl:Restriction></owl:unionOf></owl:Class>
OWL osztályok Komplementer osztály <owl:Class><owl:complementOf> </owl:complementOf></owl:Class>
OWL axiómák Fogalomtartalmazási axiómák –rdfs:subClassOf Fogalomazonossági axiómák –owl:equivalentClass Diszjunkció –owl:disjointWith
Fogalomtartalmazási axiómák 3 </owl:Class>
Fogalomazonossági axiómák <owl:equivalentClass><owl:Class> </owl:Class></owl:equivalentClass></owl:Class>
Diszjunkció </owl:Class>
OWL szerepek Nincsenek szerepkonstruktorok Kijelenthetjük, hogy egy szerep létezik
Szerepállítások RDF séma lehetőségek </owl:ObjectProperty> </owl:ObjectProperty>
Szerepállítások Szerepazonosság, inverz szerepek </owl:ObjectProperty>
Szerepállítások Funkcionális, inverz funkcionális szerep </owl:ObjectProperty>
Szerepállítások Tranzitivitás, szimmetria </owl:ObjectProperty>
OWL egyedek Nincs UNA Fontos, hogy egyedekről kijelenthessük, hogy –azonosak –különbözőek
OWL egyedek Egyedek azonossága </rdf:Description>
OWL egyedek Egyedek különbözősége </t:Film>
OWL egyedek Egyedek különbözősége <owl:AllDifferent> </owl:distinctMembers></owl:Alldifferent>
OWL 2 - újdonságok Szinaktikus édesítőszerek Nyelvi kiterjesztés – SROIQ(D) Kiterjesztett konkrét adattípusok Metamodellezés
Szintaktikus édesítőszerek DisjointUnion diszjunkt unióból előálló osztály DisjointClasses megadott osztályok diszjunktak NegativeObjectPropertyAssertion -gyereke(a,b) NegativeDataPropertyAssertion -mérete(a,42)
Nyelvi kiterjesztés: SROIQ(D) Önkorlátozás –R.Self Minősített számosságkorlátozás –n R.C, n R.C, =n R.C Reflexív szerep –x R(x,x) Irreflexív szerep –x -R(x,x) Antiszimmetrikus szerep –x,y R(x,y) -R(y,x)
Nyelvi kiterjesztés: SROIQ(D) Diszjunkt szerepek –R(x,y) -S(x,y) Komplex szerephierarchia –R 1 R 2 …R n R Kulcsok –hasKey(Diák, neptunkódja) Minden diákot azonosít a neptun kódja. –hasKey(Verseny, sportága, ideje, helye) Minden versenyt azonosít a sportág, idő, hely hármas.
Kiterjesztett konkrét adattípusok OWL-ben csak integer és string adattípusok támogatottak OWL 2-ben új adattípusok (pl. double, float, decimal) OWL 2-ben lehetőség van felhasználói adattípusok definiálására, pl: –{18-nál nagyobb egészek} –{18-nál kisebb, vagy 32-nél nagyobb egészek} –{legalább 3 hosszú stringek}
Metamodellezés OWL-ben az erőforrásoknak jól meghatározott típusa van OWL 2-ben egy erőforrás lehet egyszer egyed, egyszer osztály –Sas: sasok halmaza –Sas: egyed, mely egy fajt azonosít Konkrét egyedek és osztályok, valamint tulajdonságok továbbra is csak egy szerepben fordulhatnak elő
Példa Adottak az Ember és Robot fogalmak, melyek részei a Lények fogalomnak. Az Ember fogalmon belül létezik egy Kimek nevû részfogalom. Definiáltak továbbá a következő szerepek: gyűlöli, felettese és ismeri. Tudjuk, hogy ember nem lehet robot felettese, valamint egy robot nem gyűlöl senkit. Azt is tudjuk, hogy mindenki ismeri a feletteseit és viszont, továbbá mindenki ismeri azt, akit gyűlöl. Zsarnoknak nevezünk egy embert, ha ő kimek, legalább két nem kimek-ember gyűlöli őt, valamint van robot felettese.
Adottak az Ember és Robot fogalmak, melyek részei a Lények fogalomnak. Az Ember fogalmon belül létezik egy Kimek nevû részfogalom. </owl:Class> </owl:Class> </owl:Class>
Definiáltak továbbá a következő szerepek: gyűlöli, felettese és ismeri.
Tudjuk, hogy ember nem lehet robot felettese,… </owl:onProperty> </owl:Description>
…valamint egy robot nem gyűlöl senkit. </owl:Description>
Azt is tudjuk, hogy mindenki ismeri a feletteseit és viszont, továbbá mindenki ismeri azt, akit gyűlöl. </owl:ObjectProperty> </owl:ObjectProperty> </owl:ObjectProperty>
Zsarnoknak nevezünk egy embert, ha ő kimek, legalább két nem kimek-ember gyűlöli őt, valamint van robot felettese. 2</owl:minQualifiedCardinality> </owl:Class>