Mi a baj a jelenlegi világhálóval? (2) Resource Description Framework. Mi a baj a jelenlegi világhálóval? (1) Mi a baj a jelenlegi világhálóval?

Hasonló dokumentumok
Szemantikus Web Semantic Web A szemantikus web alkalmas megközelítés, illetve megfelel nyelvekkel, eszközökkel támogatja az intelligens információs

Szemantikus Web Semantic Web A szemantikus web alkalmas megközelítés, illetve megfelel nyelvekkel, eszközökkel támogatja az intelligens információs

Adatbázisok MSc. 12. téma. Ontológia és SPARQL

Resource Description Framework (RDF)

Ismeretalapú modellezés XIII. RDF

Név: Neptun kód: április

SZAKDOLGOZAT. Nádasdi Attila

SZEMANTIKUS WEB. Méréstechnika és Információs Rendszerek Tanszék

Szemantikus világháló a BME-n

Debreceni Egyetem Informatikai Kar

Név: Neptun kód: május 23. Komplex MI alkalmazások vizsga Rendelkezésre álló idő: 75 perc 1. Vizsgálja meg a következő RDF leírást:

SZEMANTIKUS WEB. Méréstechnika és Információs Rendszerek Tanszék

SZEMANTIKUS WEB. Méréstechnika és Információs Rendszerek Tanszék

XML sémanyelvek Jeszenszky, Péter

ADATBÁZIS-KEZELÉS. Relációs modell

Fülöp Csaba, Kovács László, Micsik András

A Szemantikus Web 2. Alkalmazott Informatikai Intézeti Tanszék MŰSZAKI INFORMATIKA Dr.Dudás László 0.

SZEMANTIKUS WEB 3. előadás. Méréstechnika és Információs Rendszerek Tanszék

SZEMANTIKUS WEB 3. előadás. Méréstechnika és Információs Rendszerek Tanszék

A szemantikus világháló oktatása

SZEMANTIKUS WEB 4. előadás. Méréstechnika és Információs Rendszerek Tanszék

RDFS. (Resource Description Frameworks Schema) Méréstechnika és Információs Rendszerek Tanszék

Magas szintű adatmodellek Egyed/kapcsolat modell I.

DTD Dokumentumtípus definició

XPath 1.0. Jeszenszky Péter Debreceni Egyetem, Informatikai Kar Utolsó módosítás: szeptember 5.

A szemantikus Web. Alkalmazott Informatikai Intézeti Tanszék MŰSZAKI INFORMATIKA Dr.Dudás László 0.

URI (2) Egységes erőforrás-azonosító (URI) URI (1) Közismert URI sémák

SZEMANTIKUS WEB. Integrációs és ellenőrzési technikák VIMIAC04, tavasz

Semantic Web. Gombos Gergő

XML alapú adatbázis-kezelés. (Katona Endre diái alapján)

matematikus-informatikus szemével

Logika es sz am ıt aselm elet I. r esz Logika 1/36

Adatbázisrendszerek 8. előadás: Az Enhanced Entity-Relationship modell március 27.

Térképek jelentése és elemzése

Adatmodellezés. 1. Fogalmi modell

Dokumentumformátumok Jelölő nyelvek XML XML. Sass Bálint Bevezetés a nyelvtechnológiába 2. gyakorlat szeptember 20.

Segédanyagok. Formális nyelvek a gyakorlatban. Szintaktikai helyesség. Fordítóprogramok. Formális nyelvek, 1. gyakorlat

Adatbázis rendszerek Definíciók:

Szemantikus adatbázisok. Nagypál Gábor

Mindent olyan egyszerűvé kell tenni, amennyire csak lehet, de nem egyszerűbbé.

Tudásalapú információ integráció

Bánki Zsolt István Csáki Zoltán Petőfi Irodalmi Múzeum Könyvtár és Informatika. Networkshop 2014 Pécs

Szemantikus Web: egy rövid bevezetés

Név: Neptun kód: május 26., VIMIAC04 Integrációs és ellenőrzési technikák vizsga Rendelkezésre álló idő: 90 perc

Szerver oldali Java programozás /II. 1. óra. Elemkönyvtárak. Elemkönyvtárak használata Saját elemkönyvtár készítése.

Mindent olyan egyszerűvé kell tenni, amennyire csak lehet, de nem egyszerűbbé. (Albert Einstein) Halmazok 1

ADATBÁZIS-KEZELÉS. Relációalgebra, 5NF

Szolgáltatások és alkalmazások (VITMM131)

Az XML Bevezetés. Fabók Zsolt Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem. Utolsó módosítás:

Web-fejlesztés NGM_IN002_1

22. GRÁFOK ÁBRÁZOLÁSA

Szemantikus Web: egy rövid bevezetés március 18

Az adatok a vállalat kulcsfontosságú erőforrásai. Az információs rendszer adatai kezelésének két alapvető változata:

Adatbázismodellek. 1. ábra Hierarchikus modell

Fogalmak: Adatbázis Tábla Adatbázis sorai: Adatbázis oszlopai azonosító mező, egyedi kulcs Lekérdezések Jelentés Adattípusok: Szöveg Feljegyzés Szám

SZOFTVERES SZEMLÉLTETÉS A MESTERSÉGES INTELLIGENCIA OKTATÁSÁBAN _ Jeszenszky Péter Debreceni Egyetem, Informatikai Kar jeszenszky.peter@inf.unideb.

1. előadás. Lineáris algebra numerikus módszerei. Hibaszámítás Számábrázolás Kerekítés, levágás Klasszikus hibaanalízis Abszolút hiba Relatív hiba

Java II. I A Java programozási nyelv alapelemei

Információ leíró technológiák, szemantikus web előadás

TSIMMIS egy lekérdezés centrikus megközelítés. TSIMMIS célok, technikák, megoldások TSIMMIS korlátai További lehetségek

Az alábbi kód egy JSON objektumot definiál, amiből az adtokat JavaScript segítségével a weboldal tartalmába ágyazzuk.

Ellenőrző kérdések. 36. Ha t szintű indexet használunk, mennyi a keresési költség blokkműveletek számában mérve? (1 pont) log 2 (B(I (t) )) + t

Formális szemantika. Kifejezések szemantikája. Horpácsi Dániel ELTE Informatikai Kar

INTERNETES KERESÉS. Szórád László Óbudai Egyetem TMPK

A relációs adatmodell

Web 3.0. Szemantikus web

A Szemantikus világháló alapjai

Gráfelméleti alapfogalmak-1

Ungváry Rudolf: Relex Relációkat és lexikai egységeket kezelő névtérszerkesztő a weben

MS ACCESS 2010 ADATBÁZIS-KEZELÉS ELMÉLET SZE INFORMATIKAI KÉPZÉS 1

Software Engineering Babeş-Bolyai Tudományegyetem Kolozsvár

HTML és CSS. Horváth Árpád május 6. Óbudai Egyetem Alba Regia M szaki Kar (AMK) Székesfehérvár

Bevezetés s a szemantikus technológi

Gráfelmélet. I. Előadás jegyzet (2010.szeptember 9.) 1.A gráf fogalma

Tudásalapú információ-kereső rendszerek elemzése és kifejlesztése

Grafikus keretrendszer komponensalapú webalkalmazások fejlesztéséhez

Modellinformációk szabványos cseréje. Papp Ágnes, Debreceni Egyetem EFK

Adatbáziskezelés alapjai. jegyzet

Az XML szabvány. Az XML rövid története. Az XML szabvány

Java II. I A Java programozási nyelv alapelemei

Programozás. Adatbázis-kezelés (alapok) Fodor Attila

Lekérdezések az SQL SELECT utasítással

Adatszerkezetek Tömb, sor, verem. Dr. Iványi Péter

Alkalmazásokban. Dezsényi Csaba Ovitas Magyarország kft.

UML (Unified Modelling Language)

Diszkrét matematika 2.C szakirány

Szathmáry László Debreceni Egyetem Informatikai Kar

Diszkrét matematika 2. estis képzés

Ungváry Rudolf: Tezauruszok mint kisvilágok. Kapcsoltság a fogalmak között

GráfRajz fejlesztői dokumentáció

Önálló labor feladatkiírásaim tavasz

5. SOR. Üres: S Sorba: S E S Sorból: S S E Első: S E

A számítástechnika gyakorlata WIN 2000 I. Szerver, ügyfél Protokoll NT domain, Peer to Peer Internet o WWW oftp opop3, SMTP. Webmail (levelező)

Pásztor Attila. Algoritmizálás és programozás tankönyv az emeltszintű érettségihez

Könyvtári címkéző munkahely

A szemantikus elemzés elmélete. Szemantikus elemzés (attribútum fordítási grammatikák) A szemantikus elemzés elmélete. A szemantikus elemzés elmélete

Multimédiás adatbázisok

Informatikai alapismeretek Földtudományi BSC számára

VII. Keretalapú ismeretábrázolás

Átírás:

Resource Description Framework Jeszenszky Péter Debreceni Egyetem, Informatikai Kar jeszy@inf.unideb.hu Mi a baj a jelenlegi világhálóval? (2) Nagyon változatos az elérhető tartalmak megjelenési formája Statikus és dinamikus weblapok, csak lekérdezéssel elérhető adatbázis tartalmak, nem szöveges állományok A legtöbb tartalom ellenőrizetlen Nehéz az információk automatikus feldolgozása, mivel a legtöbb tartalom emberi fogyasztásra készül 3 Mi a baj a jelenlegi világhálóval? (1) Mi a baj a jelenlegi világhálóval? (3) Hatalmas mennyiségű tartalom, amelynek a legjobb keresőmotorok is csak egy részét fedik le Becslések a World Wide Web méretére: A keresőrendszerek által beindexelt oldalak száma megközelítőleg 11.5 milliárd (2005. január) Antonio Gulli, Alessio Signorini: The Indexable Web is more than 11.5 billion pages http://www.cs.uiowa.edu/~asignori/web-size/ A jelenlegi keresőrendszerek kulcsszavas indexelést használnak A keresőrendszerek problémái: Nyelvi problémák Nem szöveges tartalmak kezelése Nincs következtetés A felsorolt problémák oka a szemantika hiánya 2 4

Mély web (1) Mély web (3) Az alábbi esetekben használják mély web (deep web) kifejezést: Weben elérhető adatbázis tartalmak, amelyekhez hozzáférni csak lekérdezésekkel lehet Nem szöveges állományok Az ilyen tartalmak általában elérhetetlenek a keresőrendszerek számára Gyakran helytelenül a l áthatatlan web kifejezést használják A web statikusan elérhető részét sekély webnek nevezik (surface web) A keresők integrálhatnak bizonyos tartalmakat a mély webről lásd Google, PDF állományok tartalmának indexelése, de csak egy kis részhez férnek hozzá Tipikus elérhető mély web tartalmak: telefonkönyv adatok, szótár szócikkek, on-line boltokban eladásra kínált áruk Mély web tartalmakra specializált keresőrendszerek CompletePlanet http://www.completeplanet.com/ 5 7 Mély web (2) Mély web (4) Azért rossz a láthatatlan web elnevezés, mert Keresőrendszer központú, holott nem csak a keresőrendszerekkel lehet valamit megtalálni Az információ soha sem láthatatlan, legfeljebb nehéz megtalálni Szinte mindenki használ különféle adatbázisokat gondoljuk csak a könyvtári katalógusra, az ezekben lévő információk nem láthatatlanok A kereső rendszerek is adatbázisokkal dolgoznak, a keresés ugyanolyan módon lekérdezéssel történik, mint például egy könyvtári rendszerben A mély weben elérhető tartalmak mennyisége egyes becslések szerint 500-szorosa is lehet a hagyományosan elérhető tartalmaknak 6 CompletePlanet: Több mint 70000 kereső elérését teszi lehetővé egy tematikusan rendszerezett katalógusban A 60 legnagyobb mély webes adatbázis tartalma összesen megközelítőleg 750 TB Ez összesen megközelítőleg 85 milliárd rekordot és dokumentumot jelent Ez megközelítőleg 40-szer több a sekély weben elérhető információk mennyiségénél 8

Szemantikus web A web evolúciójának következő szintje Olyan környezet, amelyben megvalósul az információk automatikus feldolgozhatósága, lehetővé téve intelligens információs szolgáltatások megvalósítását A kulcs automatikus feldolgozásra szánt metaadatok egységes formában rendelkezésre állása Az elgondolás kitalálója Tim Berners-Lee 9 A szemantikus web alapjául szolgáló technológiák, szabványok A három alappillér: XML Resource Description Framework (RDF) (több W3C ajánlás) OWL Web Ontology Language (OWL) (több W3C ajánlás) 11 Metaadatok RDF specifikációk A metaadatok adatokra vonatkozó adatok Sokszor nincs éles határ adat és metaadat között, általában alkalmazásfüggő, hogy mi metaadat Metaadatok társítása a világhálón elérhető erőforrásokhoz Strukturált metaadatok leírása egységes módon (RDF) Következtetni kell tudni a metaadatok alapján A legkülönfélébb felhasználási lehetőségek 10 RDF Primer (W3C ajánlás, 2004. február 10.) Resource Description Framework (RDF): Concepts and Abstract Syntax (W3C ajánlás, 2004. február 10.) RDF/XML Syntax Specification (Revised) (W3C ajánlás, 2004. február 10.) RDF Semantics (W3C ajánlás, 2004. február 10.) RDF Vocabulary Description Language 1.0: RDF Schema (W3C ajánlás, 2004. február 10.) 12

Jellemzők Alapfogalmak Egyszerű adatmodell, amely független a szerializációs szintaxisoktól Formális szemantika definiált, amely lehetővé teszi a következtetést Bővíthető URI-alapú szótár használata XML szerializációs szintaxis W3C XML Schema adattípusok használata Bárki megfogalmazhat kijelentést bármely erőforrásról 13 URI, URI hivatkozás RDF URI hivatkozás Erőforrás Tulajdonság Literál Kijelentés 15 Mire jó az RDF? URI-k (1) Lehetővé teszi kijelentések megfogalmazását erőforrásokról A kijelentések erőforrások tulajdonságainak értékeit specifikálják (például: http://www.inf.unideb.hu/~jeszy/index.html has a creator whose value is Péter Jeszenszky) Tudásreprezentáció A hagyományos tudásreprezentációs rendszerek általában centralizáltak, a világháló nem ilyen 14 Nagyon fontos szerepe van a webes erőforrások azonosítására szolgáló URI-knak Az RDF-ben mindent URI-k azonosítanak Uniform Resource Identifier (Egységes Erőforrásazonosító) (URI) Uniform Resource Identifiers (URI): Generic Syntax http://www.ietf.org/rfc/rfc2396.txt Két fajta URI: Uniform Resource Locator (URL) Uniform Resource Name (URN) 16

URI-k (2) URI-k (4) URL: Egységes Erőforrás-helymeghatározó Az erőforrások azonosítása az elérés módjával http://www.ietf.org/rfc/rfc1738.txt URN: Egységes Erőforrás-név Erőforrások helytől független tartós azonosítása http://www.ietf.org/rfc/rfc2141.txt Különböző URI sémák használata (bizonyos fajta sémák esetében bárki szabadon létrehozhat URI-t) 17 Abszolút és relatív URI: Abszolút URI a használat környezetétől függetlenül azonosít erőforrást Relatív URI adott környezetben értelmezett, ha rendelkezésre áll egy úgynevezett bázis URI Relatív URI-k elejéről hiányzik az úgynevezett séma azonosító Relatív URI feloldása abszolút URI-vá Az RDF gráfokban kizárólag abszolút URI-kat lehet használni 19 URI-k (3) URI-k (5) Néhány különböző sémát használó URL: Bázis URI meghatározása: http://www.w3.org/rdf/ ftp://ftp.mozilla.org/pub/mozilla.org/firefox/releases/ file:///usr/share/doc/html/index.html mailto:jeszy@inf.unideb.hu Néhány különböző URN: urn:isbn:9639261440 urn:ietf:rfc:2141 urn:oid:1.3.6.1 urn:uuid:f81d4fae-7dec-11d0-a765-00a0c91e6bf6 18 Bizonyos fajta dokumentumok definiálhatják a saját magukon belül érvényes bázis URI-t XML dokumentumok esetében lásd: XML Base (W3C ajánlás, 2001. június 27.) Ha nincs definiált bázis URI és a dokumentumot egy másik entitás például egy másik dokumentum foglalja magában, akkor a bázis URI a befoglaló entitás bázis URI-ja Ha nincs ilyen befoglaló entitás sem, akkor a bázis URI az az URI lesz, amelyen a dokumentumot elérték (átirányítás esetén az utolsó használt URI) Egyébként a bázis URI alkalmazásfüggő 20

URI hivatkozások RDF URI hivatkozások (2) Egy URI és egy opcionális erőforrásrész azonosító alkotja Példa: http://www.w3.org/2004/02/image-regions#polygon Az erőforrásrész azonosító '#' karakter után adható meg Csak erőforrásrész azonosítóból álló URI relatív URI Az erőforrásrész azonosító jelentése az erőforrás MIME tartalom típusától függ Egymástól teljesen független erőforrásokat azonosítanak olyan erőforrásrész azonosítót tartalmazó URI hivatkozások, amelyek URI része megegyezik 21 Két RDF URI hivatkozás azonosnak tekinthető akkor, és csak akkor, ha mint Unicode sztringek karakterről karakterre megegyeznek Az RDF URI hivatkozások kompatibilisek a W3C XML Schema beépített anyuri típusával, azonban csak abszolútak lehetnek Noha az RDF gráfokban csak abszolút URI-kat lehet használni, a szerializációs szintaxisok lehetővé teszik relatívak használatát 23 RDF URI hivatkozások (1) Erőforrások Az RDF gráfokban az RDF URI hivatkozások olyan Unicode karakterláncok, amelyek: Nem tartalmaznak vezérlő karaktereket (#x00 #x1f, #x7f #x9f) Az alábbi módon kódolva őket olyan érvényes URI karakterláncokat kapunk, amelyek abszolút URI-kat reprezentálnak egy esetleges erőforrásrész azonosítóval A kódolás: A karakterlánc UTF-8 kódolása, oktettek formájában Az US-ASCII karaktereknek nem megfelelő oktettek levédése Minden nem megfelelő oktett helyettesítése %HH-val, ahol HH az oktett értékének megfelelő két számjegyből álló hexadecimális 22 szám Az RDF erőforrások leírását teszi lehetővé Minden erőforrást RDF URI hivatkozás azonosít Nem feltététlenül hálózaton elérhető dolgokat például weblapokat, elektronikus dokumentumokat, szolgáltatásokat azonosítanak URI-kat hozzá lehet rendelni akár fizikai objektumokhoz, fogalmakhoz is Az adatmodellben adott az erőforrások halmaza 24

Tulajdonságok Adattípusok (1) Az adatmodellben adott a tulajdonságok halmaza, amely részhalmaza az erőforrások halmazának A tulajdonságok értékei erőforrások és literálok lehetnek Ontológiák definiálják a tulajdonságok jelentését, hogy milyen erőforrásokhoz lehet őket kapcsolni, milyen értékeket vehetnek fel, és hogy milyen viszonyban vannak más tulajdonságokkal Az adattípusokat az értékek halmaza, a literálok halmaza és a literálok értékeknek való megfeleltetése jellemezi Az RDF mindössze egyetlen adattípust definiál, amelyet a http://www.w3.org/1999/02/22-rdf-syntax-ns#xmlliteral URI hivatkozás azonosít Ezt a típust jelöléseket tartalmazó szöveg megadására lehet használni URI hivatkozással azonosított adattípusok használata A W3C XML Schema adattípusainak használata 25 27 Literálok Adattípusok (2) Az adatmodellben adott a literálok halmaza A literálok tulajdonságok értékeit reprezentálják Két fajta literál van, típus nélküli és tipizált Típus nélküli (plain) literálok: Unicode karakterláncok, amelyekhez egy opcionális nyelv címke tartozik Természetes nyelvű szöveg reprezentálása Tipizált (typed) literálok: Unicode karakterláncok, amelyekhez egy adattípust azonosító RDF URI hivatkozás tartozik Az adattípus megfelelő értékét reprezentálja 26 Például a W3C XML Schema beépített boolean típusa: Értékek: {T, F} Literálok: {"true", "false", "0", "1"} Literálok megfeleltetése értékeknek: {<"true",t>, <"false",f>, <"0",F>, <"1",T>} 28

Adattípusok (3) Adatmodell Nem lehet használni a W3C XML Schema beépített adattípusai közül az alábbiakat: A duration típust, mert az értékek halmaza nem elegendően pontosan definiált A QName, ENTITY típusokat, mert ezeket csak adott XML dokumentumon belül lehet értelmezni Az ID, IDREF típusokat, mert ezek kereszthivatkozásokra szolgálnak XML dokumentumokban A NOTATION típust Az IDREFS, ENTITIES, NMTOKENS típusokat, mert a listák nem illeszkednek az RDF adattípus modelljébe 29 Az adatmodell jelentése az, hogy a kijelentések halmazába tartozó hármasak igazak A hármasok között konjunkció Lényegtelen a hármasok sorrendje A kijelentések bináris relációkat képesek ábrázolni Három különböző szerializációs szintaxis: Ábrázolás hármasok halmazaként Ábrázolás irányított gráffal XML szintaxis (RDF/XML) 31 Kijelentések Gráf modell (1) A kijelentések rendezett hármasok, amelyek az alábbiakból állnak: Alany (subject): egy tetszőleges erőforrás lehet Állítmány, predikátum (predicate): egy tetszőleges tulajdonság lehet Tárgy (object): egy tetszőleges erőforrás vagy literál lehet Azaz egy kijelentést három összetartozó RDF URI hivatkozás alkot, vagy pedig két RDF URI hivatkozás és egy literál 30 Kijelentések ábrázolása irányított gráfokkal A csomópontok erőforrásokat és literálokat reprezentálnak Az élek tulajdonságokat reprezentálnak Az élek a kijelentések alanyául szolgáló erőforrásokat reprezentáló csúcsokból mutatnak a tárgy funkciót betöltő erőforrásokat és literálokat reprezentáló csúcsokba Grafikus ábrázolásnál ellipszisek jelölik az erőforrásokat, téglalapok a literálokat 32

Gráf modell (2) Példa (2) Alany Predikátum Tárgy Alany Tárgy Predikátum Az előbbi RDF gráf hármasokkal reprezentálva: <http://www.inf.unideb.hu/~jeszy/> <http://purl.org/dc/elements/1.1/title> "Jeszenszky Péter honlapja"@hu. <http://www.inf.unideb.hu/~jeszy/> <http://purl.org/dc/terms/created> "2004-10-23"^^<http://www.w3.org/2001/XMLSchema#date>. <http://www.inf.unideb.hu/~jeszy/> <http://web.resource.org/cc/license> <http://creativecommons.org/licenses/by-nc-sa/2.5/>. 33 35 Példa (1) Példa (3) Egy RDF gráf: Az előbbi RDF gráf XML-be szerializálva (RDF/XML): <?xml version="1.0" encoding="iso-8859-2"?> xmlns:dcterms="http://purl.org/dc/terms/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://web.resource.org/cc/"> <rdf:description rdf:about="http://www.inf.unideb.hu/~jeszy/"> <dc:title xml:lang="hu">jeszenszky Péter honlapja</dc:title> <dcterms:created rdf:datatype="http://www.w3.org/2001/xmlschema#date"> 2004-10-23 </dcterms:created> <cc:license rdf:resource="http://creativecommons.org/licenses/by-nc-sa/2.5/"/> 34 36

Üres csomópontok (1) Üres csomópontok (3) Olyan köztes csomópontok, amelyek strukturált tulajdonság értékek megadásánál használatosak Szerepük tulajdonságok hordozása Az üres csomópontok névtelen erőforrásokat azonosítanak, amelyeket semmilyen módon nem tudunk azonosítani, de erre nincs is szükség Hármasokkal reprezentáláskor az üres csomópontok azonosítása úgynevezett üres csomómpont azonosítókkal, amelyeket _:azonosító alakban jelöljük Olyan azonosítók, amelyek különböznek az összes URI-tól és literáltól 37 Az alábbi RDF gráf hármasokkal reprezentálva: <http://www.inf.unideb.hu/~jeszy/> <http://purl.org/dc/elements/1.1/creator> _:A0. _:A0 <http://xmlns.com/foaf/0.1/family_name> "Jeszenszky". _:A0 <http://xmlns.com/foaf/0.1/givenname> "Péter". _:A0 <http://xmlns.com/foaf/0.1/mbox> <mailto:jeszy@inf.unideb.hu>. 39 Üres csomópontok (2) RDF/XML (1) Üres csomópont azonosítók csak alanyként és tárgyként jelenthetnek meg Lokális azonosítók Lehetővé teszik: n-ér relációk reprezentálását Olyan erőforrások leírását, amelyek maguk ugyan nem azonosíthatók URI-val, de jellemezhetők más URI-val azonosítható erőforrásokkal való kapcsolataikkal 38 Egy RDF/XML dokumentumban az XML-be szerializált gráfot általában egy rdf:rdf elem tartalmazza: <?xml version="1.0" encoding="iso-8859-2"?> xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">... Általában az rdf:rdf elem nyitó címkéjében adunk meg minden szükséges névtér deklarációt Az rdf:rdf elem elhagyható, amennyiben benne csak egyetlen elem szerepel A továbbiakban a http://www.w3.org/1999/02/22-rdf-syntax-ns# névtér név hozzárendelt az rdf előtaghoz 40

RDF/XML (2) RDF/XML (4) Az RDF gráfok csomópontokból és csomópont párokat összekötő címkézett irányított élekből állnak A gráfot hármasok halmazával ábrázolhatjuk, a hármasok mindegyike tartalmaz egy alany és egy tárgy csomópontot, valamint egy predikátumot A csomópontok RDF URI hivatkozások, literálok vagy üres csomópontok A predikátumok RDF URI hivatkozások 41 Az RDF URI hivatkozást a minősített névből a névtér nevet és a lokális részt egymás után illesztve kapjuk meg A predikátumok és bizonyos csomópontok esetében használható ez a rövidítés Az alany és tárgy csomópontokat azonosító RDF URI hivatkozásokat attribútum értékekként adhatjuk meg Az RDF literálokat amelyek csak tárgy csomópontok lehetnek XML elemek szöveges tartalmaként vagy attribútumok értékeként használhatjuk 43 RDF/XML (3) RDF/XML (5) Hogy XML-be kódolhassuk a gráfot, a csomópontokat és éleket az XML-ben használható elem nevekkel, attribútum nevekkel, elem tartalommal és attribútum értékekkel kell ábrázolni Az RDF URI hivatkozások ábrázolása minősített nevekkel Minden minősített névnek van névtér neve ami egy URI hivatkozás és egy rövid lokális neve A névtér nevet helyettesítheti a minősített névben egy rövid előtag, ennek hiányában alapértelmezett névtér deklaráció adja meg névtér nevet 42 A gráf tekinthető olyan utak halmazának, amelyek lefedik az egész gráfot Ezek XML-ben egymásba ágyazott elemek sorozataként jelennek meg, amelyben az elemek felváltva ábrázolnak csomópontokat és éleket Az elemeket megfelelő módon csomópont elemeknek és tulajdonság elemeknek nevezzük Az úton az első csúcsot a legkülső elem ábrázolja, az ebből induló éleket ennek a gyermekei ábrázolják, és így tovább 44

RDF/XML (6) Üres csomópontok azonosítása (1) <?xml version="1.0" encoding="iso-8859-2"?> xmlns:foaf="http://xmlns.com/foaf/0.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/"> <rdf:description rdf:about="http://www.inf.unideb.hu/~jeszy/"> <dc:creator> <rdf:description> <foaf:mbox> <rdf:description rdf:about="mailto:jeszy@inf.unideb.hu"/> </foaf:mbox> <foaf:givenname>péter</foaf:givenname> <foaf:family_name>jeszenszky</foaf:family_name> </dc:creator> Az RDF gráfokban különbözőnek tekintünk minden üres csomópontot, azonban nincs azonosító RDF URI hivatkozás Az RDF/XML időnként megköveteli az ugyanarra az üres csomópontra való többszörös hivatkozást Ezért az üres csomópontnak egy üres csomópont azonosító adható, amely a csomópontot a dokumentum belül azonosítja Csomópont elemen az rdf:about attribútum, tulajdonság elemen pedig az rdf:resource attribútum helyett használható az rdf:nodeid attribútum, amelynek értéke az üres csomópont azonosító 45 47 RDF/XML (7) Üres csomópontok azonosítása (2) Hogy ne kelljen állandóan ismétlődő URI hivatkozásokat kiírni, érdemes entitásokat használni: <?xml version="1.0" encoding="iso-8859-2"?> <!DOCTYPE rdf:rdf [ <!ENTITY xs "http://www.w3.org/2001/xmlschema#"> ]> xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/"> <rdf:description rdf:about="http://www.inf.unideb.hu/~jeszy/"> <dcterms:created rdf:datatype="&xs;date"> 2004-10-23 </dcterms:created> <?xml version="1.0" encoding="iso-8859-2"?> xmlns:foaf="http://xmlns.com/foaf/0.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/"> <rdf:description rdf:about="http://www.inf.unideb.hu/~jeszy/"> <dc:creator rdf:nodeid="a0"/> <rdf:description rdf:nodeid="a0"> <foaf:mbox rdf:resource="mailto:jeszy@inf.unideb.hu"/> <foaf:givenname>péter</foaf:givenname> <foaf:family_name>jeszenszky</foaf:family_name> 46 48

Tipizált literálok Tárgy csomópontként lehet tipizált literálokat használni predikátumoknál Ugyanúgy adjuk meg őket, mint a sztring literál csomópontokat a tulajdonság elemek belsejében, azonban a tulajdonság elemen megjelenik az rdf:datatype attribútum Az attribútum értéke az adattípust azonosító RDF URI hivatkozás 49 XML literálok használata (2) <?xml version="1.0"?> xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:foaf="http://xmlns.com/foaf/0.1/"> <rdf:description rdf:about="http://www.inf.unideb.hu/~jeszy/sin.png"> <foaf:depicts rdf:parsetype="literal"> <math xmlns="http://www.w3.org/1998/math/mathml"> <declare type="function"> <ci> f </ci> <lambda> <bvar> x </bvar> <apply> <sin/> <ci> x </ci> </apply> </lambda> </declare> </math> </foaf:depicts> 51 XML literálok használata (1) Az xml:lang attribútum XML literálok megadása tulajdonság elemek tartalmaként lehetséges A tartalmazó tulajdonság elemen meg kell adni az rdf:parsetype="literal" attribútumot A szokásos módon használható csomópont és a tulajdonság elemeken a tartalom nyelvének jelzésére A hatáskörben vonatkozik tulajdonság elemek sztring literál tartalmára és a tulajdonság attribútumok értékére Azonban az XML literálokat tartalmazó tipizált literálokra nem vonatkozik az értéke 50 52

Rövidítési lehetőségek Üres tulajdonság elemek (2) Az RDF/XML számos lehetőséget ad rövidítésre: Üres tulajdonság elemek Tulajdonság attribútumok Üres csomópontok elhagyása Tulajdonság attribútumok üres tulajdonság elemeken Tipizált csomópont elemek RDF URI hivatkozások rövidítése További rövidítési lehetőségek is lesznek később a konténereknél, kollekcióknál és a reifikációnál 53 <?xml version="1.0" encoding="iso-8859-2"?> xmlns:foaf="http://xmlns.com/foaf/0.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/"> <rdf:description rdf:about="http://www.inf.unideb.hu/~jeszy/"> <dc:creator> <rdf:description> <foaf:mbox rdf:resource="mailto:jeszy@inf.unideb.hu"/> <foaf:givenname>péter</foaf:givenname> <foaf:family_name>jeszenszky</foaf:family_name> </dc:creator> 55 Üres tulajdonság elemek (1) Tulajdonság attribútumok (1) Ha az RDF gráfban egy predikátum él egy olyan tárgy csomópontba vezet, amelyből nem vezetnek ki további predikátum élek, és amely egy üres <rdf:description rdf:about="..."/> csomópont elemként jelenik meg, akkor az alábbi rövidítéssel élhetünk: A predikátumnak megfelelő tulajdonság elem legyen üres és az rdf:resource attribútumban adjuk meg a tárgy csomópontot azonosító RDF URI hivatkozást 54 Ha egy tulajdonság elem tartalma sztring literál, akkor a tartalmazó csomópont elem attribútumaként is megadhatjuk a tulajdonságot Ezt csak abban az esetben lehet megtenni, ha: A tartalmazó csomópont elem gyermekeként az adott tulajdonság elem legfeljebb egyszer szerepel A csomópont elemen és a tulajdonság elemen érvényben lévő xml:lang értékek megegyeznek A rövidítéssel élni lehet az rdf:type tulajdonság esetében, amelynek rdf:resource attribútumának értéke egy RDF URI hivatkozás 56

Tulajdonság attribútumok (2) Üres csomópontok elhagyása (2) <?xml version="1.0" encoding="iso-8859-2"?> xmlns:foaf="http://xmlns.com/foaf/0.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/"> <rdf:description rdf:about="http://www.inf.unideb.hu/~jeszy/"> <dc:creator> <rdf:description foaf:givenname="péter" foaf:family_name="jeszenszky"> <foaf:mbox rdf:resource="mailto:jeszy@inf.unideb.hu"/> </dc:creator> <?xml version="1.0" encoding="iso-8859-2"?> xmlns:foaf="http://xmlns.com/foaf/0.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/"> <rdf:description rdf:about="http://www.inf.unideb.hu/~jeszy/"> <dc:creator rdf:parsetype="resource"> <foaf:mbox rdf:resource="mailto:jeszy@inf.unideb.hu"/> <foaf:givenname>péter</foaf:givenname> <foaf:family_name>jeszenszky</foaf:family_name> </dc:creator> 57 59 Üres csomópontok elhagyása (1) Üres csomópontokat meg lehet adni az rdf:description elemet elhagyva Az elhagyás úgy történik, hogy a tartalmazó tulajdonság elemen meg kell adni az rdf:parsetype="resource" attribútumot Az attribútum azt jelenti, hogy a tulajdonság elem egy új üres csomópont leírását tartalmazza Ilyen módon a tulajdonság elem tulajdonság és csomópont elemmé válik, amelyen tilos megadni tulajdonság attribútumokat és az rdf:nodeid attribútumot 58 Tulajdonság attribútumok üres tulajdonság elemeken (1) Ha egy üres csomóponthoz tartozó tulajdonság elemek mindegyike csak sztring literálokat tartalmaz, és mindegyik legfeljebb egyszer fordul elő, akkor az ezeket meg lehet adni az üres csomópontot tartalmazó tulajdonság elemen tulajdonság attribútumokként, elhagyva az üres csomópontot Ezt csak akkor lehet megtenni, ha a hatáskörben lévő xml:lang értékek megegyeznek Ekkor az üres csomópontot tartalmazó tulajdonságból üres elem lesz Ha van legfeljebb egy rdf:type tulajdonság, akkor ennek esetében is élni lehet a rövidítéssel 60

Tulajdonság attribútumok üres tulajdonság elemeken (2) <?xml version="1.0" encoding="iso-8859-2"?> xmlns:foaf="http://xmlns.com/foaf/0.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/"> <rdf:description rdf:about="http://www.inf.unideb.hu/~jeszy/"> <dc:creator foaf:givenname="péter" foaf:family_name="jeszenszky" foaf:nick="jeszy"/> Tipizált csomópont elemek (2) Az előbbiek értelmében az alábbi kettő ekvivalens: <rdf:description> <rdf:type rdf:resource="http://xmlns.com/foaf/0.1/person"/> <foaf:mbox rdf:resource="mailto:jeszy@inf.unideb.hu"/> <foaf:givenname>péter</foaf:givenname> <foaf:family_name>jeszenszky</foaf:family_name> <foaf:person> <foaf:mbox rdf:resource="mailto:jeszy@inf.unideb.hu"/> <foaf:givenname>péter</foaf:givenname> <foaf:family_name>jeszenszky</foaf:family_name> </foaf:person> 61 63 Tipizált csomópont elemek (1) URI-k rövidítése (1) RDF gráfokban alany csomópontoknál gyakran megjelenik az rdf:type predikátum Ezeket a csomópontokat tipizált csomópontoknak nevezzük, a megfelelő elemeket RDF/XML-ben pedig tipizált elemeknek A tipizált csomópontoknál az rdf:description csomópont elem nevét helyettesíteni lehet az rdf:type predikátum értékét képviselő RDF URI hivatkozásnak megfelelő elem névvel Több rdf:type tulajdonság esetén bármelyik választható a helyettesítéshez, de csak egyetlen egy 62 A dokumentumban szereplő relatív URI-k feloldása abszolúttá: Ha van xml:base attribútum a dokumentumban, akkor annak értéke a bázis URI a feloldás során Egyébként a bázis URI az az URI, amelyen a dokumentum elérése történt Csomópont elemeken az rdf:about attribútum helyett lehet az rdf:id attribútumot használni (tulajdonság elemeken más a jelentése) 64

URI-k rövidítése (2) URI-k rövidítése (4) Az rdf:id attribútum csomópont elemeken egy relatív RDF URI hivatkozást ad, amely ekvivalens az attribútum '#' karakter után illesztett értékével Azaz rdf:id="name" ugyanaz mint rdf:about="#name" Az rdf:id attribútumok értékei egyediek kell hogy legyenek egy xml:base érték hatáskörében, annak hiányában a dokumentumban Lehetővé teszi különböző, de összetartozó kifejezések definiálását ugyanahhoz az RDF URI hivatkozáshoz relatívan 65 <http://example/ont#man> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#class>. <http://example/ont#man> <http://www.w3.org/2002/07/owl#disjointwith> <http://example/ont#woman>. <http://example/ont#woman> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#class>. <http://example/ont#woman> <http://www.w3.org/2002/07/owl#disjointwith> <http://example/ont#man>. 67 URI-k rövidítése (3) Konténerek (1) <?xml version="1.0"?> xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:owl="http://www.w3.org/2002/07/owl#" xml:base="http://example/ont"> <owl:class rdf:id="man"> <owl:disjointwith rdf:resource="#woman"/> </owl:class> <owl:class rdf:id="woman"> <owl:disjointwith rdf:resource="#man"/> </owl:class> 66 Lehetővé teszik csoportok leírását Olyan erőforrások, amelyek dolgokat tagokat tárolnak A tagok erőforrások beleértve az üres csomópontokat és literálok lehetnek 3 fajta: rdf:bag rdf:seq rdf:alt 68

Konténerek (2) Konténerek (4) A Bag olyan konténer, amely erőforrások és literálok csoportját reprezentálja, amelyben RDF/XML-ben az rdf:_n tulajdonságok helyett használni lehet az rdf:li tulajdonságot ismétlődés lehet XML-ben lényeges ezeknek a sorrendje! lényegtelen a tagok sorrendje Megjegyzés az Alt konténerhez: A Seq olyan konténer, amely erőforrások és literálok csoportját reprezentálja, amelyben ismétlődés lehet lényeges a tagok sorrendje Az Alt olyan konténer, amelynek tagjai erőforrások és literálok alternatívák (általában egy tulajdonság alternatív értékei) 69 Minden Alt konténernek legalább egy tagja van Az rdf:_1 tulajdonsággal azonosított tagnak kitüntetett szerepe van, ez az alapértelmezett, a többi tag sorrendje lényegtelen Az RDF nem követeli meg jólformáltsági megszorítások teljesülését a konténer szótár használatánál Például leírható olyan konténer, amely Bag és Seq is egyben 71 Konténerek (3) Konténerek (5) Egy konténer egy olyan erőforrás, amelynek van rdf:type tulajdonsága rdf:bag, rdf:seq vagy rdf:alt értékkel A konténert reprezentáló erőforrás lehet URI hivatkozással azonosított csomópont és üres csomópont A tagok leírása úgy történik, hogy mindegyik számára definiálunk egy konténer tagság tulajdonságot, amelynek alanya a konténer, tárgya pedig az éppen definiált tag A konténer tagság tulajdonságok neve rdf:_n alakú, ahol n vezető nullák nélküli pozitív egész szám Szemantika szempontjából semmiféle különbség nincs a különböző fajta konténerek között Csupán az emberi olvasó számára van jelzésértéke annak, hogy a Bag, Seq és Alt konténer közül éppen melyik használt A bemutatott szótár segítségével leírni lehet konténereket, nem pedig létrehozni, mint egy programozási nyelvben A konténer erőforrásnak lehetnek további tulajdonságai, amelyek magát a konténert írják le 70 Csak részleges információk adhatók a tagokról (létezhetnek további tagok) 72

A Bag konténer (1) A Bag konténer (3) 73 <?xml version="1.0" encoding="iso-8859-2"?> xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:pub="http://ebiquity.umbc.edu/ontology/publication.owl#" xmlns:dc="http://purl.org/dc/elements/1.1/"> <pub:book rdf:about="urn:isbn:9639548480"> <dc:title xml:lang="hu">a szemantikus világháló elmélete és gyakorlata</dc:title> <pub:author> <rdf:bag> <rdf:_1>benkő Tamás</rdf:_1> <rdf:_2>lukácsy Gergely</rdf:_2> <rdf:_3>nagy Zsolt</rdf:_3> <rdf:_4>szeredi Péter</rdf:_4> </rdf:bag> </pub:author> </pub:book> 75 A Bag konténer (2) A Seq konténer (1) Az előbbi RDF gráf hármasokkal reprezentálva: <urn:isbn:9639548480> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://ebiquity.umbc.edu/ontology/publication.owl#book>. <urn:isbn:9639548480> <http://purl.org/dc/elements/1.1/title> "A szemantikus világháló elmélete és gyakorlata"@hu. <urn:isbn:9639548480> <http://ebiquity.umbc.edu/ontology/publication.owl#author> _:A0. _:A0 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/1999/02/22-rdf-syntax-ns#bag>. _:A0 <http://www.w3.org/1999/02/22-rdf-syntax-ns#_1> "Benkő Tamás". _:A0 <http://www.w3.org/1999/02/22-rdf-syntax-ns#_2> "Lukácsy Gergely". _:A0 <http://www.w3.org/1999/02/22-rdf-syntax-ns#_3> "Nagy Zsolt". _:A0 <http://www.w3.org/1999/02/22-rdf-syntax-ns#_4> "Szeredi Péter". 74 76

A Seq konténer (2) Az Alt konténer (1) Az előbbi RDF gráf hármasokkal reprezentálva: _:A2 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/1999/02/22-rdf-syntaxns#seq>. _:A2 <http://www.w3.org/1999/02/22-rdf-syntax-ns#_1> "Waiting - Phase One". _:A2 <http://www.w3.org/1999/02/22-rdf-syntax-ns#_2> "Waiting - Phase Two". _:A2 <http://www.w3.org/1999/02/22-rdf-syntax-ns#_3> "The Sound of No-one Listening". _:A1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <"http://musicbrainz.org/mm/mm-2.1#artist">. _:A1 <http://purl.org/dc/elements/1.1/title> "Porcupine Tree". _:A0 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://musicbrainz.org/mm/mm-2.1#album>. _:A0 <http://purl.org/dc/elements/1.1/title> "Waiting". _:A0 <http://purl.org/dc/elements/1.1/creator> _:A1. _:A0 <http://musicbrainz.org/mm/mm-2.1#tracklist> _:A2. 77 79 A Seq konténer (3) <?xml version="1.0"?> xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:mm="http://musicbrainz.org/mm/mm-2.1#"> <mm:album> <dc:title>waiting</dc:title> <dc:creator rdf:parsetype="resource"> <rdf:type>http://musicbrainz.org/mm/mm-2.1#artist</rdf:type> <dc:title>porcupine Tree</dc:title> </dc:creator> <mm:tracklist> <rdf:seq> <rdf:_1>waiting - Phase One</rdf:_1> <rdf:_2>waiting - Phase Two</rdf:_2> <rdf:_3>the Sound of No-one Listening</rdf:_3> </rdf:seq> </mm:tracklist> </mm:album> 78 Az előbbi RDF gráf hármasokkal: Az Alt konténer (2) <urn:isbn:963077609x> <http://purl.org/dc/elements/1.1/title> _:A0. <urn:isbn:963077609x> <http://purl.org/dc/elements/1.1/language> "hu"^^<http://www.w3.org/2001/xmlschema#language>. _:A0 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/1999/02/22-rdf-syntax-ns#alt>. _:A0 <http://www.w3.org/1999/02/22-rdf-syntax-ns#_1> "A gyűrűk ura"@hu. _:A0 <http://www.w3.org/1999/02/22-rdf-syntax-ns#_2> "Le Seigneur des Anneaux"@fr. _:A0 <http://www.w3.org/1999/02/22-rdf-syntax-ns#_3> "The Lord of the Rings"@en. _:A0 <http://www.w3.org/1999/02/22-rdf-syntax-ns#_4> "El seńor de los anillos"@es. 80

Az Alt konténer (3) RDF kollekciók (2) <?xml version="1.0" encoding="iso-8859-2"?> xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/"> <rdf:description rdf:about="urn:isbn:963077609x"> <dc:title> <rdf:alt> <rdf:_1 xml:lang="es">el seńor de los anillos</rdf:_1> <rdf:_2 xml:lang="fr">le Seigneur des Anneaux</rdf:_2> <rdf:_3 xml:lang="en">the Lord of the Rings</rdf:_3> <rdf:_4 xml:lang="hu">a gyűrűk ura</rdf:_4> </rdf:alt> </dc:title> <dc:language rdf:datatype="http://www.w3.org/2001/xmlschema#language">hu</dc:langua ge> 81 Kollekciók ábrázolása a Lisp programozási nyelv listáihoz hasonlóan: A listákat üres csomópontok reprezentálják A lista csomópontok mindegyike az rdf:first és rdf:rest tulajdonságok alanya Az rdf:first tulajdonság adja meg a lista fejét, tárgya a kollekció megfelelő tagja Az rdf:rest tulajdonság adja meg a lista farkát, tárgya egy listát reprezentáló üres csomópont A lista végének jelzésére az rdf:nil erőforrást kell használnia az rdf:rest tulajdonság tárgyaként A lista szerkezetet alkotó üres csomópontok implicit módon rdf:list típusúak, azaz mindnek implicit módon van rdf:type tulajdonsága rdf:list értékkel 83 RDF kollekciók (1) RDF kollekciók (3) Nem lehet a konténereket bezárni Létezhetnek a konténernek további tagjai a leíráskor megadottakon túl Az RDF kollekciókkal olyan csoportokat lehet leírni, amelyek kizárólag az adott tagokat tartalmazzák Az RDF kollekciók dolgok olyan csoportjai, amelyeket a gráfban listák reprezentálnak A kollekciók leírásához használható szótár: rdf:list, rdf:first, rdf:rest, rdf:nil 82 84

RDF kollekciók (4) RDF kollekciók (6) RDF/XML-ben rövidebben is ábrázolni lehet a kollekciókat: Ha egy tulajdonság elemen megjelenik az rdf:parsetype="collection" attribútum, akkor a tartalmazott csomópont elemek a kollekció tagjai Lényeges XML-ben a tartalmazott csomópont elemek sorrendje Az RDF nem követeli meg jólformáltsági megszorítások teljesülését a kollekció szótár használatánál Például egy csomópontnál két különböző értéket is meg lehet adni az rdf:first tulajdonságnak 85 <?xml version="1.0" encoding="iso-8859-2"?> xmlns:foaf="http://xmlns.com/foaf/0.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" > <rdf:description rdf:about="http://www.bbc.co.uk/comedy/guide/images/400/flyingcircus_2.jpg" > <rdf:type rdf:resource="http://xmlns.com/foaf/0.1/image"/> <foaf:depicts rdf:nodeid="a0"/> <rdf:description rdf:nodeid="a0"> <rdf:first>graham Chapman</rdf:first> <rdf:rest rdf:nodeid="a1"/> <rdf:description rdf:nodeid="a1"> <rdf:first>john Cleese</rdf:first> <rdf:rest rdf:nodeid="a2"/> 87 RDF kollekciók (5) RDF kollekciók (7) <rdf:description rdf:nodeid="a2"> <rdf:first>terry Gilliam</rdf:first> <rdf:rest rdf:nodeid="a3"/> <rdf:description rdf:nodeid="a3"> <rdf:first>eric Idle</rdf:first> <rdf:rest rdf:nodeid="a4"/> <rdf:description rdf:nodeid="a4"> <rdf:first>terry Jones</rdf:first> <rdf:rest rdf:nodeid="a5"/> 86 <rdf:description rdf:nodeid="a5"> <rdf:first>michael Palin</rdf:first> <rdf:rest rdf:resource="http://www.w3.org/1999/02/22-rdfsyntax-ns#nil"/> 88

RDF kollekciók (10) <foaf:person> <foaf:name>eric Idle</foaf:name> </foaf:person> <foaf:person> <foaf:name>terry Jones</foaf:name> </foaf:person> <foaf:person> <foaf:name>michael Palin</foaf:name> </foaf:person> </foaf:depicts> </foaf:image> 89 91 RDF kollekciók (9) Reifikáció (1) <?xml version="1.0"?> xmlns:foaf="http://xmlns.com/foaf/0.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <foaf:image rdf:about="http://www.bbc.co.uk/comedy/guide/images/400/flyingcircus_2.jpg "> <foaf:depicts rdf:parsetype="collection"> <foaf:person> <foaf:name>graham Chapman</foaf:name> </foaf:person> <foaf:person> <foaf:name>john Cleese</foaf:name> </foaf:person> <foaf:person> <foaf:name>terry Gilliam</foaf:name> </foaf:person> 90 A reifikáció kijelentések leírását jelenti kijelentésekkel Például hogy mikor lett létrehozva egy adott kijelentés, vagy hogy ki a létrehozó Például az alábbi kijelentés azt fejezi ki, hogy az angol font váltási árfolyama az USA-dollárhoz képest 0.5628: <http://www.daml.ecs.soton.ac.uk/ont/currency.owl#gbp> <http://example/ont/currency#hasusdexchangerate> "0.5628"^^<http://www.w3.org/2001/XMLSchema#double>. Ezt a kijelentést tulajdoníthatjuk például egy valutaárfolyamok közlésére szakosodott adott szájtnak 92

Reifikáció (2) Reifikáció (4) Az RDF egy szótárat ad a kijelentések ilyen módon leírásához Egy kijelentés leírását a kijelentés reifikációjának nevezzük A reifikációt lehetővé tevő szótárat az rdf:statement típus és az rdf:subject, rdf:predicate, rdf:object tulajdonságok alkotják Azért van ezekre szükség, mert kijelentések alanya csak erőforrás lehet, a leírandó kijelentésből velük speciális erőforrást lehet csinálni Korábban az rdf:description elemeken RDF URI hivatkozások rövidítéséhez használtuk az rdf:id attribútumot Az rdf:id attribútum használható tulajdonság elemeken, azonban más a jelentése: A tulajdonság elem által generált hármas reifikációját adja automatikusan (ehhez az attribútum feltüntetésén kívül nem szükséges semmi egyéb) 93 95 Reifikáció (3) Az előbbi kijelentés reifikációja a szótárral: _:A0 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/1999/02/22-rdf-syntax-ns#statement>. _:A0 <http://www.w3.org/1999/02/22-rdf-syntax-ns#subject> <http://www.daml.ecs.soton.ac.uk/ont/currency.owl#gbp>. _:A0 <http://www.w3.org/1999/02/22-rdf-syntax-ns#predicate> <http://example/ont/currency#hasusdexchangerate>. _:A0 <http://www.w3.org/1999/02/22-rdf-syntax-ns#object> "0.5628"^^<http://www.w3.org/2001/XMLSchema#double>. Az ezekkel a hármasokkal modellezett kijelentésre vonatkozó információkat adnak az alábbi hármasok: _:A0 <http://purl.org/dc/elements/1.1/creator> <http://www.advfn.com/>. _:A0 <http://purl.org/dc/elements/1.1/created> "2005-11-26"^^<http://www.w3.org/2001/XMLSchema#date>. 94 Reifikáció (5) Tekintsük az alábbi RDF/XML dokumentumot: <?xml version="1.0"?> xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:ex="http://example/ont/currency#"> <rdf:description rdf:about="http://www.daml.ecs.soton.ac.uk/ont/currency.owl#gbp"> <ex:hasusdexchangerate rdf:id="triple" rdf:datatype="http://www.w3.org/2001/xmlschema#double"> 0.5628 </ex:hasusdexchangerate> 96

Reifikáció (6) A RDF/XML-be szerializált modell az alábbi hármasokkal írható le: <http://www.daml.ecs.soton.ac.uk/ont/currency.owl#gbp> <http://example/ont/currency#hasusdexchangerate> "0.5628"^^<http://www.w3.org/2001/XMLSchema#double>. <file:reif.rdf#triple> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/1999/02/22-rdf-syntax-ns#statement> <file:reif.rdf#triple> <http://www.w3.org/1999/02/22-rdf-syntax-ns#subject> <http://www.daml.ecs.soton.ac.uk/ont/currency.owl#gbp> <file:reif.rdf#triple> <http://www.w3.org/1999/02/22-rdf-syntax-ns#predicate> <http://example/ont/currency#hasusdexchangerate> <file:reif.rdf#triple> <http://www.w3.org/1999/02/22-rdf-syntax-ns#object> "0.5628"^^<http://www.w3.org/2001/XMLSchema#double> rdf:value (1) Bizonyos tulajdonságok literál értékének értelmezéséhez további információk lehetnek szükségesek Például hogy a tulajdonság értékét milyen mértékegységben kell érteni Megoldás a problémára strukturált tulajdonság értékek használata A tulajdonság értékét reprezentálja egy erőforrás, amelynek rdf:value tulajdonsága hordozza a tényleges értéket, a többi pedig az értelmezéshez ad információkat 97 99 Reifikáció (7) rdf:value (2) Egy állítás és az állítás reifikációja teljesen mást fejez ki, egyikből sem következik a másik! Nem biztos, hogy együtt van jelen a reifikált kijelentés, és a benne leírt kijelentés! A példánál maradva nem azt állítjuk, hogy 0.5628 az angol font váltási árfolyama az USA-dollárhoz képest, hanem azt, hogy valaki ezt állította Feltevés szerint a reifikáció által generált hármasok alanya egy konkrét hármast azonosít egy konkrét dokumentumban (számos olyan hármas lehet számos különböző dokumentumban, amelyekben ugyanaz az alany, a predikátum és a tárgy) Azonban az RDF nem ad arra lehetőséget, hogy a generált hármasok alanyához hozzárendeljük egy konkrét dokumentum egy konkrét hármasát 98 <?xml version="1.0"?> xmlns:po="http://www.purl.org/net/ontology/order.owl#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <po:item rdf:about="urn:isbn:0099448599"> <po:price rdf:parsetype="resource"> <rdf:value rdf:datatype="http://www.w3.org/2001/xmlschema#double"> 15.77 </rdf:value> <po:currency rdf:resource="http://www.daml.ecs.soton.ac.uk/ont/currency.owl#usd"/> </po:price> </po:item> 100