Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

Szemantikus Web előadás. Általános információk INKK280E, INMV640E (2+2) MA IK, MSC PTI Jegymegajánló Irodalom: – Szeredi Péter, Lukácsy Gergely, Benkő.

Hasonló előadás


Az előadások a következő témára: "Szemantikus Web előadás. Általános információk INKK280E, INMV640E (2+2) MA IK, MSC PTI Jegymegajánló Irodalom: – Szeredi Péter, Lukácsy Gergely, Benkő."— Előadás másolata:

1 Szemantikus Web előadás

2 Általános információk INKK280E, INMV640E (2+2) MA IK, MSC PTI Jegymegajánló Irodalom: – Szeredi Péter, Lukácsy Gergely, Benkő Tamás: A szemantikus világháló elmélete és gyakorlata – Gottdank Tibor: Szemantikus Web – Jeszenszky Péter, Espák Miklós: XML sémanyelvek ( )http://www.inf.unideb.hu/~jeszy/xml/book/

3 Tematika Beveztés, A világháló napjainkban A szemantikus világháló XML nyelv, XML sémanyelvek RDF elképzelés RDFa RDF/XML szintaxis RDF sémák Turtle Ontológiák (OWL)

4 A világháló napjainkban Óriási mennyiségű adat a weben Ideális lenne, ha gépek is megértenék és szervezni tudnák  Több idő jut az emberi képességek alkotó felhasználására A webes keresők sokszor „ész nélkül” kutatnak egy-egy szóra (pl. szuszinka, slambuc, öhön)

5 A világháló napjainkban Alkalmazások más-más adatformátumokkal dolgoznak XML segíthet, de oda-vissza konverziókra van szükség  Szükséges egy vékony réteg az együttműködés támogatására

6 Szemantikus web célja Weben levő információkat a számítógépek ne csak olvasni, hanem értelmezni is tudják A gépek automatizált módon rendezni és újra feldolgozni is képesek legyenek Információkhoz metainformáció rendelése, mely kapcsolatot teremt köztük Gépek következtetéseket is végezhessenek (pl. képhez készítője neve, címe, mit ábrázol stb., valamint, ha folyót ábrázol, akkor van rajta víz is)

7 Világháló Kliensek, szerverek Szerverek tárolják az információkat Kliensen futó böngésző megérti a HTML, CSS, Javascript kódot Statikus, dinamikus weblapok – Statikus: tartalma ritkán változik – Dinamikus: kéréseknek megfelelően generálja a válaszoldalakat (nem létezik fizikai állományként)

8 Tudás reprezentálása a világhálón Világháló: heterogén szintaktikájú és szemantikájú, valamint nem ellenőrzött tartalmú dokumentumok halmaza Eltérő terminológia: pl. termékazonosítók formátuma, mértékegységek (láb,méter) Dokumentumok nem ellenőrzött tartalma (Internetes dokumentum vs. Kontrollált dokumentumtár)

9 Hagyományos keresőrendszerek Keresőrobotok begyűjtik az oldalakat Indexelő elemzi, listát készít Keresőrendszer a feltett kérdést feldolgozza és elvégzi a keresést Találatok sorrendezése

10 Oldalak begyűjtése és indexelése Keresőrobotok folyamatosan és periódikusan járják a webet Letölti az oldalt és átadja az indexelőnek Úgy tűnik nem végeznek elemzést, csak követik a linkeket De mely linkeket kövesse? (dinamikus weblapok, nem szöveges állományok) Milyen gyakran indexeljen? (hírportálok)

11 Oldalak begyűjtése és indexelése Indexelés betiltására is van lehetőség (/robots.txt állomány, HTML elem) a robot „jóindulata” is szükséges Indexelő: elemzi a dokumentumot és kigyűjti az indexelendő kifejezéseket Probléma a heterogén tárolás és hibák (gépelési hiba a HTML tagokban), illetve a fontos és kevésbé fontos kifejezések elkülönítése (szavak gyakorisága, tiltott szavak listája)

12 Kérdésértelmezés és keresés Kisméretű dokumentumhalmazt használnak fel kereséshez (vs. Internet) Vektortér Modell (Vector Space Model) – A kérdés és a dokumentumok is V dimenziós vektor (V jelöli a releváns kifejezések számát) – Keressük a kérdéshez legközelebbi vektorokat Teljes szöveges keresők

13 Vektortér Modell N dokumentum és V releváns kifejezés esetén w i,j : i-edik dokumentum j-edik kifejezésre vett fontossága 1V 1W 1,1 W 1,2 W 1,3 W 2,1 W 3,1 W i,j N

14 Vektortér Modell Fontosság meghatározása: – f i,j : lokális fontosság Az adott kifejezés hányszor fordul elő az adott dokumentumban – d j : globális fontosság Az adott kifejezés hány különböző dokumentumban fordul elő w i,j = f i,j * log (N/ d j ) w i,j értéke nagy, ha a kifejezés gyakran fordul elő (f i,j nagy) és a dokumentum halmaz kis részében (N/ d j nagy)

15 Vektortér modell Ha egy kifejezés minden egyes dokumentumban előfordul, akkor w i,j = 0 (N=d j ). -> a keresés szempontjából nem releváns q: a kérdés V dimenziós vektora lokális fontosság 0 vagy 1 globális fontosság u.a. q j = { log (N/d j ), ha az i-edik kifejezés eleme a kérdésnek 0, ha az i-edik kifejezés nem eleme a kérdésnek

16 Vektortér modell A kérdés- és egy dokumentumvektor hasonlóságának mértéke: hasonlósága(q,w i )= Fontossági visszacsatolás: Az eredeti keresőkérdést automatikusan bővíti a legjobb találatokban meglevő legfontosabb kifejezésekkel.

17 Teljes szöveges keresők Lexikai, szavak egyezésén alapuló keresés Rosszul kezelik a rokon értelmű szavakat, szinonimákat (pl. cica vs. macska) A Vektortér Modellben a hasonlósági mérték rugalmasabb a van/nincs egyezéses válasznál, a fontossági visszacsatolás használatával jobb eredményeket ad.

18 Találatok sorrendezése Feladata: A kapott weblapokat fontossági sorrendben prezentálja Szempontok: – Kifejezések helye – Kifejezések előfordulási gyakorisága – Kifejezések fontmérete, szavak közötti távolságok – HTML metaelemek – Felhasználók reakciói (pl. „senki nem az első linkre kattint”) – Oldalak közti linkstruktúra (linkek és linkek körüli szöveget is nézik és a hivatkozott oldalhoz kapcsolja (pl. képek)) Manipulációk

19 Google PageRank algoritmusa PageRank (PR) : egy valós szám, mely egy oldal fontosságát jelzi (1≥ PR≥ 0,15) Sorrendet meghatározó egyik érték Alapötlet: Egy link azért van az oldalamon, mert fontosnak tartom + lényeges, hogy az én oldalam milyen fontos (rekurzív)

20 Alap PageRank algoritmus PR(A)=(1-d)/N+d(PR(t 1 )/C(t 1 )+…+PR(t n )/C(t n )) – A : oldal – t 1, …, t n : oldalak, melyek hivatkoznak A-ra – PR(t i ) : t i PageRank értéke – d: skálázó vektor (d= 0,85) d a valószínűség, hogy a szörfölő a meglévő linkek közül választ 1-d, hogy új oldalról választ – C(t i ) : t i oldalon található kimenő linkek száma, melyek közül 1 biztosan az A-ra mutat – N: az összes indexelt weblap száma PR(t i )/C(t i ): az A oldal a t i oldaltól kapott „szavazata” (ha t i – n csak egy link szerepel, akkor a teljes PR(t i ) értéke átadja)

21 Website Több tartalmilag összefüggő lapból álló, linkekkel összekötött laphalmaz Website PR értéke az oldalak PR értékének összege (maximuma az oldalak száma) Szélsőséges esetek: – 3 oldal és nincs kimutató link – PR(t 1 )=PR(t 2 )=PR(t 3 )=(1-d)= 0,15 – Website PR értéke 0,45 < 3 t1t1 t2t2 t3t3

22 Website Szélsőséges esetek: – Mindhárom oldalról csak egy link mutat ki – Minden lapra mutat link – PR(t 1 ) = 0,15 + 0,85*PR(t 3 ) PR(t 2 ) = 0,15 + 0,85*PR(t 1 ) PR(t 3 ) = 0,15 + 0,85*PR(t 2 ) – Website PR értéke: PR(T)= PR(t 1 ) + PR(t 2 ) + PR(t 3 ) = 0,45 + 0,85*(PR(t 1 ) + PR(t 2 ) + PR(t 3 )) 0,15* PR(T) = 0,45 PR(T) = 3 t1t1 t3t3 t2t2

23 Website A Google szűri a „lógó” oldalakat, amiről nem mutat link. Ellent mond a „sztochasztikus szörfölő” modellnek. Érdemes megfelelő linkstruktúrát kialakítani, minden oldalon legyen kimenő link. Cél lehet, hogy bizonyos oldal fontosabb legyen (pl. főoldal) Lehetőségünk van arra, hogy website-unk összesített fontosságát elosszuk oldalaink felett

24 Website az új linkkel t 3 veszít fontosságából t 1 -nek kevesebbet tud adni t 2 fontossága viszont nőni fog Kimenő linkek: – belülre mutatnak (site-on belül változnak a fontossági arányok) – kívülre mutatnak (site-unk egésze fontosságot veszít) t1t1 t3t3 t2t2 t1t1 t3t3 t2t2

25 Problémák a világhálón való kereséssel Általános problémák Internet hatalmas mérete --> oldalak begyűjtése, keresési problémák Internet tartalma, szerkezete változik (rövid idő alatt)

26 Problémák a világhálón való kereséssel Mély web probléma Mély web: – csak lekérdezéssel (űrlappal) elérhető adatbázistartalom – nem szöveges formátumú (képek, multimédia ) dokumentumok Sekély web: minden, ami nem mély web DE! Szürke zóna : pl. űrlapot kitöltve elmentjük az oldalt

27 Problémák a világhálón való kereséssel Tudatosan nem indexelt oldalak Robotok észreveszik a dinamikus oldalakra mutató linkeket és nem követik Keresőcsapda: Olyan esetek, amikor a robot ciklusba esik, értékes erőforrásokat pazarol nem igazán érdekes oldalak begyűjtésére. (pl. naptár) Másik értelmezés: Olyan módszer vagy program, mely segítségével eldönthető, hogy oldalunkat éppen egy robot látogatja –e meg.

28 Problémák a világhálón való kereséssel Tudatosan nem indexelt oldalak Álcázás: Egy robot azonosítása esetén blokkolhatjuk az oldal kiszolgálását, vagy mást adhatunk vissza. Álcázással elérhetjük, hogy a robotok fontosnak találják oldalunkat. A robotok azonosítása közben meghatározzuk annak IP címét és ágensazonosítóját (a használt szoftver és annak környezetének azonosítója).

29 Problémák a világhálón való kereséssel A szemantika hiánya A keresők nem keresőkérdés és a dokumentumok jelentésével foglalkoznak, hanem csak a szöveges alakkal Pl. „macska füle” – csak két szó egymás mellett, és nem egy háziállat érzékszerve Nyelvi problémák: magyar nyelvi kifejezésre elsősorban magyar nyelvű oldalak Képek, multimédiák: az általuk tárolt információt nehéz kinyerni (pl. Parlament épülete – magyar törvényhozás épülete)

30 Problémák a világhálón való kereséssel A szemantika hiánya Szükség van arra, hogy a felhalmozott ismereteinkben következtetni tudjunk Pl. emberi szervekre keresünk rá – találunk egy képet, melyen nincs főcím, néhány szerv neve van rajta és nyilak ábrákra (emberként vs. gép) Pl. anyákkal kapcsolatos kérdés - oldal gyermekkel rendelkező nő (ember vs. gép)

31 Jelenlegi megoldások Méretprobléma A különböző keresők különböző algoritmusokat és heurisztikát alkalmaznak, így az általuk indexelt oldalak jelentősen eltérhetnek. -> metakeresők Metakeresők: más keresőgépekkel kerestető keresőgépek Kiszűrik azokat a oldalakat, melyek jogtalanul feljebb akarnak kerülni (az ilyen oldalak egy- egy keresőre specializálódnak)

32 Jelenlegi megoldások Gyorsan változó tartalom Fókuszált oldalbegyűjtés: a cél nem minden link követése, hanem csak egy területhez kapcsolódó oldalak begyűjtése Pl. dedikált, megfelelő gyorsaságú robotokhoz rendelik csak a hírportálokat, vagy csak az orvosi tartalmakat precízebbek, Pl. Google ScholarGoogle Scholar

33 Jelenlegi megoldások Mély webes tartalom Hibrid technika: webes keresőrendszerek szolgáltatásként keresnek speciális tartalmakat pl. Altavista hírkeresője A kereső továbbítja a kérdést a legnépszerűbb újságok saját keresőihez Tudnia kell pontosan, hogy melyik űrlapmezőt kell kitöltenie Keresőcsapda miatt a keresők általában csak adott mélységig követik a linkeket (pl. dinamikus linket csak statikus oldalról követnek -> el kell hitetni vele, hogy a dinamikus link statikus (?))

34 Jelenlegi megoldások A szemantika megragadása Katalógusok : Emberek által összegyűjtött oldalak kereshetővé tétele. Pl. Yahoo!, Open Directory Project Kézzel váltjuk ki a begyűjtés és indexelés lépéseit Mivel emberek válogatnak, a minőség garantált Jelmondatuk: „HUMANS do it better”

35 Jelenlegi megoldások A szemantika megragadása Hiába gyűjtünk kézzel, ha az a macska kifejezést használja és mi cicára vagy állatra keresünk rá (teljes szöveges keresés) A katalógusok nagyon lassan képesek követni az Internet változásait

36 Szemantikus web célja Metainformációk: oldalakhoz társított plusz információk Pl. oldalak fontossága, kigyűjtött kifejezések helye, mérete és előfordulási gyakorisága A szemantikus web célja a metainformációk és a következtetéshez szükséges háttértudás egységes és feldolgozható alakban történő leírása.

37 Szemantikus web célja Új kihívások tehát: – információ-túlterheltség – Kulcsszavas keresés hatékonytalansága – Hitelesített információ hiánya – Természetes nyelvfeldolgozó rendszerek hiánya A szemantikus web struktúrát hoz az információs káoszba. Fel kell címkéznünk az információkat a gép által értelmezhető jelöléssel, és tudnunk kell, hogy mely információ megbízható.

38 Szemantikus web célja Amikor felkutatjuk az új információt: – meg kell bíznunk abban – össze kell tudnunk hasonlítani a többi információval – szükségünk van egy eszközre, mely képes az új technológia előnyeit kiaknázni

39 Szemantikus web lehetővé teszi Automatikus kiszolgáló – Személyes digitális kiszolgáló – Ismeri preferenciáinkat, igényeinket, szokásainkat – Képes egy tudásbázis létrehozására, mely felhasználja a korábbi információkat – Kombinálni tudjuk a helyi tudást a távoli szolgáltatással – Pl. szállásfoglalás, repjegy, étrend, orvosi tanácsok, napirend

40 Szemantikus web lehetővé teszi Adatbázisok integrálása – Adatbázisok eltérnek szerkezetben és tartalomban – Alkalmazások többféle adatbázist kezelnek – Szükség van az adatbázisok szemantikájának ismeretére – Pl. cégek egyesítésénél az adminisztrációs adatok összekapcsolása

41 Szemantikus web lehetővé teszi Digitális könyvtárak – Webes katalógusok – Adatok kiterjeszthetőek multimédiás adatok területére – Szoftver ágensek: Olyan programok, melyek viszonylag autonóm módon, a felhasználó vagy a számítógép helyett hajtanak végre feladatokat. Pl. segíthetnek a megfelelő dokumentum megtalálásában

42 Mire is van szükség? Metaadat: Forrás, mely saját magáról ad információt A metaadatnak gép által értelmezhető formájúnak kell lennie Ágensnek következtetéseket kell levonnia erről a metaadatról Ehhez metaadat-szókészletet kell definiálni

43 Mire is van szükség? Egyértelmű forráselnevezés (URI – Universal Resource Identifier) Közös adatmodell a metaadat kifejezéshez (RDF) Módszer a metaadat weben történő eléréséhez Ontológiák (szókészlet + köztük levő kapcsolatok + szókészleten végezhető műveletek + axiómák, következtetési szabályok)

44 Szemantikus web A szemantikus web metaadat alapú infrastruktúra weben történő következtetéshez. Ötlet atyja: Tim Berners Lee (World Wide Web és a hozzá kapcsolódó technológiák URI, HTML, HTTP stb.)

45 Szemantikus web Két alapötlet tehát: 1.Metainformációk Internetes erőforrásokhoz kapcsolása 2.Metaadatokon történő következtetés Pl. 1.Egy könyvről metaadat a címe, írója, kiadás dátuma, kiadó, terjedelme stb. 2.Ha a könyv csimpánzokról és oroszlánokról szól, akkor tudjuk, hogy állatokról kaphatunk információkat

46 Szemantikus Web

47

48 Rétegek A szemantikus web három különböző rétegből áll: – metaadatok: az erőforrások és tulajdonságok leírása – sémák: a fogalmak hierarchikus leírása – logikák: leíró logikák

49 Építőelemek Az adatokat egyértelműen meg kell címezni a weben, vagyis el kell őket nevezni. (URI=URL+URN) Lényegében a weben lévő dokumentumoknak önleíróknak kell lenniük, hogy egyértelműen azonosíthatók legyenek az információk. Az önleíró dokumentumnak egységes szintaktikájúnak is kell lenni. (XML) Szükség van egy precíz adatmodellre, amely formális keretet ad az adatok egymáshoz való kapcsolatainak definiálására, és a kapcsolatok leírására (RDF). Az adatok közti kapcsolatokat, illetve a kapcsolt adatok referenciáit el kell tudni érni, le kell tudni kérdezni (SPARQL). A kapcsolatok leírására szolgáló terminológiát definiálni kell tudni (RDFS, OWL, SKOS). A kapcsolatokon, illetve azok leírásán, logikai következtetéseket kell tudni levonni (OWL, RIF).

50 Néhány ontológia The Programmes Ontology- po:, (TV és rádió műsor) shtml shtml Music Ontology Specification –mo: (Zene, előadó, album, zeneszám) Friend of a Friend – foaf: PURL Persistent Uniform Resource Locators emberi kapcsolatok :

51 XML (eXtensible Markup Language) A HTML a WEB kialakulásának alapnyelve volt A HTML elsősorban adatmegjelenítésre szolgál A HTML alapfunkciója: az információ megjelenítése a web-en (betűméret, típus, táblázat, bekezdés). XML a W3C ajánlása, szabvány Az XML célja:az adatok és azok struktúrájának leírása, számítógép számára feldolgozható formában XML a gépek közötti adatcsere szabványos megvalósítása

52 XML Az XML tehát: – bővíthető nyelv (eXtensible), mert saját elemeket lehet deklarálni – jelölő (Markup), mert az elemek megadott jelöléssel különböztethetőek meg – nyelv (Language), mert rögzíthető a szókincs és a szintaktika

53 XML XML egy leírónyelv, mely más nyelvek leírására szolgál XML-alkalmazás: XML segítségével megalkotott új nyelv (pl. XHTML, MathML) XML-dokumentum: egy ilyen nyelv példánya XML az SGML (Standard Generalized Markup Language) egy részhalmaza HTML nyelv egy SGML-alkalmazás

54 XML alkalmazások Számos olyan nyelv létezik amelyek bizonyos probléma megoldására, általánosítására készültek XML-ben: – XSL: adatlap formázó nyelv ami specifikusan XML adatok feldolgozására készült. – XHTML: eXtensible HyperText Markup Language. – WML: mobilkommunikáció nyelve. – SMIL: szabványos multimédia leíró nyelv, amely korszerű multimédiás, és web megjelenést tesz lehetővé. – XSL Patterns: lekérdező nyelv, amely hatékony keresést biztosít az XML dokumentumok között – SVG: Scalable Vector Graphics, 2D vektoros grafika leírásához. – VoiceXML: beszédfelismerés, internetes hangátvitel, hangtömörítés. – MathML: matematikai képletek leírásához.

55 XML Az XML-dokumentum elemekből és attribútumokból áll. Az elemek részei: nyitó címke, adat, záró címke Példa: Hello Világ!

56 HTML vs. XML HTML által felhasználható elemek köre zárt, jelentésük előre meghatározott XML elemeket a szerkesztő határozza meg XML-dokumentum szöveges formátumú, ember számára is olvasható, nem volt szempont az adatok tömör ábrázolása Problémát jelenthet a sávszélesség Cél: szabványos módon kommunikáljunk

57 XML Deklarációk: – version: a dokumentum által használt XML verzió száma – encoding: karakterkódolás; az UTF-8 egy 1 bájtos kódolást jelent. UTF-16 két bájton tárol Az XML fájl egy fő-elemet tartalmaz, amelyhez az összes többi is tartozik, ez a gyökérelem. pl: – az elemek hierarchikusan vannak egymásba ágyazva, a csúcson egy gyökérelem áll – a beágyazás egyértelmű kapcsolatot alakít ki az elemek között -> az adatok struktúráját adjuk meg azok az elemek amelyek más elemeket is tartalmaznak: szülő elemek a szülő elemeken belüli elemek a gyermek elemek. Az elemek korlátlan számú attribútumot (tulajdonságot) tartalmazhatnak. – pl.: id attribútum = ”123456” – az attribútum nevek hossza nem korlátozott – minden attribútumnév betűvel kezdődik.

58 XML elemek Piroska Nagymama Megyek hozzád ma délután! Viszek kalácsot! Van egy farkas az erdőben! Egy XML elem lehet: egyszerű, összetett és vegyes Egyszerű elem tartalma egyszerű típusú adat Piroska Ha egy elemnek vannak gyerekei, akkor az elem összetett. ……

59 XML attribútumok Az XML elemek tetszőleges számú attribútummal rendelkezhetnek Egy attribútum csak egyszer szerepelhet Az attribútumok értékei csak egyszerű típusok lehetnek Egy adat elem vagy attribútum, az tervezési kérdés Akkor érdemes attribútumot választani, ha az adott információ nem az elem fő mondanivalója

60 XML attribútumok Megyek hozzád ma délután! Viszek kalácsot! Van egy farkas az erdőben!

61 XML-névterek Az elem- és attribútumnevek egyediek az adott dokumentumra nézve Ezeket lokális neveknek hívjuk. Több XML-dokumentumnál ezek a nevek ütközhetnek -> XML-névterek Prefixet teszünk a lokális név elé pl. A prefixszel ellátott lokális nevet minősített névnek nevezzük A szabvány előírja, hogy a prefixeknek URI-knek (Universal Resource Identfier) kell lenniük

62 XML- névterek XML-névtér specifikáció: prefix + névtér neve Megadása XML-attribútummal történik – xmlns:prefix=”…..” – xmlns=”….” --> alapértelmezett névtér: ha egy elemnek nincs prefixe, akkor ebbe a névtérbe tartozik A névtereknek hatásköre van: Az adott névtér az őt definiáló elemen belül (már abban az elemben is) látható csak. Ha azt akarjuk, hogy az egész dokumentumban látható legyen, akkor a gyökérelem attribútuma legyen.

63 Jól formázott vs. érvényes „Jól formázott” (well-formed) az XML dokumentum, ha szintaktikailag teljesen hibátlan. Azaz egy gyökéreleme van, és minden nyitó címkéhez tartozik egy záró címke, valamint az attribútumok megadása helyes. Érvényes (valid): ha az XML- dokumentum példánya az adott nyelvnek  szükséges a nyelv szabványos leírása. Erre szolgálnak az XML-sémák.

64 XML-séma Leírják az XML-dokumentumban felhasználható elemeket, attribútumokat, azok tartalmát és az elemek egymáshoz való viszonyát. Pl. Egy üzenetnek pontosan egy feladója, címzettje, törzse lehet és tartozhat hozzá egy vagy több utóirat. Megadjuk az elemek sorrendjét is.

65 XML sémanyelvek Az XML sémanyelvek lehetővé teszik megszorítások megfogalmazását XML dokumentumok szerkezetére és tartalmára Az XML sémák XML dokumentumok egy osztályát definiálják, melyeket példányoknak (instances) nevezünk

66 Néhány XML sémanyelv Az XML 1.0 részeként definiált DTD egy primitív XML séma nyelv Korszerű XML séma nyelvek: – W3C XML Schema – RELAX NG (ISO/IEC :2003) – Schematron (ISO/IEC :2006)

67 XML Schema nyelvek XML Schema nyelvek a DTD-nél árnyaltabbak és használhatóbbak, XML-ben íródnak, Támogatják a névtereket Ajánlásként először 2001-ben jelent meg Önleíró (létezik a sémákhoz séma) Primitív adattípusok biztosítása Felhasználói típusok létrehozását támogatja Alkalmazások széles köre által használható

68 Alapfogalmak Sémakomponens, séma Deklaráció, definíció Típusdefiníció Egyszerű és komplex típus Típushierarchia

69 Sémakomponens, séma A sémák sémakomponenseknek nevezett alkotórészekből álló absztrakt objektumok Elsődleges sémakomponensek: – elemdeklarációk – tulajdonság-deklarációk (attribútum) – Típusdefiníciók Tartozhat hozzájuk azonosításra szolgáló név – A sémakomponensek közül a deklarációknak és definícióknak lehet neve, amely lehetővé teszi a komponensre történő hivatkozást – Az elsődleges sémakomponensek közül a deklarációkhoz kötelezően tartozik név, a típusdefiníciókhoz viszont csak opcionálisan – Azonos fajtájú sémakomponensek esetén követelmény a nevek egyedisége

70 Névterek, Cél-Névterek A gyökérelem és a sémakomponenseket ábrázoló elemek neve a URI-val azonosított névtérbe tartoznak. Ezt a névtér-nevet az xs vagy az xsd előtaghoz szokás hozzákötni egy névtér deklarációbanhttp://www.w3.org/2001/XMLSchema Minden sémadokumentumhoz tartozhat egy cél-névtér. Ha van cél-névtér, akkor a sémakomponensek nevei az általa meghatározott névtérbe tartoznak, egyébként nem tartoznak egyetlen névtérbe sem. sémakomponensek ”http://www.w3.org/2001/XMLSchema

71 Deklarációk, Definíciók Deklarációk: olyan sémakomponensek, melyek az érvényesítés során megfeleltethetőek a dokumentumok azon alkotórészeinek, melyeken érvényesítést kell végezni Definíciók: olyan belső sémakomponensek, melyeket más sémakomponensek használhatnak fel

72 Példák Egyszerű elem deklarációja: Típusdefiníció:

73 Egyszerű és komplex típusok Egyszerű típusok (adattípusok): – Számos beépített egyszerű típus áll rendelkezésre (például boolean, date, double, int) – Tulajdonságok és elemek típusaként is használhatóak – Nem teszik lehetővé tulajdonságok és elemtartalom használatát Komplex típusok: – Kizárólag az elemekhez állnak rendelkezésre – Lehetővé teszik tartalomként elemek, valamint tulajdonságok használatát – Nincsenek beépített komplex típusok

74 Típushierarchia Egy kivételtől eltekintve minden típusdefiníció (típus) egy másik típusdefiníció (típus) megszorítása vagy kiterjesztése – Ezt a másik típusdefiníciót (típus) alap- típusdefiníciónak (alaptípusnak) nevezzük – Az egyszerű típusok esetén valójában két további származtatási lehetőség is adott a megszorítás és a kiterjesztés mellett (lista- és unióképzés) – A típusdefiníciók közötti ezen kapcsolatok egy hierarchiát határoznak meg

75 Típushierarchia A kivételt jelentő típusdefiníció a hierarchia csúcsán lévő, melynek ur-típus-definíció a neve – Az ur- egy német előtag, melynek jelentése primitív, eredeti – Ez a típusdefiníciók hierarchiájának gyökere, melyből az összes többi származik – Implicit módon része minden sémának – A XML Schema névtérben anyType a neve

76 Típushierarchia Az ur-típus-definíciótól különböző minden komplex típus-definícióra az alábbiak egyike teljesül: – Egy egyszerű típus-definíció kiterjesztése – Egy másik komplex típus-definíció kiterjesztése – Egy másik komplex típus-definíció megszorítása Az egyszerű ur-típus-definíciótól különböző minden egyszerű típus-definícióra az alábbiak egyike teljesül: – Egy másik egyszerű típus-definíció megszorítása – Egy másik egyszerű típus-definíció (elem-típusdefiníció) felhasználásával listaképzéssel származtatott – Más egyszerű típus-definíciók (tag-típusdefiníciók) felhasználásával unióképzéssel származtatott

77 Adattípusok definiálása Egy olyan sémakomponenssel történik, amelyet a s sémadokumentumokban a simpleType elem ábrázol A sémában két helyen helyezhető el: – Felső szinten: kötelező egy név megadása a name tulajdonság értékeként – Elem- és tulajdonság-deklaráció, valamint típusdefiníció részeként: tilos név megadása (névtelen típusdefiníció) A simpleType elem a következő, a származtatás módját meghatározó elemek egyikét kell, hogy tartalmazza: – restriction (megszorítás) – list (listaképzés) – union (unióképzés)

78 Példák Adattípus felső szintű definíciója és felhasználása:

79 Példák Névtelen adattípus definíciója és felhasználása:

80 Adattípusok származtatása megszorítással Típusdefiníció származtatása történhet egy alap-típusdefinícióból megszorítással, ekkor a típusdefiníciós simpleType elemben a restriction elemet kell megadni – Alaptípusként használható atomi, lista és unió adattípus A restriction elem base tulajdonságának értékeként egy egyszerű típus- definíció neve adható meg... A restriction elem gyermekeként megadható egy névtelen típusdefiníciós simpleType elem...

81 Adattípusok származtatása megszorítással Minden korlátozó adattípus-tulajdonsághoz olyan elemeket kell használni, melyek value tulajdonsága hordozza a korlátozó adattípus-tulajdonság értékét Például Ha az alaptípus egy lista adattípus, akkor csak a következő korlátozó adattípus-tulajdonságok állnak rendelkezésre megszorítással történő származtatáshoz: – enumeration, length, maxLength, minLength, pattern, whitespace Ha az alaptípus egy unió adattípus, akkor csak az enumeration és pattern korlátozó adattípus- tulajdonságok állnak rendelkezésre

82

83

84

85

86

87

88 88

89 XSLT eXtensive Stylesheet Language Transformation Nyelv mely segítségével XML-dokumentumokat más XML-dokumentumokká transzformálhatunk A forrásdokumentumban különböző mintákra illeszkedő csomópontok felhasználásával egy új XML-fát építünk fel. Mintákat az XPATH segítségével adjuk meg Az XSLT által leírt transzformációt stíluslapnak nevezzük. Alapötlet: Különválasztjuk az adatokat és azok megjelenítését.

90 RDF elképzelés XML: szabványos adatcseréhez szükséges szintaktika Szükséges az átvitt információ szemantikájának egyeztetése Pl. egyik XML fájlban a távolság m-ben, a másikban lábban adott Szemantikus web célja, hogy az átvitt, tárolt információ jelentése is egyértelmű legyen

91 RDF elképzelés RDF nyelv segítségével egy webes tartalomhoz szabványos módon jelentést adunk A jelentést metainformációk (saját magáról ad információt) formájában adjuk meg RDF (Resource Description Framework)  Erőforrás-Leíró Keretrendszer alkalmas arra, hogy erőforrásokhoz metaadatot kapcsoljon

92 URI Erőforrás: Olyan objektum, mely URI-vel rendelkezik URI: Universal Resource Identifier  Általános Erőforrás-azonosító URI-k rövid literálok (karaktersorozatok) Céljuk: a weben található erőforrások azonosítása pl. weblap, egy kép, egy file

93 URI URI-k segítségével állításokat fogalmazhatunk meg, hiszen egyértelműen azonosítanak erőforrásokat Pl. Egy személyről az egyik állomány azt állítja, hogy kék szemű, a másik, hogy 185cm, könnyen összekapcsolhatjuk a személy URI-je alapján.

94 URI Speciális URI-k: – URL: Universal Resource Locator  Egységes Erőforrás-helymeghatározó – URN: Universal Resource Name  Egységes Erőforrás- név URL-k az erőforrásokat elérési módjukkal azonosítják URN-k egyedi szemantikával rendelkeznek, mindig rendelkezésre álló erőforrásokat azonosítanak

95 PÉLDÁK URI-re  weblap  címen keresztül egy személyt azonosítunk ftp://ftp.akarmi.com/valami  könyvtár azonosítása ftp://ftp.akarmi.com/valami uuid: BDC6E3F ZZ8  egyedi azonosító

96 URI URI-k két fajtája: – Abszolút URI: Egyértelműen azonosítanak, bárhol és bármilyen körülmények között. – Relatív URI: Csak adott környezetben van értelme, rendelkezésre kell, hogy álljon egy bázis URI. Egy komplex honlap különböző dokumentumai egymásra tudnak hivatkozni, anélkül, hogy tudnák pontosan, mely szerveren futnak.

97 URI Különbség: Hiányzik a sémaazonosító a relatív URI elejéről Sémaazonosítók határozzák meg az erőforrás elérési módját Sémaazonosító pl.: http, mailto, ftp, file, uuid Relatív URI a bázis URI sémaazonosítóját örökli

98 URI kiegészítő Az URI-khez kapcsolódhat egy opcionális kiegészítő A kiegészítőt a # jel választja el az URI törzsétől Kiegészítőt csak akkor használhatunk, ha az URI által azonosított erőforrás weben keresztül elérhető Ha csak egy kiegészítőből áll az URI, akkor a bázis URI-t egészíti ki Pl: – – #Ember

99 RDF elképzelés alapötlete Az erőforrásokat tulajdonságok segítségével más erőforrásokkal vagy közönséges literálokkal köti össze. Példa: „Nagy Pista címe – RDF gráf : Az erőforrásokat URI-val azonosítjuk, a tulajdonságokat közönséges nevükkel – XML- szintaxis – PÉLDÁK

100 RDF adatmodell RDF egy keretrendszer, mely a weben található információkhoz szemantikát rendelhetünk metaadatok segítségével. Az adatmodell halmazelméleti alapokon nyugszik A következő halmazok definiáltak: – Erőforrások (resources) – Tulajdonságok (properties) – Literálok (literals) – Kijelentések (statements)

101 Erőforrások Összes olyan objektum, melynek URI-je van. Olyan dolgok, melyekre állítás vonatkozhat Elméletileg minden elképzelhető entitást tartalmaz Pl: weblap, weblapon levő video álllomány, nem webes dolgok, melyek URN-nel azonosított

102 Tulajdonságok Erőforrásokhoz kapcsolható jellemzők Maguk is erőforrások A Tulajdonságok halmaz részhalmaza az Erőforrások halmazának Tulajdonságokat URI-k azonosítanak Tulajdonságnak van jelentése Megadható, hogy milyen erőforráshoz kapcsolható Megadható, hogy milyen értékeket vehet fel Megadható, hogy milyen viszonyba van más tulajdonságokkal Pl.

103 Literálok, Kijelentések Literálok: karaktersorozatok halmaza Kijelentések: – Hármasok halmaza: alany (subject)–állítmány (predicate)–tárgy (object) – Alany: erőforrás – Predikátum: tulajdonság – Tárgy : erőforrás vagy literál – Egy kijelentés vagy 3 erőforrás vagy 2 erőforrás és egy literál

104 RDF leírás Nem határozza meg az RDF kijelentések szinaxisát RDF leírás kijelentések halmaza, valamilyen konkrét szintaxis keretében realizálva Nem számít a hármasok sorrendje Az RDF adatmodell szemantikája, hogy a kijelentések igazak. Bináris relációkat írhatunk le az azonosított dolgok között

105 RDF alapú modellezés alapjai RDF adatmodell egy logikai modell, mely nem rendelkezik konkrét szintaxissal Viszont szükség van szintaxisra Az állításokat leírni, tárolni, szállítani kell Három szabványos adatmodell reprezentációt definiál – Hármasok halmaza – Címkézett, irányított gráf (elméleti szempont) – XML-adat (gyakorlati szempont) PÉLDÁK

106 RDF alapú modellezés alapjai Egy RDF gráfban csak abszolút URI-k szerepelhetnek Egy állítás tárgya tetszőleges erőforrás lehet, ezért egy gráfban egy él megjelenhet csomópontként is.  Tulajdonságokról is megfogalmazhatunk állításokat.

107 RDF alapú modellezés alapjai Modellezési szempontból nem szerencsés, ha a tárgy literál, hiszen nem azonosít egyértelműen Emlékezzünk, hogy az állításoknak feltétlenül igazaknak kell lenniük Jobb, ha URI-t használunk Ha ez nem lehetséges  üres vagy névtelen erőforrást használjunk

108 Üres vagy névtelen erőforrás nincs URI-je Üres vagy névtelen erőforrás a gráfban üres csomópont PÉLDA Struktúráltság növelésére is használható Pl. lakcím Ha XML-ben, vagy hármasként adjuk meg, akkor el kell nevezni őket Ezek a nevek különbözzenek a dokumentumban levő URI-ktől és literáloktól, de globálisan nem kell egyedieknek lenniük

109 RDF kijelentés Három URI-vel azonosított erőforrás vagy Két erőforrás és egy literál vagy Tartalmazhat egy köztes erőforrást Alany: URI-s erőforrás vagy üres erőforrás Tárgy: URI-s erőforrás vagy üres erőforrás vagy literál Predikátum: URI-s erőforrás (nincs címke nélküli él)

110 XML – RDF (Resource Description Framework) XML, XML SémaRDF, RDF Séma Szintaktikai megkötésekSzemantikai jelentés The author of is David.http://www.sth.com David David Pl. Mi az author címke tartalma? has author David állítások: alany-állítmány-tárgy

111 XML - RDF Kapcsolatok megadása: XML: Kevin Smith Jason Green Tom Carter RDF: Professor is a subclass of academicsMember. A kurzusokat (courses) csak academicsMember tarthatja.

112 RDFa Egyre több esetben gépek dolgozzák fel a web-et A gépeknek strukturált adatokra van szükségük Amikor „Like”-olunk, a gépek tárolják a az oldal címét, tartalmának típusát stb. Keresésnél, pontosabb információt gyűjtenek össze a strukturált adatok feldolgozásával RDFa: emberek számára olvasható HTML oldalak kiegészítése gépek által feldolgozható adattal

113 RDFa RDFa (Resource Description Framework in Attributes) RDFa 1.0 -> csak XHTML-re RDFa 1.1 -> XHTML (+XML alapú nyelvek (SVG)) és HTML5

114 RDFa Attribútum alapú Pl. Receptkönyv HTML attribútumokon túl RDFa attribútumokat is használunk Böngészők figyelmen kívül hagyják az általuk nem ismert attribútumokat  megjelenítést nem befolyásolják (emberek nem veszik észre a különbséget, a gépek viszont feldolgozzák)

115 RDFa Attribútum alapú: Receptkönyv Datum: Szótárakat használunk: – Dublin Core (http://dublincore.org/documents/dcmi-terms/)http://dublincore.org/documents/dcmi-terms/ – FOAF ( – Saját szótár (RDF sémák)

116 RDFa RDFa Lite (2009): vocab – alapértelmezett szótár megadása typeof – erőforrás RDF osztályát adja meg property – tulajdonság megadása prefix – szótárak rövidítésének megadása resource – erőforrás azonosítójának megadása RDFa Core: content - tartalmat ad (felülírja) about – erőforrás azonosítójának megadása rel és rev – kapcsolatot ad meg más erőforrásokkal

117 RDFa - vocab Alapértelmezett szótár Hatásköre az adott címke, ahol megadtuk, hacsak nem adtunk meg új alapértelmezett szótárat Elég relatív URI a hatáskörében

118 ... The Trouble with Bob Date: helyett... The Trouble with Bob Date:

119 RDFa - vocab Több szótár használata: The Trouble with Bob Date: All content on this site is licensed under a Creative Commons License. ©2011 Alice Birpemswick.

120 RDFa - vocab Egy tulajdonág megadása több szótárral A property értéke lehet lista is Pl. Alice (DC alkalmazások és a keresők is feldolgozhassák)

121 RDFa – typeof, property typeof: megadjuk, hogy az elem egy adott osztály egy példánya property: az adott osztályhoz tartozó tulajdonság megadása Szótár: Friend-of-a-Friend [FOAF]FOAF Alice Birpemswick, Phone:

122 RDFa - prefix RDFa bevezeti a kezdeti környezetet (inital context), mely megadja az alapértelmezett prefix-eket (W3C ajánlása) 1.1 Az általunk megadott prefix-ek felülírják a kezdeti környezet beállításait Ajánlatos a prefix-ek megadása, mert a kezdeti környezetben adottak változhatnak

123 RDFa - prefix The trouble with Bob Alice The trouble with Bob is that he takes much better photos.

124 RDFa - resource Erőforrást azonosít Értéke relatív vagy abszolút URL The trouble with Bob Date: Alice Jo's Barbecue Date: Eve

125 RDFa - resource Tárgy azonosítása URL-lel The trouble with Bob Alice

126 RDFa – Ismétlődő minta HTML+RDFa vezette be a tulajdonság másolásának lehetőségét Kijelentések halmaza lesz a minta, ami ismétlődik Ötlet: egyszer adjuk meg, majd hivatkozunk rá több helyen Két tulajdonság: rdfa:copy, rdfa:Pattern

127 RDFa – Ismétlődő minta Ami többször megjelenik: …… A mintát egyszer adjuk meg: All content on this blog item is licensed under a Creative Commons License. ©2011 Alice Birpemswick.

128 RDFa - content Módosítja (felülírja) egy címke tartalmát a gép számára Ember számára érthetőbb formátumot módosít a gép számára feldolgozhatóbb formátumra Pl. 10th of September, 2011

129 RDFa – adattípus használata RDFa feldolgozó pontosabb információkat kap Pl. © 2011 Alice Birpemswick.

130 RDFa - about The trouble with Bob Alany URI-je: /alice/posts/trouble_with_bob NEM rövidíthetjük így: The trouble with Bob Tárgy URI-je: /alice/posts/trouble_with_bob

131 RDFa - about about a resource alternatívája about –tal is azonosító URL-t adhatunk meg használhatunk property attribútumot is az adott címke esetén Pl. The trouble with Bob

132 RDFa -about Wikinomics Don Tapscott

133 RDFa - rel A property alternatívája Ha lehet inkább használjuk a property –t A rel esetén a feldolgozó nem az aktuális elemet veszi figyelembe, hanem lentebb megy a fában

134 RDFa - rel

  • Bob
  • Eve
  • Manu Helyett:

    135 RDFa - rel

  • Bob Eve Manu

    136 John's Home Page

    137 John's Home Page My name is John D and I like Einstürzende Neubauten. My favorite book is the inspiring Weaving the Web by Tim Berners- Lee.

    138 Alice Birpemswick, Phone: Bob Eve Manu

    139

    140 Üres csomópont Alice Birpemswick, Phone: Ha nincs megadva a resource attribútum, akkor a typeof attribútumhoz tartozó címke (div) az alany, melyekre a kijelentések vonatkoznak.

    141 RDF-XML RDF-állítások leírása XML-szintaxissal XML deklarációval indul (Gyökér)Elem: … – tartalmát RDF-ként kell értelmezni – RDF-tartalmat elhelyezhetjük egy nagyobb XML- forrásba – A feldolgozó innen tudja megkülönböztetni az RDF részt a többitől

    142 RDF-XML XML-névtérként adjuk meg az RDF specifikációhoz tartozó URI-t: xmlns:rdf=”http://www.w3.org/1999/02/22- rdf-syntax-ns#” Ha egy minősített név előtagja rdf:, akkor a lokális névvel jelölt elem a fenti névtérhez tartozik.

    143 RDF kijelentés Az RDF-kijelentést az …. elemmel adjuk meg. rdf:Description elem rdf:about attribútum értékeként adjuk meg a kijelentés alanyát ….

    144 RDF kijelentés A kijelentés predikátumát és tárgyát pedig tulajdonságelemmel adjuk meg A hozzájuk tartozó alany a befoglaló Description elem Csontváry Kosztka Tivadar A kijelentés tárgya egy literál, a predikátum egy minősített név

    145 ”http://www.berze- nagy.sulinet.hu/stilus/modern/cedrus.htm Csontváry Kosztka Tivadar

    146 Megosztott alany használata Kis István Vagy:

    147 Kis István

    148 Erőforrások tárgypozícióban Literál a tárgy: Kis István Erőforrás a tárgy:

    149 Erőforrások tárgypozícióban Írhattuk volna: Ekkor a tárgy egy karaktersorozat, nem URI-vel ellátott erőforrás.

    150 Erőforrások tárgypozícióban Erőforrás a tárgy: Az rdf:resource attribútum értékét URI-ként értelmezzük.

    151 Erőforrások tárgypozícióban Az rdf:resource attribútum mindig egy olyan elemhez tartozik, mely kötelezően egy rdf:Description elem gyermeke – A kijelentés alanya: rdf:Description által azonosított URI – A kijelentés predikátuma: az elem elnevezése (prefix:lokális név) által azonosított URI – A kijelentés tárgya: rdf:resource attribútum értéke által azonosított URI

    152 Köztes erőforrások XML-alakja rdf:parseType=”Resource” ”http:// Csontváry Kosztka Tivadar 1853

    153 Köztes erőforrások XML-alakja rdf:parseType=”Literal” Ez az én gépem ! Ha az rdf:parseType értéke Literal, akkor a tulajdonság- elem tartalmát az RDF-olvasóknak nem szabad értelmez- ni.

    154 Köztes erőforrások XML-alakja rdf:nodeID=”…”  az üres csomópontnak adunk egy lokális, egyedi azonosítót Csontváry Kosztka Tivadar 1853

    155 Relatív URI-k az XML-szintaxisban URI-k jelenléte az XML-alakban: – Predikátum:minősített név – Alany, tárgy: about és resource attribútum értékei Sok esetben abszolút URI-t használunk, de az XML-szintaxis megengedi a relatív URI-k használatát minden olyan esetben, amikor abszolút is használható. Megadunk egy bázis URI-t. Alapesetben a bázis URI a dokumentum saját URI- je, de ettől különbözőt is megadhatunk xml:base attribútummal.

    156 Tegyük fel, hogy a dokumentumot a URI azonosítja. Ekkor a hármas: { [http:// ], [http://purl.org/dc/elements/1.1/contributor], [http://www.tricky.org/tricky/ people/Tas] }

    157 Ha bázis URI-t adunk meg, akkor könnyebben mozgathatjuk a file-t. Hármas: { [http:// ], [http://purl.org/dc/elements/1.1/contributor], [http://www.example.org/base/ people/Tas] }

    158 Az rdf:ID attribútum Olyan esetekben használjuk, ha nincs egy erőforráshoz URI rendelve, vagy nem ismerjük azt. Összetartozó dolgok RDF-leírása esetén használjuk Egy dokumentum bázis URI hatáskörében egy rdf:ID-val adott azonosító csak egyszer fordul elő.

    159 Szép Hajnalka Varga László

    160 Az rdf:ID attribútum Alany azonosítója: bázis URI#rdf:ID értéke pl: Fontos, hogy megadjuk a bázis URI-t az xml:base attribútummal, így bárhol is helyezkedik el a file az azonosító változatlan. Az így meghatározott erőforrásra azonos xml:base hatáskörön belül az rdf:about attribútummal hivatkozhatunk.

    161 Szép Hajnalka

    162 Az így meghatározott erőforrásra más dokumentumból is hivatkozhatunk: …. rdf:nodeID által megadott azonosító csak a dokumentumon belül használható, míg az rdf:ID értékére kívülről is hivatkozhatunk.

    163 Nem bináris relációk Nincs értelme arról beszélni, hogy az egyes elemek milyen viszonyban vannak egymással Pl. – rúgott reláció, mely egy focistát, egy meccset és egy számot köt össze – Súlya reláció, mely egy terméket, egy mértékegységet és egy számot köt össze A relációk leírásához rdf:value –t használunk a „fő érték” megadásához

    164 Nem bináris relációk 2.5

    165 Példányok Lehetőségünk van arra, hogy egy erőforrásról kijelenthessük, hogy egy adott osztály példánya Megadására rdf:type tulajdonság szolgál, mely azonosítja az osztályt

    166 Példányok Példányok megadása nagyon gyakori, így az XML-szintaxis lehetőséget biztosít egyszerűsített írásmódra: Kis István

    167 Példányok Egy erőforráshoz tetszőleges számú rdf:type tulajdonság kapcsolódhat. Ekkor egy erőforrás több osztálynak is példánya Az egyszerűsített írásmódot azonban csak egyikük esetében alkalmazhatjuk.

    168 Magasabb rendű kijelentések Kijelentéseket teszünk kijelentésekről  magasabb rendű kijelentések Pl. ki tette a kijelentést, vagy mikor történt a kijelentés Valaki azt állítja, hogy Csontváry 1755-ben született. alany: ez a titokzatos valaki predikátum: állítja tárgy: a kijelentés, hogy Csontváry 1755-ben született.

    169 Magasabb rendű kijelentések DE! az RDF kijelentés tárgya erőforrás vagy literál  kijelentésünket egy speciális erőforrásként modellezzük Ez a folyamat a reifikáció. A speciális erőforrás neve: reifikált kijelentés. Egy reifikált kijelentés az rdf:Statement osztály példánya. { [URI1], [rdf:type],[rdf:Statement]} Az URI1-gyel azonosított erőforrás egy reifikált kijelentés, azaz egy valós hármas modellje.

    170 Magasabb rendű kijelentések Egy hármas alanyát: rdf:subject predikátumát: rdf:predicate tárgyát: rdf:object tulajdonságokkal rendelhetjük hozzá a kijelentéshez. { [URI1], [rdf:subject],[http://www.festok.hu#csontvary]} { [URI1], [rdf:predicate],[s:szulido]} { [URI1], [rdf:object],[”1755”]} Eredeti kijelentésünk: { [http://www.secret.hu#o], [n:allitja], [URI1]}

    171 1755

    172 Magasabb rendű kijelentések A reifikált kijelentést általában köztes erőforrásként ábrázoljuk. Fontos, hogy ha egy reifikált kijelentés jelen van egy RDF gráfban, nem jelenti azt, hogy az általa modellezett kijelentés is benne van. !! Az RDF-kijelentések tényállításokat fejeznek ki. !! A példában az a tényállítás, hogy valaki állít valamit.

    173 Konténerek és kollekciók RDF nem ad eszközöket arra, hogy saját osztályokat, tulajdonságokat definiálhassunk, az RDF sémák alkalmasak erre. Beépített osztályok vannak, melyek segítségével erőforrásokat foglalhatunk csoportokba. Konténereket definiálhatunk, melyekhez az RDF beépített osztályokat és tulajdonságokat biztosít.

    174 Konténerek - Bag Bag (rdf:Bag) Erőforrások vagy literálok olyan csoportja, ahol egy elem többször is előfordulhat, és az elemek sorrendje nem lényeges. Lehet üres. Pl. bevásárlókocsi tartalma

    175 Konténerek - Sequence Sequence (rdf:Seq) Rendezett rdf:Bag, azaz egy elem többször is előfordulhat, de az elemek sorrendje lényeges. Lehet üres. Pl. alkalmazottak névsora abc-rendben

    176 Konténerek -Alternative Alternative (rdf:Alt) Erőforrások és literálok csoportja, ahol egy elem többször is előfordulhat, de az elemek bizonyos szempontból egyenértékűek és felcserélhetők egymással (egymás alternatívái). Legalább egy eleműnek kell lennie. Pl. egy erőforrás elérhetőségének listája, ha az osztottan van jelen (mirror sites)

    177 Konténerek RDF nem nyújt a matematikai halmaz fogalmának megfeleltethető konténerkonstrukciót. Állításokat fogalmazunk meg egy erőforrásról. rdf:type tulajdonság használata Nem hozunk létre konténert, pusztán egy már létező erőforrásról jelentjük ki, hogy az.

    178 Konténerek A konténer elemeit speciális RDF-tulajdonságokkal írhatjuk le: rdf:_n formátum, ahol n egy természetes szám. Az rdf:_n helyett használhatunk rdf:li –t is. Helyébe az rdf:_1, rdf:_2 stb. kerül.

    179 Konténerek Kovács Béla Nagy Géza Kis Ádám A sorrend a regisztráció ideje Tünde

    180 Konténerek Előbbi példában az rdf:Bag a kijelentés tárgya. Nem adtunk meg URI-t, így a konténert üres csomópontként adjuk meg. Bizonyos esetekben a konténer használatát kiválthatjuk állításokkal. {[http://www.peldahonlap.hu],[dc:creator],”Kovács Béla”} {[http://www.peldahonlap.hu],[dc:creator],”Nagy Géza”} {[http://www.peldahonlap.hu],[dc:creator],”Kis Ádám”}

    181 Konténerek DE! Gandalf Lord Elrond Zsákos Frodó A bizottság elfogadta, de nem biztos, hogy minden tagja. Állításokkal felírva mást jelenthet.

    182 Konténerek CD Record Tape

    183 Kollekció Olyan csoportok, melyek zártak. Csak és kizárólag az általunk megadott elemeket tartalmazzák. Ez egy lista. Az rdf:List osztály egy példánya. A kollekció első elemét rdf:first tulajdonsággal adjuk meg, a maradék pedig egy újabb kollekció, melyet rdf:rest tulajdonságal adjuk meg.

    184 Kollekció Kovács Béla Nagy Géza Kis Ádám

    185 Adattípusok az RDF-ben Az RDF-ben literálokat használunk. Két fajtájuk van: – Közönséges literál (eddig ezzel találkoztunk) – Típusos literál Az RDF nem rendelkezik beépített típusokkal. Lehetőséget ad arra, hogy egy literálhoz hozzárendeljünk egy URI-t, mely annak típusát adja meg. XML séma beépített típusait használhatjuk. 23

    186 RDF sémák A szemantikus web egy következtetéseket elősegítő infrastruktúra az Interneten. Pusztán RDF-kijelentések alapján sokszor nem lehet következtetni. Kijelenthetjük például, hogy egy ember barátja a másiknak: {[U1],[http://www.example.org/hun/barátja],[U2]} De, el tudjuk-e dönteni, hogy az egyik ember ismeri-e a másikat?

    187 RDF sémák A gép számára a kijelentés csak annyit állít, hogy viszonyba állnak. Háttértudás szükséges ahhoz, hogy a megállapítsa, hogy ismerik is egymást. Kell egy olyan kijelentés, hogy bármely két erőforrás között, melyek n:barátja viszonyban állnak egymással, fennáll az s:ismerőse viszony is. Fontos lehet, hogy megadhassuk, a tulajdonságok tranzitivitását, szimmetrikus jellemzőjét stb.

    188 RDF sémák Családi házak osztálya

    189 RDF osztályok Egy erőforrás osztály, ha az rdfs:Class osztály egy példánya Külső elérés esetén, ki kell írni a teljes URI-t (http://www.example.org#Állat)

    190 RDF osztályok Az A osztály alosztálya a B osztálynak, ha A minden példánya, példánya B-nek is. Alosztály-szülőosztály viszonyban van pl. halak-állatok, családi házak-épületek stb. Egy osztálynak tetszőleges számú szülőosztálya és alosztálya lehet. Megadása az rdfs:subClassOf tulajdonsággal történik. Az rdfs:subClassOf tulajdonság tranzitív.

    191 RDF osztályok Hidegvérű állatok Emlős állatok osztálya Emberek osztálya

    192 RDF osztályok rdfs:comment tulajdonsággal ember számára i érthető megjegyzéseket fűzhetünk erőforrásokhoz Másik sémában definiált osztályt használunk fel Kapcsolatot teremtettünk két séma között Érdemes felhasználni a már meglévő, definiált osztályokat  elkerüljük a redundanciát

    193 RDF osztályok 23 Képesek vagyunk következtetések elvégzésére. Az RDF sémának köszönhetően tudjuk, hogy Willy egy Állat.

    194 RDF tulajdonságok Az RDF tulajdonság az rdf:Property osztály példánya Az erőforrásról példányosítással jelenthetjük ki, hogy az egy tulajdonság. Az RDF lehetővé teszi, hogy megadjuk a tulajdonságok közötti hierarchikus viszonyokat is.  rdfs:subPropertyOf – tranzitív Tulajdonsághoz is megadhatunk rdfs:comment megjegyzéseket.

    195 RDF tulajdonságok Szociológiai reláció Közeli ismerősök

    196 RDF tulajdonságok Amorf Ördögök alapítója Építőmérnök Lehet következtetni arra, hogy Kardos László ismeri Dömét, ismerve az RDF tulajdonságok hierarchikus viszonyait!

    197 RDF tulajdonságok RDF sémák lehetőséget adnak arra, hogy a séma szintjén meghatározhassuk osztályok és tulajdonságok adatszintű viszonyait.  megadhatjuk egy tulajdonság értelmezési tartományát és/vagy értékkészletét Egy RDF tulajdonság értelmezési tartománya az alany osztályát határozza meg. Egy RDF tulajdonság értékkészlete a tárgy osztályát határozza meg.

    198 RDF tulajdonságok {[E1],t:hallgatója,[E2]} [E1] erőforrás a p:Egyetem osztály egy példánya [E2] erőforrás a n:Ember osztály egy példánya Értelmezési tartomány megadása rdfs:domain tulajdonsággal történik Értékkészlet megadása pedig az rdfs:range segítségével

    199 RDF tulajdonságok AZ értelmezési tartomány és az értékkészlet is egy-egy osztály. Ha nincs megadva az értelmezési tartomány, akkor az rdfs:Resource osztály lesz  bármely erőforrás Ha nincs megadva az értékkészlet, akkor bármely erőforrás vagy literál lehet. Ha több rdfs:domain (rdfs:range) is adott, akkor az osztályok metszete lesz.

    200 RDF tulajdonságok Az rdfs:domain és rdfs:range segítségével globális tulajdonságkorlátokat írhatunk le. Globális, mert miután megadtuk őket, nem megváltoztathatóak. Hátránya: pl. n:mérete értékét beállíthatjuk egész értékként, ami megfelelő, ha a c:Cipő osztályra vonatkoztatjuk, de nem jó a p:Póló-ra, mert ott S,M,L,XL méretek vannak Az RDF séma nem ad lehetőséget arra, hogy egy RDF tulajdonság sémabeli definícióját egy adott osztály definíciójához köthessük. (lokális tulajdonságkorlát )

    201 RDF esettanulmányok: Dublin Core A saját szótárak tényleges szerepe az lenne, hogy egy mindenki által elfogadott közös szótárat bővítsen ki. Az ilyen, sok ember által elfogadott szótárak általában magas szintűek. Nagyon általános dolgokat definiálnak, mintegy építőelemeket nyújtva a tényleges alacsony szintű sémákhoz.

    202 Dublin Core Dublin Core magas szintű fogalmakat definiál. RDF séma, melyben főleg tulajdonságok vannak definiálva. Nem célja, hogy minden területet lefedjen, az egyes közösségeknek új elemekre lehet szükségük (dc felhasználása)

    203 Dublin Core – Néhány tulajdonság Title: Adott erőforráshoz tartozó név. Creator: Adott erőforrás tartalmának elkészítéséért felelős entitás neve. (személy, szervezet, szolgáltatás) Subject: Adott erőforrás tartalmának témája. Description: Adott erőforrás tartalmának összefoglalása, leírása. (tartalomjegyzék, referencia, szabad szöveg) Publisher: Adott erőforrás elérhetőségéért felelő entitás neve. (személy, szervezet, szolgáltatás)

    204 Dublin Core – Néhány tulajdonság Contributor: Adott erőforrás tartalmának elkészítéséhez hozzájáruló entitás neve. (személy, szervezet, szolgáltatás) Date: Adott erőforráshoz kapcsolódó esemény időpontja. (tipikusan annak elkészítési ideje) Type: Adott erőforrás tartalmának típusa. Identifier: Adott erőforrás egyértelmű azonosítója.

    205 Turtle Terse RDF Triple Language Kiterjesztése az N-Triples-nek, de bizonyos elemeket felhasznál az N3-ból is. Szintaxis: <>  abszolút URI megadása ”……”  literál  névtér megadása ;  több predikátum-tárgy pár megadása ugyanazon alanyhoz tartozóan.  az állítások, névtér megadás lezárása

    206 contact:. rdf:type contact:Person; contact:fullName "Eric Miller"; contact:mailbox ; contact:personalTitle "Dr.".

    207 Turtle –Üres csomópont _:azonosító  üres csomópont Az azonosító segítségével hivatkozhatunk a fájl más pontjáról. []  üres csomópont Nem tudunk rá hivatkozni.

    208 Turtle – Üres exterms:. dc:title "RDF/XML Syntax Specification (Revised)"; exterm:editor _:abc. _:abc exterms:fullName "Dave Beckett"; exterms:homePage.

    209 Turtle – Üres exterms:. dc:title "RDF/XML Syntax Specification (Revised)"; exterm:editor [ exterms:fullName "Dave Beckett"; exterms:homePage ].

    210 Turtle :item1345  erőforrás azonosítása névtér használata prefix nélkül fregmens azonosító (fragment identifier) A bázis URI-hoz csatlakozik. Az XML szintaxis rdf:ID eleméhez hasonló hivatkozhatunk rá a m1345 abszolút URI-vel, ha a dokumentum a címen érhető el m1345

    211 Turtle – fregmens exterms :. :item10245 exterm:models "Overnighter"^^xsd:string; exterm:sleeps "2"^^xsd:integer; exterm:weight "2.4"^^xsd:decimal; exterm:packedSize "784"^^xsd:integer.

    212 Turtle :item10245 exterm:sleeps "2"^^xsd:integer; Megadhatjuk, hogy milyen értékeket adhatunk meg literálként Típus megadása: ^^ és XML Schema beépített típusai

    213 Turtle – fregmens xsd:. sportex:ratingBy "Richard Roe"^^xsd:string; sportex:numberStars "5"^^xsd:integer.

    214 Turtle Előbbi példák mutatják, – hogy bárki képes, bármely szótár használatával információkat hozzárendelni egy adott erőforráshoz, – nem szükséges, hogy ezen információk ugyanazon a helyen legyenek, hanem bárhol lehetnek a weben, – bármilyen új tulajdonságot, vagy értéket hozzárendelhetünk egy meglévő erőforráshoz, csak a megfelelő URI-t pontosan meg kell adni.

    215 Turtle Ha nem az állományunk helye az adott erőforráshoz tartozó URI, akkor bázis URI-t adhatunk Valamennyi relatív URI a bázis URI-hez tartozik

    216 Turtle Egy erőforrás egy osztály példánya: :item10245 rdf:type ; Ha a Tent osztály ugyanazon a helyen van definiálva, akkor a :Tent is használható. A Turtle biztosít egy rövidítést a példányosításra az rdf:type alternatívájaként: a :item10245 a

    217 Turtle – Konténerek (Bag)

    218 Turtle - s:. s:students [ a rdf:Bag; rdf:_1 ; rdf:_2 ; rdf:_3 ; rdf:_4 ; rdf:_5. ].

    219 Turtle - Alt

    220 @prefix s:. s:DistributionSite [ a rdf:Alt; rdf:_1 ; rdf:_2 ; rdf:_3. ].

    221 Turtle - kollekció

    222 @prefix s:. s:students ( ).

    223 Turtle - s:. s:student _:sch1. _:sch1 rdf:first ; rdf:rest _:sch2. _:sch2 rdf:first ; rdf:rest _:sch3. _:sch3 rdf:first ; rdf:rest rdf:nil.

    224 Turtle – RDF séma Osztályok :MotorVehicle rdf:type rdfs:Class. vagy :MotorVehicle a rdfs:Class.

    225 Turtle – RDF osztály példánya Példány :companyCar rdf:type ex:MotorVehicle.

    226 Turtle – RDF osztály Hierarchia :MotorVehicle a rdfs:Class. :Van a rdfs:Class ; rdfs:subClassOf :MotorVehicle.

    227 Turtle – RDF osztályok

    228 :MotorVehicle rdf:type rdfs:Class. :PassengerVehicle rdf:type rdfs:Class. :Van rdf:type rdfs:Class. :Truck rdf:type rdfs:Class. :MiniVan rdf:type rdfs:Class. :PassengerVehicle rdfs:subClassOf :MotorVehicle. :Van rdfs:subClassOf :MotorVehicle. :Truck rdfs:subClassOf :MotorVehicle. :MiniVan rdfs:subClassOf :Van. :MiniVan rdfs:subClassOf :PassengerVehicle.

    229 Turtle – RDF :MotorVehicle a rdfs:Class. :PassengerVehicle a rdfs:Class; rdfs:subClassOf :MotorVehicle. :Truck a rdfs:Class; rdfs:subClassOf :MotorVehicle. :Van a rdfs:Class; rdfs:subClassOf :MotorVehicle. :MiniVan a rdfs:Class; rdfs:subClassOf :Van; rdfs:subClassOf :PassengerVehicle.

    230 Turtle – RDF tulajdonságok rdf:Property osztály egy példánya értelmezési tartomány (rdfs:domain) megadása értékkészlet (rdfs:range) megadása :registeredTo a rdf:Property; rdfs:domain :MotorVehicle; rdfs:range :Person.

    231 @prefix :johnSmithsCar a ex:PassengerVehicle; ex:registeredTo.

    232 Turtle – RDF tulajdonság rdfs:subPropertyOf :driver rdf:type rdf:Property. :primaryDriver rdf:type rdf:Property ; rdfs:subPropertyOf :driver.

    233 @prefix :MotorVehicle a rdfs:Class. :PassengerVehicle a rdfs:Class; rdfs:subClassOf :MotorVehicle. :Truck a rdfs:Class; rdfs:subClassOf :MotorVehicle. :Van a rdfs:Class; rdfs:subClassOf :MotorVehicle. :MiniVan a rdfs:Class; rdfs:subClassOf :Van; rdfs:subClassOf :PassengerVehicle. :Person a rdfs:Class. :registeredTo a rdf:Property; rdfs:domain :MotorVehicle; rdfs:range :Person. :rearSeatLegRoom a rdf:Property; rdfs:domain :MotorVehicle; rdfs:range xsd:integer. :driver a rdf:Property; rdfs:domain :MotorVehicle. :primaryDriver a rdf:Property; rdfs:subPropertyOf :driver.

    234 @prefix :johnSmithsCar a ex:PassengerVehicle; ex:registeredTo ; ex:rearSeatLegRoom "127"^^xsd:integer; ex:primaryDriver.

    235 Ontológiák (OWL) Web Ontology Language (OWL) Nem elírás, hanem egy szóvicc. A bagoly (owl) bölcs, ezért választották ezt a rövidítést eleje óta hivatalos W3C ajánlás. Ekkor váltak ajánlássá az RDF és RDF séma nyelvek is. Egymásra épülő technológiákról van szó.

    236 RDF-RDFS-OWL Az RDF egy általános keretrendszer metainformációk erőforrásokhoz való kapcsolására. Az RDF séma RDF-erőforrások halmaza, vagy egy RDF-szintaxison alapuló könnyűsúlyú ontológianyelv. Az OWL egy nehézsúlyú, RDF alapú ontológianyelvként funkcionál.

    237 OWL Az OWL használatát olyan alkalmazások esetére javasolja a W3C, amikor az RDF séma által nyújtott képességek nem elegendőek. Az OWL-t, az RDF sémákhoz hasonlóan tekinthetjük egy URI halmaznak. Az URI-k olyan erőforrásokat azonosítanak, melyek segítenek minket egy terminológiai rendszer elkészítésében. Ezen erőforrások jelentése tisztázott, segítségükkel leírhatjuk osztályuk diszjunktságát, ekvivalenciáját, tulajdonságok tranzitivitását, kardinalitását stb. Ezen erőforrásokat RDF-leírásokban használhatjuk fel.

    238 OWL Példa 3 osztályt és egy tulajdonságot definiáltunk – Osztályok: Ember, Nőnemű, Lányosapa – Tulajdonság: gyermeke Nőneműek az Ember alosztálya Nem kötjük még ki, hogy a lányos apának van legalább egy gyermeke. (kardinalitás később) Lányos apa valaki, aki nem nőnemű, viszont ember, valamint minden gyermeke nőnemű.

    239 OWL névtér Közönséges RDF-leírás Az OWL konstrukciókra a megadott OWL névtéren keresztül hivatkozhatunk: { "@context": "http://schema.org", "@type": "ImageObject", "contentUrl": "http://images.slideplayer.hu/11511550/41/slides/slide_238.jpg", "name": "OWL névtér Közönséges RDF-leírás Az OWL konstrukciókra a megadott OWL névtéren keresztül hivatkozhatunk:

    240 OWL RDF sémája Az OWL konstrukciókat adja meg Például a owl:Class osztály: Class Tehát az owl:Class osztály az rdfs:Class osztály alosztálya

    241 OWL RDF sémája Másik példa: owl:disjointWith disjointWith Ez a tulajdonság OWL osztályokat köt össze OWL osztályokkal.

    242 Példányosítás Példányokat adhatunk meg az ontológia segítségével. Minden OWL-dokumentum érvényes RDF-leírás. RDF-elemző képes olvasni azokat.

    243 OWL résznyelvei Az OWL több résznyelvet definiál. – OWL Full – OWL DL – OWL Lite Az hogy egy konkrét OWL-leírás melyik résznyelvbe esik, attól függ, hogy mely OWL- konstrukciókat és hogyan használja fel.

    244 OWL-osztályleírások Megnevezett osztály (named class) Felsorolásos osztály (enumeration class) Tulajdonságkorátozással megadott osztály (property restriction) Osztályok metszeteként megadott osztály (intersection) Osztályok uniójaként előállított osztály (union) Egy osztály komplemenseként előállított osztály (complement)

    245 OWL-osztályleírások A megnevezett osztályokhoz tartozik URI egyedül. A többi névtelen osztály, különböző megkötésekkel határozzák meg, hogy mely objektumok lehetnek példányaik. A felsorolásos konkrétan megadja az objektumokat. Tulajdonságmegkötéssel rendelkező osztály a példányokat egy tulajdonság alapján szűri. A többi esetében valamely logikai művelet felhasználásával hoz létre újat.

    246 Megnevezett osztály Megnevezett osztály pl.: Beépített osztályok: – owl:Thing szuperosztály, minden OWL-osztály szülőosztálya – owl:Nothing nincs egyetlen példánya sem, az összes OWL- osztály alosztálya

    247 Felsorolásos osztály owl:oneOf tulajdonság értlemezési tartománya:owl:Class értékkészlete: RDF-kollekció

    248 Tulajdonságkorlátozással megadott osztály Tulajdonságkorlátozás megnevez egy tulajdonságot, majd az értékre vagy a számosságra vonatkozó megkötést tesz. a tulajdonság értékének vagy számosságának korlátja P a megnevezett tulajdonság URI-je

    249 Tulajdonságkorlátozással megadott osztály owl:Restriction osztály az owl:Class alosztálya Számosságkorlátok: – owl:maxCardinality tulajdonság owl:Restriction osztályba azon példányok kerülnek, amelyekhez legfeljebb a megadott számú P tulajdonság tartozik.

    250 Tulajdonságkorlátozással megadott osztály Pl.: 3 Kisvállalat fogalma: legfeljebb 3 munkatársa lehet

    251 Metszet owl:intersectionOf tulajdonság domain:owl:Class range: Collection

    252 Union owl:unionOf tulajdonság domain:owl:Class range: Collection

    253 Komplemens owl:complementOf tulajdonság domain:owl:Class range: osztályleírás

    254 OWL-axiómák Osztályleírások képezik az alapját annak, hogy axiómákat fogalmazhassunk meg. Axiómát háromféle OWL-tulajdonsággal képezhetünk (értelmezési tartományuk és értékkészletük egy-egy osztályleírás ): – rdfs:subClassOf – owl:equivalentClass (két osztályleírás példányhalmaza ugyanaz) – owl:disjointWith (nincs közös elem)

    255 OWL-axiómák Pl. Ekvivalencia Minden nő szép, és mindenki, aki szép, az nő.

    256 OWL-tulajdonságok Megkülönböztetünk egyedtulajdonságokat (object properties) és adatípus-tulajdonságokat (datatype properties) Egyedtulajdonságok: egyedeket kötnek össze egyedekkel adatípus-tulajdonságok:egyedeket kötnek össze értékekkel owl:ObjectProperty és owl:DatatypeProperty osztály példányaként adjuk meg (rdf:Property osztály alosztályai)

    257 OWL-tulajdonságok Nem tudunk tulajdonságokat más tulajdonságokkal definiálni. Nem mondhatjuk, hogy a nagynénje tulajdonság a szülője és lánytestvére tulajdonságok kompozíciója. Tulajdonságaxiómák: – RDF séma konstrukciók – Ekvivalencia és inverz – Globális számosságmegkötések – tulajdonságkarakterisztikák

    258


  • Letölteni ppt "Szemantikus Web előadás. Általános információk INKK280E, INMV640E (2+2) MA IK, MSC PTI Jegymegajánló Irodalom: – Szeredi Péter, Lukácsy Gergely, Benkő."

    Hasonló előadás


    Google Hirdetések