sokféle meghatározás sokszor egymásnak ellentmondó
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
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 (SNOWMED) WordNet: általános célú fogalomtár az angol nyelvhez
Miért készítünk ontológiákat? Az információ strukturájáról való tudás megosztása
1.
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
Miért készítünk ontológiákat? Tudás újrafelhasználása
2.
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
Miért készítünk ontológiákat? A tárgyterület feltételezéseinek explicitté tétele
3.
Új felhasználók könnyebben tanulnak Könnyű megváltoztatni Nincs belekódolva a programba, az is változtathat, aki nem tud programozni
Miért készítünk ontológiákat? A tárgyterületre és a végrehajtásra vonatkozó tudás szétválasztása
4.
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.
Miért készítünk ontológiákat? Tágyterület tudás analizálása
Miért készítünk ontológiákat? Ontológiákat általában nem önmagukért készítjük
6.
Különféle problémamegoldó módszerek, tárgyterület független alakalmazások, program ágensek használnak ontológiákat.
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
RDF források formátuma XML
Már úgyis elterjedt a weben Keresők fel vannak készülve az RDF leírások szintaktikai elemzésére
RDF források elhelyezése Metainformáció logikai elhelyezése
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
Fizikai elhelyezés
Honlapba ágyazva vagy honlaphoz csatolva? Nincs általánosan elfogadott válasz
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
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!
RDFa egy egyszerű honlap
RDFa forráskód
Hétvége a Balatonnál: <span property="cal:dtstart" datatype="xs:date">2011-02-25 -től <span property="cal:dtend" datatype="xs:date">2011-02-28 -ig. További információ a <span property="cal:location">Balatonról a cégünk balatoni honlapján.
RDFa séma információ
Hétvége a Balatonnál: <span property="cal:dtstart" datatype="xs:date">2011-02-25 -től <span property="cal:dtend" datatype="xs:date">2011-02-28 -ig. További információ a <span property="cal:location">Balatonról a cégünk balatoni honlapján.
RDFa amit az olvasó lát
Hétvége a Balatonnál: <span property="cal:dtstart" datatype="xs:date">2011-02-25 -től <span property="cal:dtend" datatype="xs:date">2011-02-28 -ig. További információ a <span property="cal:location">Balatonról a cégünk balatoni honlapján.
RDFa amit az RDF elemző lát
Hétvége a Balatonnál: <span property="cal:dtstart" datatype="xs:date">2011-02-25 -től <span property="cal:dtend" datatype="xs:date">2011-02-28 -ig. További információ a <span property="cal:location">Balatonról a cégünk balatoni honlapján.
RDFa amit mindketten látnak
Hétvége a Balatonnál: <span property="cal:dtstart" datatype="xs:date">2011-02-25 -től <span property="cal:dtend" datatype="xs:date">2011-02-28 -ig. További információ a <span property="cal:location">Balatonról a cégünk balatoni honlapján.
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/
RDF adatok külön állományban Link mutat a honlapról a
metaadatokra A világ legjobb honlapja
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!
RDF lekérdezők Azért van RDF leírásunk, hogy kérdéseket
tudjunk feltenni
Kik a gazdagok? Kik Ádám testvérei? 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
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
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
/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 Jokerelem //* minden elem /AAA/XXX/DDD/BBB[1] 4 Csak az első találat //BBB[last()] 5, 12 Elemcsoportonként az utolsó //@id 5, 6 attribútumokat választ //*[@name] 10 //*[@id=“b1”] 5
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
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
RDQL nyelv SELECT Változók FROM Dokumentumok WHERE Minta AND Szűrők USING Névterek
RDQL nyelv egy egyszerű gráfminta változókkal SELECT ?x ?n FROM WHERE (?x, , ?n)
RDQL nyelv egy egyszerű gráfminta változókkal SELECT ?c FROM WHERE (?x, , ?p), (?p, , ?c)
RDQL nyelv névterek a lekérdezés olvashatóbbá tételére SELECT ?c FROM WHERE (?x, t:publikációja, ?p) (?p, t:címe, ?c) USING t for
RDQL nyelv aritmetikai korlátozások SELECT ?n FROM WHERE (?x, t:kora, ?k) (?x, t:neve, ?n) AND ?k + 1 < 25 USING t for
RDQL nyelv string-ek összehasonlítása SELECT ?br, ?bs 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
RDQL nyelv logikai operátorok a szűrőkön SELECT ?br, ?fiz 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
Sémakövetkeztetés Osztályhierarchia alapján egyszerűsítünk:
Tulajdonsághierarchia alapján korlátokat
örökítünk:
Adatkövetkeztetés
Osztályhierarchia alapján:
Tulajdonsághierarchia alapján:
Ági nő, tehát ember Ági ismerőseit keresve visszaadjuk Ági barátait is
Tulajdonságkorlátozások alapján:
Ha kiderül, hogy az Aranyembert Jókai írta, akkor biztos, hogy az Aranyember könyv és Jókai ember.
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 Tudjuk: Feri barátja Kati, Kati egy nő. Tehát Feri egy jó válasz a kérdésre
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 okos gyereke. Mindenkinek legfeljebb 1 magas gyereke van. Mindenkinek legfeljebb 1 erős gyereke van. Mindenki vagy magas vagy erős. Góliát magas és erős is. Mit lehet még tudni róla?