1. Vizsgálja meg a következő RDF leírást: <rdf:rdf xmlns:rdf= http://www.w3.org/1999/02/22-rdf-syntax-ns# xmlns:rdfs= http://www.w3.org/2000/01/rdf-schema# xmlns:lit= http://literature.org/# xml:base= http://literature.org/ > <rdf:description rdf:about= #Hamlet > <rdf:type rdf:resource= #drama /> <rdf:description rdf:about= #Sonet96 > <rdf:type rdf:resource= #poem / > <rdf:description rdf:about= #wrote > <rdf:type rdf:resource= &rdf;property => <rdf:domain rdf:resource= #writer /> <rdf:range rdf:resource= #literary content /> <rdfs:class rdf:about= #poem > <rdfs:subclassof rdf:resource= #literary content /> </rdfs:class> <rdfs:class rdf:about= #drama > <rdfs:subclassof rdf:resource= #literary content /> </rdfs:class> <lit:poet rdf:about= #Shakespeare > <lit:wrote rdf:resource= #Sonet96 /> <lit:wrote rdf:resource= #Hamlet /> <rdf:type rdf:resource= #playwright /> </lit:poet> </rdf:rdf> a) Milyen információt ír le a fenti RDF(S) gráf? Adjon meg egy lehetséges interpretációt saját szavaival! (3 pont) A Hamlet egy dráma, a 96. szonett egy költemény. Az írásnak, mint alkotásnak az alanya az író, tárgya pedig az irodalmi alkotás. A vers és a dráma irodalmi alkotások. Shakespeare egy drámaíró típusú költő, ő írta a Hamlet-et és a 96. szonettet. b) Fogalmazzon meg egy lekérdezést SPARQL/SQL formátumban az RDF gráfban található mű szerzőjének ( writer, lit:wrote) kigyűjtésére. (3 pont) (megjegyzés: a kérdés drámai műre akart vonatkozni, ebben a formában igen sok megoldás alkalmas lehet, el is fogadtam ezeket ) Drámai mű szerzőjének lekérdezése: PREFIX <rdf:rdf xmlns:rdf= http://www.w3.org/1999/02/22-rdf-syntax-ns# xmlns:rdfs= http://www.w3.org/2000/01/rdf-schema# xmlns:lit= http://literature.org/# xml:base= http://literature.org/ > SELECT?writer {?content a rdf:resource= #drama.?writer lit:wrote?content}
2. A laboron az alábbi lekérdezést alkalmaztuk művészeti alkotásokkal kapcsolatos adatok elemzéséhez. a.) Adjon meg egy olyan RDF gráfot, amelyre a lekérdezés eredményt ad! (4 pont) b.) Adjon meg egy lehetséges természetes nyelvű interpretációt az RDF adatmodellhez! (2pont) PREFIX ecrm: http://erlangen-crm.org/current/ SELECT?actor?creation?object {?actor a ecrm:e39_actor.?creation ecrm:p11_had_participant?actor ; a ecrm:e65_creation.?object ecrm:p12i_was_present_at?creation ; a ecrm:e18_physical_thing. } a.) b.) Rembrandt, aki egy művész, festette a Tékozló fiú című festményt, amely a múzeum műtárgyai között a 125. leltári számú festmény 3. Nevezzen meg 3-3 előnyös tulajdonságát a lokális és a globális megközelítésnek a nézet alapú virtuális információ integrációs technikák esetében! (6 pont) Globális nézet alapú megközelítés előnyei: - egyszerű a lekérdezések lefordítása - moduláris, hierarchikus leképezések megvalósíthatóak - kis számú forrás esetében egyszerű a definiálása Lokális nézet alapú megközelítés előnyei: - rugalmas nézet átalakítás változós források esetén - forrás tulajdonságokat könnyű figyelembe venni - a saját koncepcionális modellünkben dolgozhatunk
4. Tekintsük a következő relációs sémát az S forrásra, amelyben 2008 óta gyűjtünk adatokat. Az adatbázis tárgyakra vonatkozóan tartalmazza a tárgy Neptun kódját, címét, hány zárthelyi tartozik a tárgyhoz, vizsgával záródik-e a tárgy és a felelős tanszék nevét: Tárgyak(Nkód: string, Cím: string, ZH_szám_követelmény: int, Vizsga_követelmény: boolean, FelelősTanszék: string) A kapcsolódó mediált sémánkban a zh követelménnyel illetve a vizsga követelménnyel rendelkező tárgyakat lehet lekérdezni: ZH_köteles_tárgyak(Nkód: string; Cím: string; FelelősTanszék: string) Vizsga_követelményes_tárgyak(Nkód: string; Cím: string; FelelősTanszék: string) (a) Adjon meg egy global-as-view leképezést az S forrás és a mediált séma között! (3 pont) ZH_köteles_tárgyak(Nkód, Cím, FelelősTanszék):- Tárgyak(Nkód, Cím, ZH_szám_követelmény, Vizsga_követelmény, FelelősTanszék), Vizsga_követelményes_tárgyak(Nkód, Cím, FelelősTanszék):- Tárgyak(Nkód, Cím, ZH_szám_követelmény, Vizsga_követelmény, FelelősTanszék), Vizsga_követelmény=true. (b) Adjon meg egy local-as-view leképezést az S forrás és a mediált séma között! (3 pont) Tárgyak(Nkód, Cím, 1, true, FelelősTanszék) :- ZH_köteles_tárgyak(Nkód, Cím, FelelősTanszék), Vizsga_követelményes_tárgyak(Nkód, Cím, FelelősTanszék) Tárgyak(Nkód, Cím, 1, false, FelelősTanszék) :- ZH_köteles_tárgyak(Nkód, Cím, FelelősTanszék), Vizsga_követelményes_tárgyak(Nkód, Cím, FelelősTanszék) Tárgyak(Nkód, Cím, 0, true, FelelősTanszék) :- ZH_köteles_tárgyak(Nkód, Cím, FelelősTanszék), Vizsga_követelményes_tárgyak(Nkód, Cím, FelelősTanszék) (Feltételezve, hogy nincsenek olyan tárgyak, amelyek se ZH-t, se vizsgát nem tartanak. Ez a megoldás, az 1-nél több ZH-t írató tárgyak adatait nem kezeli, ezek eléréséhez a leírás rekurzív bővítése szükséges.) (c) Adjon meg egy lekérdezést a mediált sémánkon a MIT által oktatott vizsgával záruló és zh-t is írató tárgyak Neptun kódjainak legyűjtéséhez! Írja át ezt a lekérdezést a forráson futtatható lekérdezéssé az a) vagy a b) pontban megadott leképezésen keresztül! (4 pont) (A feladat megoldásához használhat datalog, SQL vagy SPARQL szintaxist is.) Lekérdezés: MIT_Zh_vizsga_tárgyak(Nkód):- ZH_köteles_tárgyak(Nkód, Cím, MIT ), Vizsga_követelményes_tárgyak(Nkód, Cím, MIT )
Átírás az a.) pontban definiált nézetek alkalmazásával: MIT_Zh_vizsga_tárgyak(Nkód):- ZH_köteles_tárgyak(Nkód, Cím, MIT ), Vizsga_követelményes_tárgyak(Nkód, Cím, MIT ) ZH_köteles_tárgyak(Nkód, Cím, MIT ):- Tárgyak(Nkód, Cím, ZH_szám_követelmény, Vizsga_követelmény, MIT ), Vizsga_követelményes_tárgyak(Nkód, Cím, MIT ):- Tárgyak(Nkód, Cím, ZH_szám_követelmény, Vizsga_követelmény, MIT ), Vizsga_követelmény=true. Az átírás a nézet kibontása után: MIT_Zh_vizsga_tárgyak(Nkód):- Tárgyak(Nkód, Cím, ZH_szám_követelmény, Vizsga_követelmény, MIT ), Vizsga_követelmény=true, 5. Leíró logikai bizonyítások (a) Foglalja össze a tabló módszer lényegét, mutassa be a tabló struktúra elemeit, nevezze meg az alkalmazható szabályokat és ezek közül egyet definiáljon is. (6 pont) (lásd. könyv) (b) Tudásbázisunk: vvvvvvánn = eeeeeeeeee ffffffffffffffff. nnövvénnnn vvvvvvvvvvárrrránnnnnn = eeeeeeeeee ffffffffffffffff. (nnövvénnnn ttttttttttttttékk) Igaz-e, hogy vvvvvvvvvvárrrránnnnnn vvvvvvánn? Állítását bizonyítsa! (6 pont) A feladatot tabló módszerrel oldjuk meg. Tegyük fel, hogy az állítás igaz, a bizonyításhoz meg kell mutatni, hogy vvvvvvánn vvvvvvvvvvárrrránnnnnn nem kielégíthető. A feladatban szereplő definíciókat felhasználva és negatív normál formára hozva a kifejezést kapjuk L(x)-re: eeeeeeeeee ffffffffffffffff. (nnövvénnnn ttttttttttttttékk ) ( eeeeeeeeee ffffffffffffffff. nnövvénnnn ) Legyen a tabló kiinduló eleme L(x) ez a kifejezés, alkalmazva a ssssssssállllll és az elemeket hozzáadva L(x)-hez kapjuk: LL(xx) = {eeeeeeeeee, ffffffffffffffff. (nnövvénnnn ttttttttttttttékk ), ( eeeeeeeeee ffffffffffffffff. nnövvénnnn ) } Alkalmazva az ssssssssállllll az eeeeeeeeee ffffffffffffffff. nnövvénnnn re és az egyik ágon eeeeeeeeee t L(x)-hez adva ellentmondásra jutunk, Adjuk most L(x)-hez a ffffffffffffffff. nnövvénnnn. kifejezést. Alkalmazva a ssssssssállllll be kell vezetnünk egy új y csomópontot és egy új (x,y) élet a tablóba. LL(yy) = { nnövvénnnn} éss LL(xx, yy) = ffffffffffffffff Alkalmazva a ssssssssállllll az ffffffffffffffff. (nnövvénnnn ttttttttttttttékk ) kifejezésre, hozzáadhatjuk L(y)-hoz a nnövvénnnn ttttttttttttttékk -et.
Alkalmazva az ssssssssállllll nnövvénnnn ttttttttttttttékk -re, hozzáadhatjuk LL(yy)-hoz nnövvénnnnt, ami ellentmondás. Most adjuk hozzá ttttttttttttttékk-et LL(yy)-hoz. Nincs további alkalmazható szabály és még nem minden ágon jutottunk ellentmondásra, tehát a vvvvvvánn vvvvvvvvvvárrrránnnnnn kielégíthető, tehát a vveeeeeeeeárrrránnnnnn vvvvvvánn állítás nem igaz.