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ő.

Slides:



Advertisements
Hasonló előadás
GRIN: Gráf alapú RDF index
Advertisements

A Savaria Egyetemi Könyvtár Katalógusa Böngészés Keresés Találatok megjelenítése Adatbázis választás Olvasói tranzakciók.
Összefoglalás Hardver,szoftver,perifériák Memóriák fajtái
ADATBÁZISOK.
 A Web, kezdeti időszakában csak a szöveges file-okat kezelte.  Ma teljes körű multimédia szolgáltatásokat nyújt  Filmet,  Zenét,  Képeket nézhet.
1 Internet. 2 WWW  World Wide Web  Hivatkozásokkal összekötött hipermédia dokumentumok rendszere  Dokumentumok -> Weboldalak  A weboldalak hipertext.
Internet ismeretek II..
Felhasználói felületek és üzleti logika Bollobás Dávid ASP.NET
Savaria Egyetemi Könyvtár Katalógusa Böngészés Keresés Találatok megjelenítése Adatbázis választás Olvasói tranzakciók.
Extensible Markup Language
2010/2011.Huszár István1. dia Weboldalak tervezése II. (X)HTML.
Adatbázis-kezelés.
Programozás II. 3. Gyakorlat C++ alapok.
Mutatók, tömbök, függvények
Hernyák Zoltán XML validálás.
WEB Technológiák Dr. Pance Miklós – Kolcza Gábor Miskolci Egyetem.
RDF és SPARQL. Felhasznált anyagok Marcelo Arenas, Claudio Gutierrez, Jorge Peréz: RDF and SPARQL: Database Foundations (bemutató) Claudio Gutierrez,
Önleíró adatok: XML INFO ÉRA, Békéscsaba
WEB Technológiák WEB-DB és XML ME Általános Informatikai Tsz. dr. Kovács László.
XML támogatás adatbázis-kezelő rendszerekben
Metaadatok szerepe a multimédia elemek elérhetőségében Forczek Erzsébet SZTE, ÁOK Orvosi Informatikai Intézet Szeptember
CSS.
Metaadatok és digitális szövegek Bakonyi Géza SZTE Egyetemi Könyvtár.
*** HALMAZOK *** A HALMAZ ÉS MEGADÁSA A HALMAZ FOGALMA
Anyagadatbank c. tárgy gyakorlat Féléves tematika Adatbázis alapfogalmak, rendszerek Adatmodellek, adatbázis tervezés Adatbázis műveletek.
Objektumorientált tervezés és programozás II. 3. előadás
Budapest, június 28. Ontológia kezelő modul tervezése szöveges információt kezelő informatikai rendszer számára Förhécz András BME Méréstechnika.
Adatszerkezetek 1. előadás
Szemantikus keresők.
XHTML 1. óra. Miért térjünk át HTML-ről XHTML- re? HTML-szabványban tartalom és forma összemosódott HTML 4.0 szabványban stíluslapok használatát javasolták.
Természetes és formális nyelvek Jellemzők, szintaxis definiálása, Montague, extenzió - intenzió, kategóriákon alapuló gramatika, alkalmazások.
1 Tudásalapú információ-kereső rendszerek elemzése és kifejlesztése Célkitűzés: Információk téma-specifikus, különböző típusú forrásokból (internet, intranet.
Az internetes keresőkben a felhasználó az őt érdeklő szavakra, adatokra kereshet rá egy általában egyszerű oldalon, egy beviteli mező és egyéb szűrési.
Weboldalak tervezése (X)HTML.
RDF sémák. RDF  URI-val azonosított erőforrások  Hármasok a kapcsolatrendszer leírására  Egyszerű lekérdezések (rdf:type)  Következtetésre nem alkalmas.
Adatbázis kezelés.
Adatbázis-kezelés.
World Wide Web Szabó Péter Számítástechnika-technika IV. évfolyam.
XML adatkezelés 1. témakör Az XML szabvány.
Web Ontology Language OWL. RDF emlékeztető  Nagyon egyszerű ontológialeíró nyelv  Erőforrások közötti kapcsolatrendszer leírására  Jelentés a kapcsolatrendszerből.
XML Mi az XML?  Extensible Markup Language  Kiterjeszthető jelölő nyelv  Adatok, adatstruktúrák leírására szolgál  A HTML és az SGML tapasztalataira.
Adatbázis alapfogalmak
Készítette: Turócziné Kiscsatári Nóra
Gazdasági informatikus - Szövegszerkesztés 1 Hosszú dokumentumok kezelése.
Keresés a weben Kulcsszavas keresés: Google (
Resource Description Framework (RDF). Probléma a Web-es kereséssel  Szemantika hiánya Jelentés helyett szöveges alakkal dolgozunk Jelentés helyett szöveges.
Szemantikus Web SWP A Robotok miért nem értik az internetet?
Spanyolország gyöngyszeme: GRANADA Egy hobby portál kivitelezése.
Adatbáziskezelés. Adat és információ Információ –Új ismeret Adat –Az információ formai oldala –Jelsorozat.
Bevezetés a szemantikus technológiákba. Szemantikus technológiák  Rendszerelemek – jelentés – logikai formula  Elvárások – logikai formula  Az elvárások.
Az XML nyelv (Extensible Markup Language). XML  XML: leíró nyelv (metanyelv)  XML alkalmazás: egy megalkotott nyelv  XML dokumentum: egy új nyelv egy.
Keresés fajtái Matching (szabadszavas)
A projekt az Európai Unió társfinanszírozásával, az Európa terv keretében valósul meg. Számítógép- hálózatok dr. Herdon Miklós dr. Kovács György Magó Zsolt.
Adatbázisszintű adatmodellek
Google Scholar Wolfram Alpha Scirus Készítette: Varga Ádám.
Szemantikus Web. Tartalom XML XML Schema XSLT RDFa RDF/XML Turtle RDFS SPARQL.
Az adatbázis az adatok és a köztük lévő összefüggések rendszere, amelyet egymás mellett tárolunk. Nagyon fontos, hogy az adatbázisunk szerkezetét jól megtervezzük,
A szoftver mint komplex rendszer: objektumorientált megközelítés.
Készítette: Kiss András
Dublin Core mint metaadat szabvány gyakorlati alkalmazása
Atomi mondatok Nevek Predikátum
A Robotok miért nem értik az internetet?
Kulcsrakész Közgyűjteményi Portál
Ubuntu – ismerkedés Fájlok és könyvtárak
A Robotok miért nem értik az internetet?
Internet és kommunikáció
DRUPAL Előadja: Nagy Nikoletta :05.
Internet és kommunikáció
Bevezetés Tematika Számonkérés Irodalom
Adatbázis-kezelés.
Előadás másolata:

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ő 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 ( )

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)

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)

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

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)

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)

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)

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

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)

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)

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

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

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)

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

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.

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.

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

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)

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)

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

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

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

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

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)

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

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.

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).

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)

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)

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)

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

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 (?))

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”

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

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.

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ó.

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

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

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

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

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

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)

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.)

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

Szemantikus Web

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

É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).

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 :

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

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

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

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.

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!

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

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.

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. ……

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

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

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

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.

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.

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.

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

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)

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ó

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

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

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:// 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 ”

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

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

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

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

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

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

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)

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

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

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...

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

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.

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

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

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

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.

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

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ó

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.

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

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

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

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)

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

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.

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

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

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

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.

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

Ü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

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)

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

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.

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

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

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)

RDFa Attribútum alapú: Receptkönyv Datum: Szótárakat használunk: – Dublin Core ( – FOAF ( – Saját szótár (RDF sémák)

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

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

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

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

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)

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:

RDFa - prefix RDFa bevezeti a kezdeti környezetet (inital context), mely megadja az alapértelmezett prefix-eket (W3C ajánlása) 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

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

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

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

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

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.

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

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

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

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

RDFa -about Wikinomics Don Tapscott

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

RDFa - rel <li property="knows" resource=" typeof="Person"> <a property="homepage" href=" Bob <li property="knows" resource=" typeof="Person"> <a property="homepage" href=" Eve <li property="knows" resource=" typeof="Person"> <a property="homepage" href=" Manu Helyett:

RDFa - rel <li resource=" typeof="Person"> <a property="homepage„ href=" Bob Eve Manu

<html version="XHTML+RDFa 1.0" prefix="dc: lang="en"> John's Home Page <meta property="dc:creator" content="Jonathan Doe" /> <link rel="foaf:primaryTopic" href=" />

John's Home Page My name is John D and I like <a href=" rel="foaf:interest" lang="de"> Einstürzende Neubauten. My <span rel="foaf:interest” resource="urn:ISBN: "> favorite book is the inspiring Weaving the Web by Tim Berners- Lee.

Alice Birpemswick, Phone: Bob Eve Manu

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

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

RDF-XML XML-névtérként adjuk meg az RDF specifikációhoz tartozó URI-t: xmlns:rdf=” 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.

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 ….

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

” nagy.sulinet.hu/stilus/modern/cedrus.htm Csontváry Kosztka Tivadar

Megosztott alany használata Kis István Vagy:

Kis István

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

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

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.

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

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

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.

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

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.

Tegyük fel, hogy a dokumentumot a URI azonosítja. Ekkor a hármas: { [ [ [ people/Tas] }

Ha bázis URI-t adunk meg, akkor könnyebben mozgathatjuk a file-t. <rdf:RDF xmlns:rdf=” xmlns:dc=” xml:base=” Hármas: { [ [ [ people/Tas] }

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ő.

Szép Hajnalka Varga László

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

Szép Hajnalka

Az így meghatározott erőforrásra más dokumentumból is hivatkozhatunk: …. <p:szemeszine rdf:resource=” 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.

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

Nem bináris relációk 2.5 <e:egyseg rdf:resource=”

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

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=” xmlns:s=” xmlns:n=” Kis István

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.

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.

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.

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],[ { [URI1], [rdf:predicate],[s:szulido]} { [URI1], [rdf:object],[”1755”]} Eredeti kijelentésünk: { [ [n:allitja], [URI1]}

1755

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.

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.

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

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

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)

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.

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.

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

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. {[ Béla”} {[ Géza”} {[ Ádám”}

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.

Konténerek CD Record Tape

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.

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

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

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],[ De, el tudjuk-e dönteni, hogy az egyik ember ismeri-e a másikat?

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

RDF sémák <rdf:RDF xmlns:rdf=” xmlns:rdfs=” xmlns:base=” Családi házak osztálya

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 (

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.

RDF osztályok <rdf:RDF xmlns:rdf=” xmlns:rdfs=” xmlns:base=” Hidegvérű állatok Emlős állatok osztálya Emberek osztálya

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

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.

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.

RDF tulajdonságok <rdf:RDF xmlns:rdf=” xmlns:rdfs=” xmlns:base=” Szociológiai reláció Közeli ismerősök

RDF tulajdonságok <rdf:RDF xmlns:rdf=” xmlns:rdfs=” xmlns:n=” xmlns:s=” 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!

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.

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

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.

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 )

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.

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)

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)

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.

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

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

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.

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

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

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

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

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

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

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.

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

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

Turtle – Konténerek (Bag)

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

Turtle - Alt

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

Turtle - kollekció

@prefix s:. s:students ( ).

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

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

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

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

Turtle – RDF osztályok

: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.

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

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.

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

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

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

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

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

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.

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.

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ű.

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=” 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.

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

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.

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.

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.

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)

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.

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

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

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

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.

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

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

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

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

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)

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

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)

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