Szemantikus Web
Tartalom XML XML Schema XSLT RDFa RDF/XML Turtle RDFS SPARQL
HTML - XML HTMLXML Adatok megjelenítéseAdatok tárolása, megosztása (szoftver és hardver független) Szerkezetet ad Címkék (tag) adottakSaját címkéket definiálunk Saját szerkezetet definiálunk Önmagában is megjeleníthetőMegjelenítéshez szükség van valamilyen programra (átalakítóra)
WWW alkalmazásokhoz közös „szótárak” szükségesek: – Matematika: MathML – Bioinformatika: BSML – Humán erőforrások: HRML – Asztonómia: AML – Hírek: NewsML XML szabvány: – (1.0) – (1.1) Validator: Szerkesztő:
XML alapú rendszer Fájltípusok: – XML adatfájl (.xml) – adatokat tartalmazza – XML séma (.xs) – szabályok, definíciók – XML átalakító – adatok feldolgozása pl. XSLT (.xsl)
XML adatfájl Deklarációk: Pl: Gyökérelem – mindig pontosan egy van Attribútum Pl: duration="1062" Címkék és tartalmak Pl: Edda Művek
XML adatfájl - példa <- deklaráció <- gyökérelem David Billington 1981
XML elemek David Nyitó címke, tartalom, záró címke Ha nincs tartalom: üreselem pl: XML címke nevek: – Betűk, számok, speciális karakterek, de kerüljük: -,., : – Az első karakter lehet: betű, aláhúzás – Nem tartalmazhat szóközt – Nem kezdődhet xml-lel (XML,Xml, xML, stb.) – Leíró legyen pl.
XML attribútumok Attribútumok: – Plusz információ, mely nem része az adatnak (pl. feldolgozásnál segít) – Hátrányai: Nem tartalmazhatnak komplex típusú adatokat Nincs fa szerkezetük Körülményesebb feldolgozás Pl:
XML attribútumok Anna Borka Hello DE! Anna Borka Hello Hasznos: …..
XML adatfájl szabályok Egyetlen címke (gyökérelem) tartalmazza az összes többit. Minden nyitó címkének van záró címkéje (kivéve az üres címkét) Nagy- és kisbetűk különbözőnek számítanak Attribútum értékek ” ”, vagy ‘ ’ közé kerüljenek. Helyes beágyazás, záró címkék sorrendje tükrözze a nyitó címkékét.
XML adatfájl szabályok JelKód << >> && ‘' ”"
XML adatfájl szabályok Megjegyzések: Szóközök megmaradnak (vs. HTML) Új sor karakter: LF (Line Feed) (Windows: CR+LF, Unix, MAC OSX: LF)
XML séma Elemek, attribútumok deklarálása Egyszerű és komplex típusok definiálása Gyerekelemek megadása, gyerekelemek sorrendje, száma, üreselemek stb. Xml file-ban hivatkozunk a sémára: xmlns:xsi=" xsi:noNamespaceSchemaLocation="vm.xsd" Felépítése: 1.Deklarációk 2.Gyökérelem ” …..
XML séma Egyszerű elem deklarálása Pl.
XML Séma Attribútumok deklarálása Pl. Attribútumok opcionálisak, de kötelezővé lehet tenni:
XML séma Egyszerű adattípusok – Beépített: boolean, decimal, double, string, integer, normalizedString (nincs LF,CR,tab), date (YYYY-MM-DD), time (hh:mm:ss) – datatypes
Felhasználó által definiált Megszorítással:
Felhasználó által definiált Listagenerálással: Pl
Felhasználó által definiált Unióképzéssel:
XML séma Komplex típusok – Üreselem (attribútummal) – Elemeket tartalmazó elem (attribútummal) – Szöveget tartalmazó elem (attribútummal) – Vegyes tartalmú elem (attribútummal )
XML séma Üreselem Pl.:
XML séma Elemeket tartalmazó elem Pl: John Doe
XML séma Szöveget tartalmazó elem attribútummal Pl.: 35
XML séma Vegyes tartalmú elem Pl.: Dear Smith, Your order 1032 will be shipped on
Egyedi elem XML: 557 Short-Sleeved Linen Blouse Ten-Gallon Hat XML-Schema: mely elemekre vonatkozik az egyedi elem kifejezés, ami egyedi
Egyedi elem
XPATH Használjuk XSLT, XQuery, XPointer esetében is XPath szintaktikát ad egy XML dokumentum elemei és tulajdonságainak kiválasztására, címzésére XPath az „út-kifejezései” segítségével navigál az XML dokumentumokban (csomópontokkal) Az XPath csomópontok halmazaként kezeli az XML dokumentumot XPath a W3C ajánlása Több, mint száz beépített függvénye van
XPATH kifejezés Egy XPath kifejezés értéke lehet – XML csomópontok halmaza (pl. XML elemek halmaza) – logikai érték (igaz-hamis) – lebegőpontos vagy egész szám – karaktersorozat
XPATH Hétféle csomópont van: – Elem – Tulajdonság – Szöveg – Névtér – Megjegyzés – Gyökérelem – Feldolgozásvezérlő csomópontok
Alapfogalmak Kontextus csomópont: az XML dokumentum egy csomópontja, aminek kontextusában (amihez képest) az XPath kifejezés kiértékelődik. Útvonal: a kontextus csomóponttól indul és a dokumentum hierarchiájának egy vagy több szintjére illeszkedik. Útvonal részei: – Irány: a kontextus csomóponthoz képest milyen irányban indulunk. – Csomópont teszt: a választott irányban indulva milyen csomópontot keresünk. – Predikátumok (nulla vagy több): logikai kifejezések, amelyekkel a csomópont tesztet finomíthatjuk. A fenti elemekből egymás után több is írható / jelekkel elválasztva.
Csomópontok kiválasztása Nodename ---- nevével választja ki / ---- gyökérelemtől választ // ---- aktuális elemtől választ aktuális elemet választja ki az aktuális elem szülőjét választja ---- tulajdonságot választ ki * ---- bármely elem ---- bármely attribútum kiválasztása node() ---- bármely csomópont kiválasztása
Példák Piroska és a farkas Lolka és Bolka /könyvtár ---- gyökérelem //könyv ---- összes könyv nevű elem könyvtár/könyv ---- összes könyv elem, mely a könyvtár gyereke könyvtár//könyv ---- összes könyv elem, mely a könyvtár leszármazottja (bármilyen szintű) ---- összes ev nevű attribútum
További példák /bookstore/book[position()<3] a bookstore csomópont book gyerekcsomópontjai közül az első kettő /bookstore/book[price>35.00]/title az összes title csomópont, melynek van legalább egy attribútuma
Útvonal /lépés/lépés/... Abszolút útvonal lépés/lépés /... Relatív útvonal lépés szintaktikája: irány::csomópont_teszt[predikátumok] Pl. child::para[position()=last()-1] Kiválasztja a kontextus csomópont utolsó előtti "para" nevű gyerekét.
Predikátumok Predikátum: bármely XPath kifejezés lehet. A predikátum kiértékelése után a predikátum- kifejezés értékét boolean típusúra konvertáljuk és ezzel szűrjük a csomópontok halmazát. child::para[position()=1] Kiválasztja a kontextus csomópont dokumentum-sorrendben első "para" nevű gyerekét
További példák descendant::text() kiválasztja a kontextus csomópont összes szöveges leszármazottját Kedves Éva Holnap majd találkozunk…..
További példák child::book[attribute::publisher=" Computerbooks "][position()=5] Kiválasztja a kontextus csomópont ötödik book gyerekcsomóponját, amelynek van „publisher" nevű attribútuma és annak értéke „Computerbooks”
XSL, XSLT EXtensible Stylesheet Language XSLT XSL Transformations CSS = Style Sheets a HTML számára XSL = Style Sheets az XML számára XSL határozza meg, hogy hogy jelenítsünk meg egy XML dokumentumot
XSLT átalakító XML -> XHTML vagy másik XML dokumentum XPath szükséges az XML dokumentumban történő navigáláshoz Hozzáadni/törölni elemeket és attribútumokat Átrendezni, rendezni az elemeket Teszteket végezni, és dönteni arról, mely elemeket jelenítsük meg és melyeket nem XML forrás-fából egy XML eredmény-fa
XSLT átalakító Deklaráció: Gyökérelem: XML dokumentumban a hivatkozás:
XSLT átalakító Sablont rendelünk egy XML csomóponthoz A sablon szabályokat tartalmaz A „match” attribútum értéke egy XPath kifejezés Sablon megadása a teljes XML dokumentumra: ….
XSLT átalakító A „select” attribútum értéke XPath kifejezés …. Pl.: …..
XSLT átalakító …. Pl.:
XSLT átalakító Feltétel megadása XPath kifejezéssel:
XSLT átalaktó Rendezés:
XSLT átalakító …...
XSLT átalakító
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 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ú: Receptkönyv Datum:
RDFa - vocab Dublin Core szótár ( Receptkönyv Datum: Több szótár használata: The Trouble with Bob Date: All content on this site is licensed under a Creative Commons License. ©2011 Alice Birpemswick.
RDFa - prefix <body prefix="dc: schema: The trouble with Bob Alice The trouble with Bob is that he takes much better photos.
RDFa - resource Több elem esetén azonosít: The trouble with Bob Date: Alice Jo's Barbecue Date: Eve
RDFa - typeof Szótár: Friend-of-a-Friend [FOAF]FOAF Alice Birpemswick, Phone:
RDFa - typeof Bob Eve Manu 0
Alice Birpemswick, Phone: Bob Eve Manu
RDF Azonosítható dolgokról szóló információ ábrázolása. Dolgokat (erőforrásokat) azonosítjuk (egységes erőforrás-azonosítók - Uniform Resource Identifier, vagy URI), majd tulajdonságokkal és tulajdonságértékekkel leírjuk. Alany-állítmány-tárgy – Alany: RDF URI vagy üres csomópont lehet – Állítmány: RDF URI lehet – Tárgy: RDF URI vagy literálok vagy üres csomópont lehet
RDF Kijelentések: Az alany és a tárgy által megjelölt dolgok között az állítmány által megfogalmazott viszony áll fenn. Ábrázolás: – irányított gráf segítségével, a csúcsok erőforrásokat vagy literálokat reprezentálnak, az élek tulajdonságokat. (erőforrás tulajdonságérték) – XML szintaxis (szerializációs szintaxis) – Rendezett hármas (logikai formula)
Tulajdonságok RDF URI azonosítja Értékei: erőforrások, literálok és üres csomópontok Ontológiák definiálják a tulajdonságok jelentését: – Milyen erőforrásokhoz lehet őket kapcsolni – Milyen értékeket vehetnek fel – Milyen viszonyban vannak más tulajdonságokkal
Példa Bob Dylan USA Columbia Bonnie Tyler UK CBS Records
RDF/XML XML deklaráció: gyökérelem: …. … erőforrás azonosítása Az rdf:RDF elem elhagyható, amennyiben benne csak egyetlen rdf:Description elem szerepel
Literálok Típus nélküli literál egy opcionális nyelv címke (lang) kombinált karakterlánc. Természetes nyelvű szöveget reprezentálnak. Tipizált literálok olyan karakterláncok, amelyekhez egy adattípust azonosító RDF URI hivatkozás tartozik. Az adattípus megfelelő értékét reprezentálják.
Tipizált literál <rdf:RDF xmlns:rdf=" xmlns:exterms=" <exterms:creation-date rdf:datatype= " Megjegyzés: " Ki kell írni! DE!
XML entitások deklarációja Entitásnevet rendel egy karakterlánchoz: ]>
]> <rdf:RDF xmlns:rdf=" xmlns:exterms=" Sátor
Üres csomópont
<rdf:RDF xmlns:rdf=" xmlns:dc=" xmlns:exterms=" RDF/XML Syntax Specification (Revised) Dave Beckett
Konténerek A konténer egy olyan erőforrás, mely több dolgot tartalmaz. Ezeket a dolgokat tagoknak nevezzük. A konténer tagjai lehetnek erőforrások (beleértve az üres csomópontokat is), és lehetnek literálok. Az RDF háromféle típusú konténert definiál: – Rdf:Bag (zsák) – Rdf:Seq (sorozat vagy szekvencia) – Rdf:Alt (alternatíva csoport)
Zsák A zsák egy olyan erőforrás, amelynek típusa rdf:Bag, és olyan erőforrások vagy literálok csoportját ábrázolja, amelyben duplikát tagok is előfordulhatnak, és amelyben nincs jelentősége a tagok sorrendjének.
Zsák példa John Paul George Ringo
Sorozat A sorozat vagy szekvencia egy olyan erőforrás, amelynek típusa rdf:Seq, és olyan erőforrások vagy literálok csoportját ábrázolja, amelyben duplikát tagok is előfordulhatnak, és amelyben a tagok sorrendje szignifikáns (pl. abc sorrendben kell tartani).
Sorozat példa George John Paul Ringo
Alternatíva-csoport Az alternatíva-csoport, amelynek típusa rdf:Alt, olyan erőforrások vagy literálok csoportját ábrázolja, amelyek alternatívák (tipikusan egy tulajdonság értékének az alternatívái).
Alternatíva-csoport példa CD Record Tape
Turtle (Terse RDF Triple Language) Megjegyzés: #.... Alany-állítmány-tárgy hármast. zár URI: abszolút, foaf:. … foaf:name …. foaf:name egy minősített név, ami a rövidítése
Turtle Alap URI # this is a complete turtle document # In-scope base URI is the document URI at this # In-scope base URI is at this # In-scope base URI is at this point.
Turtle Literálok: – Idézőjelek között, ha nincs sortörés: "14" – 3 idézőjel között, ha lehet sortörés: " " "14" " " – nyelv megadása: " Alice " Éva – Adattípus URI megadása: " "^^xsd:date Üres csomópont: – _:nodeID – [ ]
Turtle a ekvivalens doc:. a doc:Document., ugyanaz az alany és tárgy :a :b :c, :d. :a :b :c. :a :b :d.
Turtle ; ugyanaz az alany :a :b :c ; :d :e. :a :b :c. :a :d :e.
RDFS Az RDF Séma beépített osztályokat és tulajdonságokat definiál, amelyek azután további (felhasználói leíró) osztályok, tulajdonságok és egyéb erőforrások definiálására használhatók. RDF szemantikai bővítménye. Ez a nyelv olyan mechanizmusokat specifikál, amelyekkel leírhatjuk az egymással kapcsolatban álló erőforrások csoportjait, és az ilyen erőforrások közötti viszonyokat.
RDFS URI: rdfs:. RDF szókészleteket RDF-ben írjuk erőforrás-osztályokat és tulajdonságokat adunk meg
RDFS
Osztályok megadása RDF/XML: Néhány osztály: rdfs:Class (Az osztályok osztálya.) rdfs:Literal (A literális értékek osztálya) rdfs:Resource (Minden erőforrás közös osztálya.)
Tulajdonságok Néhány tulajdonság: rdfs:subClassOf (Az alany egy osztály alosztálya.) rdfs:subPropertyOf (Az alany egy tulajdonság altulajdonsága.) rdfs:domain (Az alany (tulajdonság) érvényességi köre.) rdfs:range (Az alany (tulajdonság) értéktartománya.) rdfs:comment (Az alany (erőforrás) ember által olvasható magyarázata.) rdfs:label (Az alany (erőforrás) ember által olvasható neve.)
Tulajdonságok megadása