Előadást letölteni
Az előadás letöltése folymat van. Kérjük, várjon
KiadtaBertalan István Rácz Megváltozta több, mint 8 éve
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/ )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
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) http://www.bbc.co.uk/ontologies/programmes/2009- 09-07.shtml http://www.bbc.co.uk/ontologies/programmes/2009- 09-07.shtml Music Ontology Specification –mo: (Zene, előadó, album, zeneszám) http://purl.org/ontology/mo/ http://purl.org/ontology/mo/ Friend of a Friend – foaf: http://xmlns.com/foaf/spec/ PURL Persistent Uniform Resource Locators emberi kapcsolatok : http://purl.org/vocab/relationship http://purl.org/vocab/relationship
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. http://www.w3schools.com/xhtml/ – WML: mobilkommunikáció nyelve. http://www.w3schools.com/wap/wml_reference.asp – SMIL: szabványos multimédia leíró nyelv, amely korszerű multimédiás, és web megjelenést tesz lehetővé. http://www.w3schools.com/smil/smil_intro.asp – 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. http://www.w3.org/TR/voicexml20/ – VoiceXML: beszédfelismerés, internetes hangátvitel, hangtömörítés. http://www.w3.org/TR/voicexml20/ – MathML: matematikai képletek leírásához. http://www.w3.org/TR/REC-MathML/
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 19757-2:2003) – Schematron (ISO/IEC 19757-3: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 http://www.w3.org/2001/XMLSchema 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
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 http://www.inf.unideb.hu/index.php weblap http://www.inf.unideb.hu/index.php mailto:valamin@valahol.hu e-mail címen keresztül egy személyt azonosítunk mailto:valamin@valahol.hu ftp://ftp.akarmi.com/valami könyvtár azonosítása ftp://ftp.akarmi.com/valami uuid: BDC6E3F6-8765-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: – http://www.thing.org/rdf/schemas/simple#Ember http://www.thing.org/rdf/schemas/simple#Ember – #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 e-mail címe nagyp@vmi.hu.”nagyp@vmi.hu – 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. http://www.utils.org/utils#neve
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 http://www.sth.com is David.http://www.sth.com http://www.sth.com David http://www.sth.com David http://www.sth.com Pl. Mi az author címke tartalma? http://www.sth.com 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) http://www.w3.org/TR/rdfa-primer/ 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: 2014.04.02. Szótárakat használunk: – Dublin Core (http://dublincore.org/documents/dcmi-terms/)http://dublincore.org/documents/dcmi-terms/ – FOAF ( http://xmlns.com/foaf/spec/)http://xmlns.com/foaf/spec/ – 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: 20 11-09-10... helyett... The Trouble with Bob Date: 2011-09- 10...
119
RDFa - vocab Több szótár használata: The Trouble with Bob Date: 2011-09-10 All content on this site is licensed under <a property="license" href="http://creativecommons.org/licenses/by/3.0/"> 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, Email: alice@example.com, Phone: +1 617.555.7332
122
RDFa - prefix RDFa bevezeti a kezdeti környezetet (inital context), mely megadja az alapértelmezett prefix-eket (W3C ajánlása) http://www.w3.org/2011/rdfa-context/rdfa- 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 http://purl.org/dc/terms/ http://schema.org/ 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: 2011-09-10 Alice Jo's Barbecue Date: 2011-09-14 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 2006-10-01
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 <li property="knows" resource="http://example.com/bob/#me" typeof="Person"> <a property="homepage" href="http://example.com/bob/"> Bob <li property="knows" resource="http://example.com/eve/#me" typeof="Person"> <a property="homepage" href="http://example.com/eve/"> Eve <li property="knows" resource="http://example.com/manu/#me"http://example.com/manu/#me typeof="Person"> <a property="homepage" href="http://example.com/manu/"> Manu Helyett:
135
RDFa - rel <li resource="http://example.com/bob/#me" typeof="Person"> <a property="homepage„ href="http://example.com/bob/"> Bob Eve Manu
136
<html version="XHTML+RDFa 1.0" prefix="dc: http://purl.org/dc/elements/1.1/" lang="en"> John's Home Page <meta property="dc:creator" content="Jonathan Doe" /> <link rel="foaf:primaryTopic" href="http://example.org/john-d/#me" />
137
John's Home Page My name is John D and I like <a href="http://www.neubauten.org/" rel="foaf:interest" lang="de"> Einstürzende Neubauten. My <span rel="foaf:interest” resource="urn:ISBN:0752820907"> favorite book is the inspiring Weaving the Web by Tim Berners- Lee.
138
Alice Birpemswick, Email: alice@example.com, Phone: +1 617.555.7332 Bob Eve Manu
140
Üres csomópont Alice Birpemswick, Email: alice@example.com, Phone: +1 617.555.7332 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: mailto:kis@example.org 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 http://www.tricky.org/tricky/ URI azonosítja. Ekkor a hármas: { [http://192.168.121.8], [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. <rdf:RDF xmlns:rdf=”http://www.w3.org/1999/02/22-rdf-syntax-ns#” xmlns:dc=”http://purl.org/dc/elements/1.1/” xml:base=”http://example.org/base”> Hármas: { [http://192.168.121.8], [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 225 1373468234 Varga László 425 1877498334 332345678 7 0 312244668
160
Az rdf:ID attribútum Alany azonosítója: bázis URI#rdf:ID értéke pl: http://www.itt.hu/valami.rdf#munkatars1 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 225 1373468234 392149666
162
Az így meghatározott erőforrásra más dokumentumból is hivatkozhatunk: …. <p:szemeszine rdf:resource=”http://colors.com#blue”/> 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 <e:egyseg rdf:resource=”http://.../units/kilograms”>
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: <rdf:RDF xmlns:rdf=”http://www.w3.org/1999/02/22-rdf-syntax-ns#” xmlns:s=”http://www.utils.org/utils#” xmlns:n=”http://thing.org/rdf/schemas/simple#”> 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 http://www.example.org/hun/barátja viszonyba állnak. http://www.example.org/hun/barátja 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 <rdf:RDF xmlns:rdf=”http://www.w3.org/1999/02/22-rdf-syntax-ns#” xmlns:rdfs=”http://www.w3.org/2000/01/rdf-schema#” xmlns:base=”http://www.example.org/houses”> 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 <rdf:RDF xmlns:rdf=”http://www.w3.org/1999/02/22-rdf-syntax-ns#” xmlns:rdfs=”http://www.w3.org/2000/01/rdf-schema#” xmlns:base=”http://www.thing.org/rdf/schemas/simple”> 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 <rdf:RDF xmlns:rdf=”http://www.w3.org/1999/02/22-rdf-syntax-ns#” xmlns:rdfs=”http://www.w3.org/2000/01/rdf-schema#” xmlns:base=”http://www.fun.org/schemas”> Szociológiai reláció Közeli ismerősök
196
RDF tulajdonságok <rdf:RDF xmlns:rdf=”http://www.w3.org/1999/02/22-rdf-syntax-ns#” xmlns:rdfs=”http://www.w3.org/2000/01/rdf-schema#” xmlns:n=”http://www.thing.org/rdf/schemas/simple#” xmlns:s=”http://www.fun.org/schemas#”> 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) http://purl.org/dc/elements/1.1/
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 http://www.w3.org/2007/02/turtle/primer/ Kiterjesztése az N-Triples-nek, de bizonyos elemeket felhasznál az N3-ból is. Szintaxis: <> abszolút URI megadása ”……” literál megadása @prefix 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
Turtle @prefix rdf:. @prefix 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 csomópont @prefix rdf:. @prefix dc:. @prefix exterms:. dc:title "RDF/XML Syntax Specification (Revised)"; exterm:editor _:abc. _:abc exterms:fullName "Dave Beckett"; exterms:homePage.
209
Turtle – Üres csomópont @prefix rdf:. @prefix dc:. @prefix 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 http://www.example.com/2002/04/products#ite m1345 abszolút URI-vel, ha a dokumentum a http://www.example.com/2002/04/products címen érhető el http://www.example.com/2002/04/products#ite m1345 http://www.example.com/2002/04/products
211
Turtle – fregmens azonosító @prefix rdf:. @prefix xsd:. @prefix 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 azonosító @prefix rdf:. @prefix sportex:. @prefix 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 meg. @base. 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 - Bag @prefix rdf:. @prefix s:. s:students [ a rdf:Bag; rdf:_1 ; rdf:_2 ; rdf:_3 ; rdf:_4 ; rdf:_5. ].
219
Turtle - Alt
220
@prefix rdf:. @prefix s:. s:DistributionSite [ a rdf:Alt; rdf:_1 ; rdf:_2 ; rdf:_3. ].
221
Turtle - kollekció
222
@prefix rdf:. @prefix s:. s:students ( ).
223
Turtle - kollekció @prefix rdf:. @prefix 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 megadása @prefix rdfs:. @base. :MotorVehicle rdf:type rdfs:Class. vagy :MotorVehicle a rdfs:Class.
225
Turtle – RDF osztály példánya Példány megadása @prefix rdf: @prefix ex: @base :companyCar rdf:type ex:MotorVehicle.
226
Turtle – RDF osztály Hierarchia megadása @prefix rdfs:. @base. :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 osztályok @prefix rdf:. @prefix rdfs:. @prefix xsd:. @base. :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 rdf:. @prefix ex:. @base. :johnSmithsCar a ex:PassengerVehicle; ex:registeredTo.
232
Turtle – RDF tulajdonság rdfs:subPropertyOf használata @prefix rdf:. @prefix rdfs:. @prefix xsd:. @base. :driver rdf:type rdf:Property. :primaryDriver rdf:type rdf:Property ; rdfs:subPropertyOf :driver.
233
@prefix rdf:. @prefix rdfs:. @prefix xsd:. @base. :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 rdf:. @prefix ex:. @base. :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. 2004 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: <rdf:RDF … xmlns:owl=”http://www.w3.og/2002/07/owl#” Az előbbi URI alapján fogja felismerni az OWL-t értő alkalmazás, hogy a névtér valójában az OWL-t leíró RDF sémát azonosítja. Ez az RDF séma közönséges RDF osztályokat, tulajdonságokat definiál az RDF séma eszközkészletével. Az RDF dokumentumban szereplő névterek RDF sémákat azonosítanak, tehát az OWL-hez is egy RDF séma tartozik.
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
Hasonló előadás
© 2024 SlidePlayer.hu Inc.
All rights reserved.