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:

  • 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