RDF a gyakorlatban
Filozófiai jelentés lételméletlet Mérnöki jelentés Ontológia sokféle meghatároz rozás sokszor egymásnak ellentmondó
Ontológia mérnöki jelentés(ek) Dolgok és s kapcsolataik pontos, formális leírása Olyan fogalmi modell, mely absztrakt és leegyszerűsített képe k egy világnak Egy fogalmi rendszer konszenzuson alapuló,, explit, részletesr leírása. Egy adott tárgytert rgyterülethez tartozó fogalmak explit, formális spefiká ója
Példák k ontológi giákra Yahoo: taxonómia honlapok kategorizálására ra Amazon: termékek és s tulajdonságaik kategorizálása Orvostudomány: hatalmas, strukturált szótárak (SNOWMED) WordNet: általános célúc fogalomtár r az angol nyelvhez
Miért készk szítü ontológi giákat? 1. Az informá ó strukturájáról l való tudás megosztása sa Az egyik leggyakoribb ok Pl. sok honlap szól l orvosi eszközökr kről ugyanazt a mögöttes m ontológi giát t használj lják Computer ágensek informá ót t tudnak kinyerni és össze tudják k rakni
Miért készk szítü ontológi giákat? 2. Tudás újrafelhasználásasa Ugyanazon dolgok (fogalmak, egyedek) fontosak lehetnek más m s csoportoknak is Nagy, általános ontológia összerakható már elkész szült apróbb ontológi giákból Általános ontológia kiegész szíthető a saját tárgyterület leírására ra
Miért készk szítü ontológi giákat? 3. A tárgytert rgyterület feltételez telezéseinek explitté tételetele Új j felhasználók k könnyebben k tanulnak Könnyű megváltoztatni Nincs belekódolva a programba, az is változtathat, aki nem tud programozni
Miért készk szítü ontológi giákat? 4. A tárgytert rgyterületre és s a végrehaj grehajtásra vonatkozó tudás s szé álasztásasa Készítü egy ontológi giát t PC komponensekről. Készítü egy algoritmust, mely ez alapján eladásra kész k PC-ket rak össze. Az algoritmus lifteket is össze tud rakni, ha lecserélj ljük k a PC komponens ontológi giát t lift komponens ontológi giára.
Miért készk szítü ontológi giákat? 5. Tágyterület tudás s analizálása Hibák, ellentmondások felderítése Újrafelhasználás ábbfejleszt bbfejlesztés
Miért készk szítü ontológi giákat? 6. Ontológi giákat általában nem önmagukért készítjük Különféle problémamegold mamegoldó módszerek, tárgyterület független f alakalmazások, program ágensek használnak ontológi giákat.
RDF használata a keresés támogatására Milyen formátum tum? Hol érik el a keresők k az RDF leírást? RDF források lekérdez rdezése Következtetési feladatok
XML RDF források formátuma Már úgyis elterjedt a weben Keresők k fel vannak készk szülve az RDF leírások szintaktikai elemzésére
RDF források elhelyezése Metainformá ó logikai elhelyezése Bárhol lehet bármi b vagy csak az adott forrásr sról Keresőknek mindegy, ők k a sok pi RDF gráfot összekapcsolják URI-k segíts tségével Fizikai elhelyezés Honlapba ágyazva vagy honlaphoz csatolva? Nincs általánosan elfogadott válaszv
RDF forrás s HTML oldalba ágyazva Szemléletes letes és s kényelmes: k metainformá ó közel az informá óhoz Böngésző megjelenít metaadatokat is
RDF forrás s HTML oldalba ágyazva: RDFa RDF leírás s attribútumok tumok segíts tségével Közvetlenül l a honlapon megjelenő elemek köré tesszük k a metainformá ót Nem kell kétszer k leírni ugyanazt XHTML kompatibilis Keresők k már m r támogatjt mogatják!
RDFa egy egyszerű honlap
RDFa RDFa forr forrásk skód < http://www.w3.org/1999/ http://www.w3.org/1999/ http://www.w3.org/1999/ http://www.w3.org/1999/ http://www.w3.org/1999/ http://www.w3.org/1999/ http://www.w3.org/1999/ http://www.w3.org/1999/x x x x x x x x" : http://www.w3.org/20/12/ http://www.w3.org/20/12/ http://www.w3.org/20/12/ http://www.w3.org/20/12/ http://www.w3.org/20/12/ http://www.w3.org/20/12/ http://www.w3.org/20/12/ http://www.w3.org/20/12/ / : http://www.w3.org/2001/ http://www.w3.org/2001/ http://www.w3.org/2001/ http://www.w3.org/2001/ http://www.w3.org/2001/ http://www.w3.org/2001/ http://www.w3.org/2001/ http://www.w3.org/2001/ # # # # # # # # #event1" #event1" #event1" #event1" #event1" #event1" #event1" #event1" : : H H H H H H H Hé é álb>: lb>: lb>: lb>: lb>: lb>: lb>: lb>: < : " : - -25 25 25 25 25 25 25 25 > -től < : " : - -28 28 28 28 28 28 28 28 > -........ > á á ó a < : Balaton Balaton Balaton Balaton Balaton Balaton Balaton Balaton >ról égü : " http:// http:// http:// http:// http:// http:// http:// http:// /balatoni honlapj /balatoni honlapj /balatoni honlapj /balatoni honlapj /balatoni honlapj /balatoni honlapj /balatoni honlapj /balatoni honlapjána>. na>. na>. na>. na>. na>. na>. na>. p> p> p> p> p> p> p> p> body> body> body> body> body> body> body> body> >
RDFa RDFa séma inform ma informá ó < http://www.w3.org/1999/ http://www.w3.org/1999/ http://www.w3.org/1999/ http://www.w3.org/1999/ http://www.w3.org/1999/ http://www.w3.org/1999/ http://www.w3.org/1999/ http://www.w3.org/1999/x x x x x x x x" : http://www.w3.org/20/12/ http://www.w3.org/20/12/ http://www.w3.org/20/12/ http://www.w3.org/20/12/ http://www.w3.org/20/12/ http://www.w3.org/20/12/ http://www.w3.org/20/12/ http://www.w3.org/20/12/ / : http://www.w3.org/2001/ http://www.w3.org/2001/ http://www.w3.org/2001/ http://www.w3.org/2001/ http://www.w3.org/2001/ http://www.w3.org/2001/ http://www.w3.org/2001/ http://www.w3.org/2001/ # # # # # # # # #event1" #event1" #event1" #event1" #event1" #event1" #event1" #event1" : : H H H H H H H Hé é álb>: lb>: lb>: lb>: lb>: lb>: lb>: lb>: < : " : - -25 25 25 25 25 25 25 25 > -től < : " : - -28 28 28 28 28 28 28 28 > -........ > á á ó a < : Balaton Balaton Balaton Balaton Balaton Balaton Balaton Balaton >ról égü : " http:// http:// http:// http:// http:// http:// http:// http:// /balatoni honlapj /balatoni honlapj /balatoni honlapj /balatoni honlapj /balatoni honlapj /balatoni honlapj /balatoni honlapj /balatoni honlapjána>. na>. na>. na>. na>. na>. na>. na>. p> p> p> p> p> p> p> p> body> body> body> body> body> body> body> body> >
RDFa RDFa amit az olvas amit az olvasó lát < http://www.w3.org/1999/ http://www.w3.org/1999/ http://www.w3.org/1999/ http://www.w3.org/1999/ http://www.w3.org/1999/ http://www.w3.org/1999/ http://www.w3.org/1999/ http://www.w3.org/1999/x x x x x x x x" : http://www.w3.org/20/12/ http://www.w3.org/20/12/ http://www.w3.org/20/12/ http://www.w3.org/20/12/ http://www.w3.org/20/12/ http://www.w3.org/20/12/ http://www.w3.org/20/12/ http://www.w3.org/20/12/ / : http://www.w3.org/2001/ http://www.w3.org/2001/ http://www.w3.org/2001/ http://www.w3.org/2001/ http://www.w3.org/2001/ http://www.w3.org/2001/ http://www.w3.org/2001/ http://www.w3.org/2001/ # # # # # # # # #event1" #event1" #event1" #event1" #event1" #event1" #event1" #event1" : : Hé é álb> b> b> b> b> b> b> b>: < : " : - -25 25 25 25 25 25 25 25 > -től < : " : - -28 28 28 28 28 28 28 28 > -. > á á ó a < : Balaton Balaton Balaton Balaton Balaton Balaton Balaton Balaton >ról égü : " http:// http:// http:// http:// http:// http:// http:// http:// / / / / / / / /balatoni honlapj balatoni honlapj balatoni honlapj balatoni honlapj balatoni honlapj balatoni honlapj balatoni honlapj balatoni honlapjána> a> a> a> a> a> a> a>. p> p> p> p> p> p> p> p> body> body> body> body> body> body> body> body> >
RDFa RDFa amit az RDF elemz amit az RDF elemző lát < http://www.w3.org/1999/ http://www.w3.org/1999/ http://www.w3.org/1999/ http://www.w3.org/1999/ http://www.w3.org/1999/ http://www.w3.org/1999/ http://www.w3.org/1999/ http://www.w3.org/1999/x x x x x x x x" : http://www.w3.org/20/12/ http://www.w3.org/20/12/ http://www.w3.org/20/12/ http://www.w3.org/20/12/ http://www.w3.org/20/12/ http://www.w3.org/20/12/ http://www.w3.org/20/12/ http://www.w3.org/20/12/ / : http://www.w3.org/2001/ http://www.w3.org/2001/ http://www.w3.org/2001/ http://www.w3.org/2001/ http://www.w3.org/2001/ http://www.w3.org/2001/ http://www.w3.org/2001/ http://www.w3.org/2001/ # # # # # # # # #event1 #event1 #event1 #event1 #event1 #event1 #event1 #event1" : : Hé é álb>: b>: b>: b>: b>: b>: b>: b>: < : " : - -25 25 25 25 25 25 25 25 > -től < : " : - -28 28 28 28 28 28 28 28 > -........ > á á ó a < : Balaton Balaton Balaton Balaton Balaton Balaton Balaton Balaton >ról égü : " http:// http:// http:// http:// http:// http:// http:// http:// /balatoni honlapj balatoni honlapj balatoni honlapj balatoni honlapj balatoni honlapj balatoni honlapj balatoni honlapj balatoni honlapjána>. na>. na>. na>. na>. na>. na>. na>. p> p> p> p> p> p> p> p> body> body> body> body> body> body> body> body> >
RDFa RDFa amit mindketten l amit mindketten látnak tnak < http://www.w3.org/1999/ http://www.w3.org/1999/ http://www.w3.org/1999/ http://www.w3.org/1999/ http://www.w3.org/1999/ http://www.w3.org/1999/ http://www.w3.org/1999/ http://www.w3.org/1999/x x x x x x x x" : http://www.w3.org/20/12/ http://www.w3.org/20/12/ http://www.w3.org/20/12/ http://www.w3.org/20/12/ http://www.w3.org/20/12/ http://www.w3.org/20/12/ http://www.w3.org/20/12/ http://www.w3.org/20/12/ / : http://www.w3.org/2001/ http://www.w3.org/2001/ http://www.w3.org/2001/ http://www.w3.org/2001/ http://www.w3.org/2001/ http://www.w3.org/2001/ http://www.w3.org/2001/ http://www.w3.org/2001/ # # # # # # # # #event1" #event1" #event1" #event1" #event1" #event1" #event1" #event1" : : Hé é álb>: b>: b>: b>: b>: b>: b>: b>: < : " : - -25 25 25 25 25 25 25 25 > -től < : " : - -28 28 28 28 28 28 28 28 > -........ > á á ó a < : Balaton Balaton Balaton Balaton Balaton Balaton Balaton Balaton >ról égü : " http:// http:// http:// http:// http:// http:// http:// http:// /balatoni honlapj balatoni honlapj balatoni honlapj balatoni honlapj balatoni honlapj balatoni honlapj balatoni honlapj balatoni honlapjána>. na>. na>. na>. na>. na>. na>. na>. p> p> p> p> p> p> p> p> body> body> body> body> body> body> body> body> >
RDFa amit az RDF elmező tud #event1 isa : #event1 : Hé éál #event1 : - -25 25 ^^ ^^: #event1 : - -28 28 ^^ ^^: #event1 : Balaton Balaton #event1 : http:// ttp:// /
RDF adatok külön k állományban Li mutat a honlapról l a metaadatokra <head> <title>a világ g legjobb honlapjatitle> <li = meta meta type= application/ application/rdf+xml rdf+xml = metaadatok.rdf metaadatok.rdf /> head>
RDF adatok külön k állományban Kényelmesen szé álik az informá ó és s a metainformá ó Háttértudás s leírására ra kényelmesk Ha nem oldal az adatforrás, akkor csak ez van Modellezés s független f az elhelyezést stől!
RDF lekérdez rdezők Azért van RDF leírásu, hogy kérdk rdéseket tudju feltenni Kik a gazdagok? Kik Ádám m tesérei? Milyen kapcsolat van Ádám és Éva között? k Válaszként az RDF leírás s megfelelő részét szeretné visszakapni
XML alapú lekérdez rdezők Többnyire úgyis XML alakban jelenik meg a leírás túlságosan elérési úonal orientáltak: azt fogalmazzuk meg, hogy milyen úton jutu el a kérdk rdéses elemhez az XML fában RDF gráfhoz sokféle XML alak tartozik, melyek logikailag ekvivalensek
XML dokumentum lekérdez rdezése Az XQuery nyelv Fuonális nyelv Útkifejezésekkel kiegész szített általános programozási nyelv Az útkifejezések csomópontokat azonosítanak az XML fábanf Elemet (gyerekeivel együtt) Attribútumot tumot
XQuery útkifejezések 1. <AAA> 2. <XXX> 3. <DDD> 4. <BBB/> 5. <BBB id= b1 b1 /> 6. <FFF id= f1 f1 /> 7. DDD> 8. XXX> 9. <CCC> 10. <DDD name= d1 d1 > 11. <BBB/> 12. <BBB/> 13. <FFF/> 14. DDD> 15. CCC> 16. AAA> /AAA 1 Abszolút út /AAA/CCC/DDD 10 //BBB 4, 5, 11, 12 Az összes BBB elem //CCC/DDD/BBB 11, 12 //AAA/CCC/DDD/* 11, 12, 13 Jokeem //* minden elem /AAA/XXX/DDD/BBB[1] 4 Csak az első találat lat //BBB[last BBB[last()] 5, 12 Elemcsoportoént nt az utolsó //@id 5, 6 attribútumokat tumokat választ //*[@name] 10 //*[@id= b1 b1 ] 5
Modell alapú lekérdez rdezők Logikailag ekvivalens leírások között k nem tesz különbsk nbséget RDF gráfon dolgozu Keresés: s: naválás s az RDF gráfban
Modell alapú lekérdez rdezők Precíz z kérdk rdések Igaz-e, hogy Gipsz Jakab egy ember? Általánosabb kérdk rdésnél l bizonyos mkék elhanyagolhatóak ak Kik vannak valamilyen kapcsolatban macskákkal? kkal? Kérdés: gráfminta változókkal Válaszkeresés: s: részgrr szgráfillesztés behelyettesítéssel ssel
Medd tart mindez? Részgráfillesztés s NP teljes feladat Lekérdez rdezés s megválaszol laszolás, s, következtetk vetkeztetés sajnos bonyolult feladat Nagy méreteknm reteknél l gondok vannak Gyakorlatban heurisztikákkal kkal próbáljuk kitolni a kritikus méretetm
RDQL nyelv SELECT VáltozV ltozók FROM Dokumentumok WHERE Minta AND Szűrők USING NévterekN
RDQL nyelv egy egyszerű gráfminta változókkal SELECT?x?n FROM <rdql_input.rdf> WHERE (?x, <http://www.deep.hu/util/#neve< http://www.deep.hu/util/#neve>,?n)
RDQL nyelv egy egyszerű gráfminta változókkal SELECT?c FROM <rdql_input.rdf< rdql_input.rdf> WHERE (?x, <http:// < http://www.deep.hu/util#publikáója>,?p), (?p, <http:// < http://www.deep.hu/util#címe>,?c)
RDQL nyelv névterek a lekérdez rdezés s olvashatóbb bbá tételére SELECT?c FROM <rdql_input.rdf< rdql_input.rdf> WHERE (?x, t:publik publikáója,,?p) (?p, t:címe me,,?c) USING t for <http:// < http://www.deep.hu/util#>
RDQL nyelv aritmetikai korlátoz tozások SELECT?n FROM <rdql_input.rdf< rdql_input.rdf> WHERE (?x, t:kora,,?k) (?x, t:neve,,?n) AND?k + 1 < 25 USING t for <http:// < http://www.deep.hu/util#>
RDQL nyelv string ing-ek összehasonlításasa SELECT??,,?bs? FROM <rdql_input.rdf< rdql_input.rdf> WHERE (?x, t:neve,,?n) (?x, t:á,,?? ) (?, t:beosztása sa,,?bs? bs) AND?n EQ Gipsz Jakab?bs NE t:asztalos USING t for <http:// < http://www.deep.hu/util#>
RDQL nyelv logikai operátorok a szűrőkön SELECT??,,?fiz? FROM <rdql_input.rdf< rdql_input.rdf> WHERE (?x, t:neve,,?n) (?x, t:á,,?? ) (?, t:fizetése se,,?fiz? fiz) AND ((?n EQ Jakab ) && (?fiz <= 100))! (?fiz > 1000) USING t for <http:// < http://www.deep.hu/util#>
Következtet vetkeztetés < = á > <rdfs:subpropertyof rdfs:subpropertyof rdfs:subpropertyof rdfs:subpropertyof rdfs:subpropertyof rdfs:subpropertyof rdfs:subpropertyof rdfs:subpropertyof = #ismer ismer ismer ismer ismer ismer ismer ismerőse se se se se se se se > > < = jó á > <rdfs:subpropertyof rdfs:subpropertyof rdfs:subpropertyof rdfs:subpropertyof rdfs:subpropertyof rdfs:subpropertyof rdfs:subpropertyof rdfs:subpropertyof = # á > > <t:ember t:ember t:ember t:ember t:ember t:ember t:ember t:ember = Lujza Lujza Lujza Lujza Lujza Lujza Lujza Lujza > <#j <#j <#j <#j <#j <#j <#j <#jó á = #Jen #Jen #Jen #Jen #Jen #Jen #Jen #Jenő > t:ember t:ember t:ember t:ember t:ember t:ember t:ember t:ember>
Következtetés Sémakövetkeztetés: : osztályok, tulajdonságok kapcsolatrendszerének nek felderítése Adatkövetkeztet vetkeztetés: : korét t entitások tulajdonságait vizsgáljuk
Sémak makövetkeztet vetkeztetés Oszt Osztályhierarchia lyhierarchia alapj alapján egyszer n egyszerűsítü: : < = ismer ismer ismer ismer ismer ismer ismer ismerőse se se se se se se se > <rdfs:domain rdfs:domain rdfs:domain rdfs:domain rdfs:domain rdfs:domain rdfs:domain rdfs:domain = Ember Ember Ember Ember Ember Ember Ember Ember /> /> /> /> /> /> /> /> <rdfs:domain rdfs:domain rdfs:domain rdfs:domain rdfs:domain rdfs:domain rdfs:domain rdfs:domain = Állat llat llat llat llat llat llat llat /> /> /> /> /> /> /> /> > Tulajdons Tulajdonsághierarchia ghierarchia alapj alapján korl n korlátokat tokat örökítü: : < = á > <rdfs:subpropertyof rdfs:subpropertyof rdfs:subpropertyof rdfs:subpropertyof rdfs:subpropertyof rdfs:subpropertyof rdfs:subpropertyof rdfs:subpropertyof = #ismer ismer ismer ismer ismer ismer ismer ismerőse se se se se se se se > >
Adatkövetkeztet vetkeztetés Osztályhierarchia alapján: Ági nő, n, tehát ember Tulajdonsághierarchia alapján: Ági ismerőseit seit keresve visszaadjuk Ági átait is Tulajdonságkorl gkorlátozások alapján: < rdf:= szerz szerzője je > <rdfs:domain = Könyv nyv /> <rdfs rdfs:range range = Ember Ember /> > Ha kiderül, hogy az Aranyembert Jókai J írta, akkor biztos, hogy az Aranyember könyv k és s Jókai J ember.
Adatkövetkeztet vetkeztetés A különfk nféle következtetk vetkeztetési feladatokat általában kombinálva használjuk: Cél: olyan egyedek, akiknek van ember ismerősük Tudjuk: Feri á Kati, Kati egy nő. n Tehát t Feri egy jój válasz a kérdk rdésre
Következtetés Ha a világ g apróbb árnyalatait is le tudná írni, akkor bonyolultabb következtetk vetkeztetési feladatokra is képesek lenné.. PéldP ldául: Mindeinek van szülője. Mindeinek van okos gyereke. Mindeinek legfeljebb 1 magas gyereke van. Mindeinek legfeljebb 1 erős s gyereke van. Mindei vagy magas vagy erős. Góliát t magas és s erős s is. Mit lehet még m g tudni róla? r