Előadást letölteni
Az előadás letöltése folymat van. Kérjük, várjon
KiadtaPéter Horváth Megváltozta több, mint 9 éve
1
RDF a gyakorlatban
2
Ontológia Filozófiai jelentés lételmélet lételmélet Mérnöki jelentés sokféle meghatározás sokféle meghatározás sokszor egymásnak ellentmondó sokszor egymásnak ellentmondó
3
Ontológia – mérnöki jelentés(ek) Dolgok és kapcsolataik pontos, formális leírása Olyan fogalmi modell, mely absztrakt és leegyszerűsített képe egy világnak Egy fogalmi rendszer konszenzuson alapuló, explicit, részletes leírása. Egy adott tárgyterülethez tartozó fogalmak explicit, formális specifikációja
4
Példák ontológiákra Yahoo: taxonómia honlapok kategorizálására Amazon: termékek és tulajdonságaik kategorizálása Orvostudomány: hatalmas, strukturált szótárak (SNOMED) WordNet: általános célú fogalomtár az angol nyelvhez
5
Miért készítünk ontológiákat? 1. Az információ strukturájáról való tudás megosztása Az egyik leggyakoribb ok Pl. sok honlap szól orvosi eszközökről ugyanazt a mögöttes ontológiát használják Computer ágensek információt tudnak kinyerni és össze tudják rakni
6
Miért készítünk ontológiákat? 1. Tudás újrafelhasználása Ugyanazon dolgok (fogalmak, egyedek) fontosak lehetnek más csoportoknak is Nagy, általános ontológia összerakható már elkészült apróbb ontológiákból Általános ontológia kiegészíthető a saját tárgyterület leírására
7
Miért készítünk ontológiákat? 1. A tárgyterület feltételezéseinek explicitté tétele Új felhasználók könnyebben tanulnak Könnyű megváltoztatni Nincs belekódolva a programba, az is változtathat, aki nem tud programozni
8
Miért készítünk ontológiákat? 1. A tárgyterületre és a végrehajtásra vonatkozó tudás szétválasztása Készítünk egy ontológiát PC komponensekről. Készítünk egy algoritmust, mely ez alapján eladásra kész PC-ket rak össze. Az algoritmus lifteket is össze tud rakni, ha lecseréljük a PC komponens ontológiát lift komponens ontológiára.
9
Miért készítünk ontológiákat? 1. Tágyterület tudás analizálása Hibák, ellentmondások felderítése Újrafelhasználás Továbbfejlesztés
10
Miért készítünk ontológiákat? 1. Ontológiákat általában nem önmagukért készítjük Különféle problémamegoldó módszerek, tárgyterület független alakalmazások, program ágensek használnak ontológiákat.
11
RDF használata a keresés támogatására Milyen formátum? Hol érik el a keresők az RDF leírást? RDF források lekérdezése Következtetési feladatok
12
RDF források formátuma XML Már úgyis elterjedt a weben Már úgyis elterjedt a weben Keresők fel vannak készülve az RDF leírások szintaktikai elemzésére Keresők fel vannak készülve az RDF leírások szintaktikai elemzésére
13
RDF források elhelyezése Metainformáció logikai elhelyezése Bárhol lehet bármi vagy csak az adott forrásról Bárhol lehet bármi vagy csak az adott forrásról Keresőknek mindegy, ők a sok pici RDF gráfot összekapcsolják URI-k segítségével Keresőknek mindegy, ők a sok pici RDF gráfot összekapcsolják URI-k segítségével Fizikai elhelyezés Honlapba ágyazva vagy honlaphoz csatolva? Honlapba ágyazva vagy honlaphoz csatolva? Nincs általánosan elfogadott válasz Nincs általánosan elfogadott válasz
14
RDF forrás HTML oldalba ágyazva Szemléletes és kényelmes: metainformáció közel az információhoz Böngésző megjelenít metaadatokat is
15
RDF forrás HTML oldalba ágyazva: RDFa RDF leírás attribútumok segítségével Közvetlenül a honlapon megjelenő elemek köré tesszük a metainformációt Nem kell kétszer leírni ugyanazt XHTML kompatibilis Keresők már támogatják!
16
RDFa egy egyszerű honlap
17
RDFa forráskód <html xmlns="http://www.w3.org/1999/xhtml" xmlns:cal="http://www.w3.org/2002/12/cal/icaltzd#" xmlns:cal="http://www.w3.org/2002/12/cal/icaltzd#" xmlns:xs="http://www.w3.org/2001/XMLSchema#"> xmlns:xs="http://www.w3.org/2001/XMLSchema#"> Hétvége a Balatonnál : Hétvége a Balatonnál : 2011-02-25 2011-02-25 -től -től 2011-02-28 2011-02-28 -ig. -ig. További információ a További információ a Balaton ról a cégünk Balaton ról a cégünk balatoni honlapján. balatoni honlapján. </html>
18
RDFa séma információ <html xmlns="http://www.w3.org/1999/xhtml" xmlns:cal="http://www.w3.org/2002/12/cal/icaltzd#" xmlns:cal="http://www.w3.org/2002/12/cal/icaltzd#" xmlns:xs="http://www.w3.org/2001/XMLSchema#"> xmlns:xs="http://www.w3.org/2001/XMLSchema#"> Hétvége a Balatonnál : Hétvége a Balatonnál : 2011-02-25 2011-02-25 -től -től 2011-02-28 2011-02-28 -ig. -ig. További információ a További információ a Balaton ról a cégünk Balaton ról a cégünk balatoni honlapján. balatoni honlapján. </html>
19
RDFa amit az olvasó lát <html xmlns="http://www.w3.org/1999/xhtml" xmlns:cal="http://www.w3.org/2002/12/cal/idaltzd#" xmlns:cal="http://www.w3.org/2002/12/cal/idaltzd#" xmlns:xs="http://www.w3.org/2001/XMLSchema#"> xmlns:xs="http://www.w3.org/2001/XMLSchema#"> Hétvége a Balatonnál : Hétvége a Balatonnál : 2011-02-25 2011-02-25 -től -től 2011-02-28 2011-02-28 -ig. -ig. További információ a További információ a Balaton ról a cégünk Balaton ról a cégünk balatoni honlapján. balatoni honlapján. </html>
20
RDFa amit az RDF elemző lát <html xmlns="http://www.w3.org/1999/xhtml" xmlns:cal="http://www.w3.org/2002/12/cal/idaltzd#" xmlns:cal="http://www.w3.org/2002/12/cal/idaltzd#" xmlns:xs="http://www.w3.org/2001/XMLSchema#"> xmlns:xs="http://www.w3.org/2001/XMLSchema#"> Hétvége a Balatonnál : Hétvége a Balatonnál : 2011-02-25 2011-02-25 -től -től 2011-02-28 2011-02-28 -ig. -ig. További információ a További információ a Balaton ról a cégünk Balaton ról a cégünk balatoni honlapján. balatoni honlapján. </html>
21
RDFa amit mindketten látnak <html xmlns="http://www.w3.org/1999/xhtml" xmlns:cal="http://www.w3.org/2002/12/cal/idaltzd#" xmlns:cal="http://www.w3.org/2002/12/cal/idaltzd#" xmlns:xs="http://www.w3.org/2001/XMLSchema#"> xmlns:xs="http://www.w3.org/2001/XMLSchema#"> Hétvége a Balatonnál : Hétvége a Balatonnál : 2011-02-25 2011-02-25 -től -től 2011-02-28 2011-02-28 -ig. -ig. További információ a További információ a Balaton ról a cégünk Balaton ról a cégünk balatoni honlapján. balatoni honlapján. </html>
22
RDFa amit az RDF elmező tud #event1 isA cal:Vevent #event1 cal:summary “Hétvége a Balatonnál” #event1 cal:dtstart “2011-02-25”^^xs:date #event1 cal:dtend “2011-02-28”^^xs:date #event1 cal:location “Balaton” #event1 cal:url http://www.balaton.hu/ http://www.balaton.hu/http://www.balaton.hu/
23
RDF adatok külön állományban Link mutat a honlapról a metaadatokra <head> A világ legjobb honlapja A világ legjobb honlapja
24
RDF adatok külön állományban Kényelmesen szétválik az információ és a metainformáció Háttértudás leírására kényelmes Ha nem html oldal az adatforrás, akkor csak ez van Modellezés független az elhelyezéstől!
25
RDF lekérdezők Azért van RDF leírásunk, hogy kérdéseket tudjunk feltenni Kik a gazdagok? Kik a gazdagok? Kik Ádám testvérei? Kik Ádám testvérei? Milyen kapcsolat van Ádám és Éva között? Milyen kapcsolat van Ádám és Éva között? Válaszként az RDF leírás megfelelő részét szeretnénk visszakapni
26
XML alapú lekérdezők Többnyire úgyis XML alakban jelenik meg a leírás túlságosan elérési útvonal orientáltak: azt fogalmazzuk meg, hogy milyen úton jutunk el a kérdéses elemhez az XML fában RDF gráfhoz sokféle XML alak tartozik, melyek logikailag ekvivalensek
27
XML dokumentum lekérdezése Az XQuery nyelv Funkcionális nyelv Útkifejezésekkel kiegészített általános programozási nyelv Az útkifejezések csomópontokat azonosítanak az XML fában Elemet (gyerekeivel együtt) Elemet (gyerekeivel együtt) Attribútumot Attribútumot
28
XQuery útkifejezések 1. 1. 2. 2. 3. 3. 4. 4. 5. 5. 6. 6. 7. 7. 8. 8. 9. 9. 10. 10. 11. 11. 12. 12. 13. 13. 14. 14. 15. 15. 16. 16. /AAA1 Abszolút út /AAA/CCC/DDD10 //BBB4, 5, 11, 12 Az összes BBB elem //CCC/DDD/BBB11, 12 //AAA/CCC/DDD/*11, 12, 13 Jokerelem //*minden elem /AAA/XXX/DDD/BBB[1]4 Csak az első találat //BBB[last()]5, 12 Elemcsoportonként az utolsó //@id5, 6 attribútumokat választ //*[@name]10 //*[@id=“b1”]5
29
Modell alapú lekérdezők Logikailag ekvivalens leírások között nem tesz különbséget RDF gráfon dolgozunk Keresés: navigálás az RDF gráfban
30
Modell alapú lekérdezők Precíz kérdések Igaz-e, hogy Gipsz Jakab egy ember? Igaz-e, hogy Gipsz Jakab egy ember? Általánosabb kérdésnél bizonyos cimkék elhanyagolhatóak Kik vannak valamilyen kapcsolatban macskákkal? Kik vannak valamilyen kapcsolatban macskákkal? Kérdés: gráfminta változókkal Válaszkeresés: részgráfillesztés behelyettesítéssel
31
Meddig tart mindez? Részgráfillesztés NP teljes feladat Lekérdezés megválaszolás, következtetés sajnos bonyolult feladat Nagy méreteknél gondok vannak Gyakorlatban heurisztikákkal próbáljuk kitolni a kritikus méretet
32
RDQL nyelv SELECT Változók FROM Dokumentumok WHERE Minta AND Szűrők USING Névterek
33
RDQL nyelv egy egyszerű gráfminta változókkal SELECT ?x ?n FROM FROM WHERE (?x,, ?n) http://www.deep.hu/util/#neve
34
RDQL nyelv egy egyszerű gráfminta változókkal SELECT ?c FROM FROM WHERE (?x,, ?p), http://www.deep.hu/util#publikációjahttp://www.deep.hu/util#publikációja (?p,, ?c) http://www.deep.hu/util#címehttp://www.deep.hu/util#címe
35
RDQL nyelv névterek a lekérdezés olvashatóbbá tételére SELECT ?c FROM FROM WHERE (?x, t:publikációja, ?p) (?p, t:címe, ?c) USING t for USING t for http://www.deep.hu/util#
36
RDQL nyelv aritmetikai korlátozások SELECT ?n FROM FROM WHERE (?x, t:kora, ?k) (?x, t:neve, ?n) AND ?k + 1 < 25 USING t for USING t for http://www.deep.hu/util#
37
RDQL nyelv string-ek összehasonlítása SELECT ?br, ?bs FROM FROM WHERE (?x, t:neve, ?n) (?x, t:barátja, ?br) (?br, t:beosztása, ?bs) AND ?n EQ “Gipsz Jakab” ?bs NE t:asztalos USING t for USING t for http://www.deep.hu/util#
38
RDQL nyelv logikai operátorok a szűrőkön SELECT ?br, ?fiz FROM FROM WHERE (?x, t:neve, ?n) (?x, t:barátja, ?br) (?br, t:fizetése, ?fiz) AND ((?n EQ “Jakab”) && (?fiz <= 100)) || ! (?fiz > 1000) USING t for USING t for http://www.deep.hu/util#
39
Következtetés </rdf:Property> </rdf:Property> </t:Ember>
40
Következtetés Sémakövetkeztetés: osztályok, tulajdonságok kapcsolatrendszerének felderítése Adatkövetkeztetés: konkrét entitások tulajdonságait vizsgáljuk
41
Sémakövetkeztetés Osztályhierarchia alapján egyszerűsítünk: </rdf:Property> Tulajdonsághierarchia alapján korlátokat örökítünk: </rdf:Property>
42
Adatkövetkeztetés Osztályhierarchia alapján: Ági nő, tehát ember Ági nő, tehát ember Tulajdonsághierarchia alapján: Ági ismerőseit keresve visszaadjuk Ági barátait is Ági ismerőseit keresve visszaadjuk Ági barátait is Tulajdonságkorlátozások alapján: </rdf:Property> Ha kiderül, hogy az Aranyembert Jókai írta, akkor biztos, hogy az Aranyember könyv és Jókai ember. Ha kiderül, hogy az Aranyembert Jókai írta, akkor biztos, hogy az Aranyember könyv és Jókai ember.
43
Adatkövetkeztetés A különféle következtetési feladatokat általában kombinálva használjuk: Cél: olyan egyedek, akiknek van ember ismerősük Cél: olyan egyedek, akiknek van ember ismerősük Tudjuk: Feri barátja Kati, Kati egy nő. Tudjuk: Feri barátja Kati, Kati egy nő. Tehát Feri egy jó válasz a kérdésre Tehát Feri egy jó válasz a kérdésre
44
Következtetés… Ha a világ apróbb árnyalatait is le tudnánk írni, akkor bonyolultabb következtetési feladatokra is képesek lennénk. Például: Mindenkinek van szülője. Mindenkinek van szülője. Mindenkinek van okos gyereke. Mindenkinek van okos gyereke. Mindenkinek legfeljebb 1 magas gyereke van. Mindenkinek legfeljebb 1 magas gyereke van. Mindenkinek legfeljebb 1 erős gyereke van. Mindenkinek legfeljebb 1 erős gyereke van. Mindenki vagy magas vagy erős. Mindenki vagy magas vagy erős. Góliát magas és erős is. Mit lehet még tudni róla? Góliát magas és erős is. Mit lehet még tudni róla?
Hasonló előadás
© 2024 SlidePlayer.hu Inc.
All rights reserved.