ƒeské Vysoké U ení Technické v Praze Fakulta Elektrotechnická DIPLOMOVÁ PRÁCE Ontologie v E-Commerce Praha 2004 Pavel Jisl
Prohlá²ení Prohla²uji, ºe jsem svou diplomovou práci vypracoval samostatn a pouºil jsem pouze podklady (literaturu, projekty, SW atd.) uvedené v p iloºeném seznamu. Nemám závaºný d vod proti uºití tohoto ²kolního díla ve smyslu Ÿ 60 Zákona.121/2000 Sb., o právu autorském, o právech souvisejících s právem autorským a o zm n n kterých zákon (autorský zákon). V Praze dne 22.1.2004 Pavel Jisl
Pod kování Cht l bych pod kovat v²em lidem, bez kterých by tato práce nemohla vzniknout. V prvé ad vedoucímu diplomové práce, panu Vladimíru Ma íkovi, a za podn tné konzultace panu Markovi Obitkovi. Mé pod kování dále sm uje v²em osobám blízkým, a to hlavn za morální podporu p i studiu a tvorb této práce.
Abstrakt Práce se v nuje seznámením s pouºívanými datovými formáty v oblasti e-commerce. Jsou popsány d leºité formáty, vyuºívané p i tvorb jednotlivých datových formát, zde se jedná hlavn o jazyky XML, RDF(S) a OWL. Podrobný popis byl zam en na podmnoºinu, která specikuje tvorbu a pouºívání produktových katalog. P i porovnání formát cxml a xcbl byl kladen d raz na porovnání zápisu shodných informací v jednotlivých datových elementech. Po získání znalostí o vyjád ení informací byla diskutována moºnost p evodu shodných dat a popis moºných problém, které tento p evod v jednoduché form znemoº ují. Z diskuse byly vyvozeny záv ry, jak lze shodná data mezi formáty p evád t a výsledkem byla implementace prototypu p evad e identických informací. Abstract The importance of e-commerce is in growing importance of bussiness marketplaces. We discuss diculties with integrating dierent XML formats used for representing product catalogs. The rst part is about technologies, used for writing product catalogs. There is short description of XML-based languages - XML, RDF(S) and OWL. Next part describes two widely used standards of bussiness formats - cxml and xcbl, and special format OCF, used only for product catalogs. In the description it was taken care of interpreting the same information dierently described in dierent languages. After this there is discussion about posible chances of integrating and transforming the same information in dierent catalog formats. Using all previous knowledge the prototype of transformation tool of the same information was implemented.
Zadání diplomové práce Seznamte se s problematikou ontologií, zejména pro oblast E- Commerce. Prove te pr zkum pouºívaných nebo navrhovaných ontologií, vybrané ontologie porovnejte z hlediska vyjád ení stejné informace. Vyhodno te moºnosti p ekladu dat mezi r znými ontologiemi. Implementujte prototyp p eklada e identické informace, vyjád ené ve vybraných ontologiích. 4
Obsah 1 Úvod 1 1.1 Motivace.............................. 2 1.2 Cíl práce.............................. 3 2 Seznámení s problematikou 4 2.1 Ontologie............................. 4 2.1.1 Pojem ontologie...................... 4 2.1.2 Základní stavební kameny ontologií........... 5 2.2 Datové formáty v E-Commerce................. 6 3 Popis pouºitých jazyk 9 3.1 Jazyk XML............................ 9 3.1.1 Historie.......................... 9 3.1.2 Vlastnosti......................... 10 3.1.2.1 Standardní formát pro vým nu dat...... 10 3.1.2.2 Jazyková podpora............... 10 3.1.2.3 Konverze do dal²ích formát.......... 11 3.1.2.4 Kontrola struktury dokumentu........ 11 3.1.3 Základy jazyka XML................... 11 3.1.3.1 Jazyk XML................... 11 3.1.3.2 Denice typu dokumentu........... 11 3.1.4 XML-Schema....................... 13 3.1.4.1 XPath...................... 14 1
OBSAH 2 3.2 Jazyky RDF a RDFS....................... 16 3.2.1 RDF............................ 16 3.2.2 RDFS........................... 19 3.3 Jazyk OWL............................ 19 3.3.1 Popis jazyka OWL.................... 19 3.3.1.1 Pouºití jmenných prostor........... 19 3.3.1.2 Informa ní hlavi ka............... 20 3.3.1.3 Denice t íd................... 20 3.3.1.4 Objektové a datové vlastnosti......... 20 3.3.1.5 Individua.................... 21 3.3.1.6 Omezení..................... 21 3.3.1.7 Axiomy..................... 22 3.3.2 OWL Lite, OWL DL, OWL Full............. 23 4 Popis vybraných formát 25 4.1 Úvod................................ 25 4.2 cxml............................... 25 4.2.1 PunchOut......................... 26 4.2.1.1 Procurement PunchOut............ 26 4.2.1.2 PunchOut Chaining.............. 26 4.2.1.3 Provider PunchOut............... 28 4.2.2 cxml katalog....................... 28 4.2.3 Popis d leºitých element................ 29 4.2.3.1 ItemID..................... 29 4.2.3.2 ItemDetail................... 32 4.2.3.3 IndexItemDetail................ 32 4.2.4 Záv r............................ 33 4.3 xcbl............................... 34 4.3.1 Popis d leºitých element................ 34 4.3.1.1 ProductCatalog................. 34 4.3.1.2 CatalogHeader................. 34 4.3.1.3 CatalogData.................. 37
OBSAH 3 4.3.1.4 Pricing..................... 37 4.3.1.5 Product..................... 38 4.3.2 Záv r............................ 40 4.4 Open Catalog Format....................... 41 4.4.1 Open Catalog Protocol.................. 41 4.4.2 Formát OCF....................... 41 4.4.2.1 Element catalog................ 42 4.4.2.2 Element param................. 43 4.4.2.3 Element product................ 43 4.4.2.4 Element category................ 43 4.4.2.5 Element attr.................. 44 4.4.2.6 Element value.................. 44 4.4.3 Záv r............................ 46 5 Porovnání 47 5.1 Práce s poloºkami katalogu.................... 47 5.2 Porovnání d leºitých element.................. 47 5.3 Kategorizace zboºí........................ 48 5.3.1 Kategorizace v cxml................... 48 5.3.2 Kategorizace v xcbl................... 48 5.3.3 Kategorizace v OCF................... 50 5.4 Zápis m ny a ceny........................ 50 6 P evody mezi ontologiemi 52 6.1 Úvod................................ 52 6.2 Problémy............................. 54 6.3 Dvouvrstvá integrace....................... 56 6.4 Specikace pouºité procedury.................. 57 6.4.1 Na tení dokumentu.................... 57 6.4.2 Tvorba OWL modelu................... 57 6.4.3 Vyjád ení identické informace.............. 58 6.5 Implementace........................... 60
OBSAH 4 6.6 Dal²í vývoj............................ 60 6.7 Záv r................................ 63 A Výstup aplikace: cxml v jazyku OWL 65 B Výstup aplikace: xcbl v jazyku OWL 68 C Výstup aplikace: soubor s mapováním 71 D Obsah p iloºeného CD 73 Literatura 74 Seznam tabulek 77 Seznam obrázk 78
Kapitola 1 Úvod Tato diplomová práce se zabývá ontologiemi, jejich pouºití v oblasti elektronického obchodování (E-Commerce) a moºnostmi p evodu shodných informací, vyjád ených v r zných ontologiích. V první ásti je seznámení s problematikou elektronického obchodování a s pouºívanými datovými formáty. Dále se práce zabývá popisem jazyka XML, jeho p ínosu ke strukturovanému zápisu dat, publikovaných v síti Internet, a jeho moºnostem. Jsou popsány jazyky na n m zaloºené, pouºívané pro tvorbu produktových katalog. Po seznámení se s pouºitými technologiemi jsou popsány dva nejd leºit j²í datové formáty v oblasti e-commerce a speciální jazyk pro zápis produktových katalog. Popis je zam en hlavn na zápis informací, které jsou v jednotlivých formátech shodné, ale jinak zapsané. Po seznámení s t mito formáty následuje diskuse o moºnostech p evodu identických informací. Jsou zde popsány problémy, které mohou nastat p i p evodu shodných informací. Na základ t chto poznak je popsána metoda p evodu, podle které byl naimplementován prototyp p evad e t chto informací v jazyku Java. 1
1.1. Motivace 2 1.1 Motivace S rozvojem moderních informa ních technologií je moºné v posledních letech vypozorovat po ínající orientaci výrobc a obchodník na tyto technologie. V t²ina rem zjistila, ºe nabídka sluºeb p es Internet je pro n jednodu²²í, ve své podstat i levn j²í, a snáze najdou svou cílovou skupinu. Bez své domovské stránky a zaregistrování v internetovém katalogu jsou rmy mén konkurenceschopné a mají na globálním trhu mén ²ancí své zboºí prodat. To v²e je umoºn no pomocí internetových obchod, které se dostávají aº k cílové skupin zákazník. Jiº je moºné si zboºí se v²emi informacemi jednodu²e prohlíºet, vybírat a nakoupit. Banky si tohoto sm ru v²imly a za velmi nízké poplatky umoº ují klient m platit bezhotovostn pomocí internetového bankovnictví. Výhody prodeje p es Internet jsou z ejmé. Zboºí je dostupné komukoli, kdo je k Internetu p ipojen, není zde omezení regionální (jako t eba u kamenných obchod ), a tak si nabídku m ºe p e íst kdokoli kdekoli na sv t. Výhodou je jednoduchá aktualizace katalog, kdy uºivatel vidí, kolik kus je na sklad, kolik aktuáln stojí nebo jaká je dostupnost. Výhodou je také operativní zm na prost edí podle pot eb uºivatel (p ístupnost webových stránek, ergonomie ovládání, rychlá zm na p i nalezení chyby v programu). V²echny tyto p edchozí my²lenky v²ak mají také své problémy. Je tedy nutné, aby se prodejci shodli na standardech, jak své výrobky budou nabízet. Prvním standardem, který vznikl na p d Organizace Spojených národ, je EDI/FACT 1 (Electronic Data Interchange for Administration, Commerce and Transport. Vznikl v 60. letech 20. století mezinárodní organizace OSN 2, ISO 3 a v ƒeské republice ƒsni 4. Ov²em vzhledem ke sloºitosti a náro nosti implementace tohoto standardu se za ínají pouºívat otev ené standardy zaloºené na formátu XML 1UN/EDIFACT: http://www.unece.org/trade/untdid/welcome.htm 2UN/ECE - CE/FACT: http://www.unece.org/cefact 3ISO: http://www.iso.org/iso/en/isoonline.frontpage 4ƒSNI: http://www.csni.cz
1.2. Cíl práce 3 (extensible Markup Language), které denují podmnoºinu pot ebných dat a jejich implementace do remního softwaru není natolik sloºitá. To je umoºn no hlavn existencí voln ²i itelných a jednodu²e dostupných knihoven pro práci s nimi. Tyto formáty v²ak za alo na sob nezávisle vyvíjet více rem a vzniklo n kolik nekompatibilních standard. V²echny k zápisu vyuºívají XML, coº je výhodou, ov²em data v nich jsou zapsána r zným zp sobem. To p iná²í dal²í nekompatibilitu v internetovém obchodování, protoºe prodejce m ºe zvolit jakýkoli ze standard, ale je moºné, ºe dal²í prodejce zvolí jiný a pak uº nemohou mezi sebou jednodu²e komunikovat. 1.2 Cíl práce Cílem této práce je prozkoumat n kolik voln dostupných datových formát, které se pouºívají - nebo v blízké dob pouºívat budou - v internetovém obchodování, porovnat zápis shodných informací a navrhnout moºnost p evodu.
Kapitola 2 Seznámení s problematikou Tato ást obsahuje seznámení s pouºívanými datovými formáty, s jejich historií a moºnostmi nasazení v prost edí elektronického obchodu. 2.1 Ontologie 2.1.1 Pojem ontologie Ontologie je pojem, který pochází z losoe. V té se chápe jako nauka nebo soubor nauk o bytí nebo jsoucnu. Lze je také brát jako univerzální soustavu znalostí, popisující objekty, jevy a zákonitosti sv ta tak jak je. V oblasti informa ních technologií ji bereme jako popis toho, co existuje. Vychází ze z denice T. Grubera: ontologie je explicitní specikace konceptualizace [4] a jejího roz²í ení od W. Borsta:... formální specikace sdílené konceptualizace [1]. V první denici je konceptualizace (tj. pojmy modelující ást sv ta) specikována explicitn, tedy je n kde zapsána a je dostupná nejen autorovi. V druhé denici je jiº kladen d raz na formalizaci, tedy pouºití jazyka s p esn denovanou syntaxí, a také na sdílení. Ontologie jiº není pouze záleºitost autora, ale vznikají spole nou aktivitou a diskusí autor, kte í mají o vznik nebo roz²í ení ur ité ontologie zájem. Zjednodu²en lze íci, ºe ontologie ve znalostním inºenýrství jsou znalostní 4
2.1. Ontologie 5 modely, které popisují ásti znalostního systému (modely). P iná²ejí totiº slovník termín a vztah mezi nimi, kterými lze tyto modely denovat. V praxi se setkáváme s n kolika r znými druhy ontologií. Doménové ontologie pokrývají znalost ur ité ásti sv ta Generické ontologie pokrývají hlavní znalosti sv ta, p iná²ejí jednoduché pojmy a koncepty pro v ci, jako jsou as, stav nebo úloha. Úlohové ontologie p iná²ejí termíny specické pro ur ité úlohy (nap. ºe hypotéza náleºí do úlohové ontologie diagnózy). 2.1.2 Základní stavební kameny ontologií Základem ontologií jsou t ídy (n kdy se také nazývá koncept, kategorie, pop. rámec, coº je výraz pouºívaný spí²e v objektov -orientovaných jazycích), které ozna ují mnoºiny konkrétních objekt. T ídy v pojetí ontologií jsou unární relace denované na domén objekt. Pokud jsou pro t ídu ur- eny podmínky nutnosti a posta itelnosti, pak se nazývají denované, jinak jako primitivní. Na mnoºin t íd je denována hierarchie (taxonomie). Individuum odpovídá konkrétnímu objektu reálného sv ta. Instance je termín ekvivalentní k individuu, ale ur uje asociaci k ur ité t íd. Individua (na rozdíl od instancí) mohou být do ontologie vloºena i bez vazby na t ídy. Vzhledem k zam ení ontologií na popis koncept (t íd) n které jazyky nepodporují individua a pokud je pot eba, pracuje se s ním jako se samostatnou t ídou. Dal²í d leºitou sloºkou ontologií jsou relace, tedy vztahy n-tic objekt. Tyto relace jsou bu libovolné logické podmínky, nebo p eddenovaná omezení. Binární relace se nazývají slot nebo vlastnost (property). Zvlá²tním typem relace jsou funkce, kdy jde o relace, u nichº je hodnota n-tého argumentu jednozna n ur ena p edchozími n 1 argumenty. Funk ní slot se také nazývá atribut, pokud je denován pro v²echny instance t ídy[9]. V ontologiích je moºné slot m p i azovat vlastnosti. Pak je nazýváme jako meta-sloty. Nej ast ji to je hierarchie, tedy vztah mezi nad azeným a
2.2. Datové formáty v E-Commerce 6 pod azeným slotem. Dal²ími meta-sloty jsou inverze, symetrie, tranzitivita, funk nost nebo inverzní funk nost. D leºité vlastnosti jsou také deni ní obor (domain) a obor hodnot (range). 2.2 Datové formáty v E-Commerce Zde bych se rád v noval letmému seznámení s n kolika formáty, zaloºenými na XML v oblasti elektronického obchodu. Prvním z nich je cxml 1 (commerce extensible Markup Language), vytvo ený a udrºovaný rmou Ariba Inc. Jedná se o otev ený, univerzální jazyk, jehoº hlavním cílem je tvorba katalog, tzv. PunchOut protokolu (viz. kapitola 4.2.1) a platebních p íkaz. Zajímavým projektem je XML Common Business Library, ve zkratce xcbl 2. Stejn jako i cxml i xcbl je otev ený a voln pouºitelný formát. O tento formát vytvo ila a o jeho rozvoj se stará rma CommerceOne 3, na jejíº stránce je mnoho zajímavých informací o e-bussinesu a e-commerci. xcbl jako jazyk je postaven na standardu EDI/FACT, ale pro zápis je vyu- ºíván jazyk XML. Zápis je podobný jako v EDI/FACT a proto i p evod mezi t mito dv ma formáty je snadný. Modulární systém pro tvorbu obchodních aplikací také nabízí konsorcium ebxml 4 (Electronic Business using extensible Markup Language). Toto konsorcium nabízí ucelený standard, umoº ující rmám komunikovat a spolupracovat pomocí jednotného systému zpráv. Standard roz²i uje standard EC/EDI o výhody komunikace ve formátu XML. ebxml je vyvíjeno konsorciem OASIS 5 (Organisation for the Advancement of Structured Information Standards), coº je nezisková organizace, starající se o rozvoj e-bussines standard. 1cXML - http://www.cxml.org 2xCBL - http://www.xcbl.org 3CommerceOne - www.commerceone.com 4ebXML: http://www.ebxml.org 5OASIS: http://www.oasis-open.org
2.2. Datové formáty v E-Commerce 7 Konsorcium W3 6 se v poslední dob zam uje také na sémantický web a ontologie pro práci s ním a vyvinulo standardní jazyk pro zápis ontologií. Tímto standardem je OWL 7, který vychází z jazyka DAML+OIL. OWL slouºí pro denici ontologií a s nimi souvisejícími bázemi znalostí. Tyto jazyky jsou zaloºeny na RDF (Resource Description Framework), jsou ale jsou spí²e my²leny pro pouºití v budoucnosti. Dal²í rmou, zabývající se vývojem formát a zázemím pro elektronické obchodování, je RosettaNet 8. Tato rma navrhla celý komplex formát a komunika ních protokol, které shrnula pod názem PIP - Partner Interface Processes. Celý postup návrhu, vlastní tvorby a zprovozn ní e-commerce nebo e-bussines serveru je na stránce RosettaNet velmi podrobn popsáno. Samoz ejmostí je podpora XML a otev enost projektu. Vývojem formát pro elektronické obchodování se jiº od roku 1979 zabývá konsorcium ASC X12 9 (Accredited Standards Committee), které bylo akreditováno ANSI institutem (American National Standards Institute). Toto konsorcium vyvíjí, udrºuje a publikuje standardy pro elektronickou vým nu dat (EDI) a to jak pro pouºití v USA (American National), tak pro OSN (UN/EDIFACT). Zajímavým po inem je OCF - Open Catalog Format rmy MartSoft 10, který denuje jednoduché DTD pro práci s katalogy. Pomocí tohoto DTD lze reprezentovat, ukládat a p ená²et obsah katalogu, který m ºe obsahovat bu jeden produkt, kategorii nebo podkategorii produkt nebo celý produkt. Vzhledem k tomu, ºe se jedná o obecnou denici formátu, nedenuje kategorizaci produkt. To z stává na uºivateli. Na svých stránkách ale rma MartSoft nabízí p evod z tohoto formátu do r zných formát katalog jiných rem, nap íklad do cxml, xcbl nebo do formátu pouºívaného rmou 6W3 Consorcium - http://www.w3.org 7Web Ontology: http://www.w3.org/2001/sw/webont/ 8RosettaNet - http://www.rosettanet.org 9ASC X12: http://www.x12.org 10MartSoft - http://www.martsoft.com
2.2. Datové formáty v E-Commerce 8 RosettaNet. Tato sluºba je nabízena na stránkách rmy MartSoft (viz. 11 a 12 ), ale je z ejm placená. 11 http://www.martsoft.com/technology.htm 12 http://www.martsoft.com/products/ccc/
Kapitola 3 Popis pouºitých jazyk 3.1 Jazyk XML 3.1.1 Historie Jazyk XML [11] (extensible Markup Language) je takzvaný zna kovací jazyk, který slouºí pro obecnou denici formátu souboru. Dal²ími p íklady t chto jazyk je nap. jazyk HTML, SGML nebo t eba i jazyk, který se pouºívá pro tvorbu dokument v programových balících TEXa LATEX. Jedním z prvních zna kovacích jazyk byl jiº zmín ný jazyk SGML (Standard Generalized Markup Language), který je denován v norm ISO 8879 z roku 1986. Jeho moºnosti jsou velmi silné, lze samoz ejm denovat vlastní zna ky (tagy) pomocí DTD (Document Type Denition, tedy denice typu dokumentu). Jeho komplexnost a velká roz²i itelnost ov²em m la problém s jeho implementací a jednoduchostí pouºití, proto se p íli² neroz²í il. Tento jazyk byl vyuºit p i tvorb jazyka HTML (HyperText Markup Language), jehoº nejv t²í roz²í ení umoºnil rozvoj Internetu a hlavn jeho jednoduchost. V druhé polovin 90. let bylo z ejmé, ºe jazyk SGML je velmi dob e navr- ºen, ale v praxi se vyuºívají jen jeho ásti a proto jeho nejd leºit j²í podmno- ºina byla vybrána pro nový jazyk. Tento jazyk dostal název XML a o jeho standard se stará konsorcium W3 [16]. Je samoz ejm roz²i itelný o nové 9
3.1. Jazyk XML 10 prvky pomocí DTD, ale jeho syntaxe je oproti SGML striktn j²í a mnoho parametr nelze m nit. Tyto vlastnosti zap í inily ²iroké roz²í ení jazyku XML do v²ech sfér Internetu, kde je t eba uchovávat a zpracovávat mnoºství informacích. Jazyk XML se hodí stejn k publikování dat na Internetu (jazyk XHTML, nový standard pro publikaci na WWW, který nahrazuje p edchozí standardy HTML) jako pro uchovávání dat v databázích. Jeho výhodou je totiº zachycení d leºitých informací o struktu e uloºených dat. 3.1.2 Vlastnosti 3.1.2.1 Standardní formát pro vým nu dat Jazyk XML je otev ený formát, jehoº specikace je k dispozici zdarma pro kaºdého na stránce konsorcia W3. Tím je umoºn na jeho snadn j²í implementace oproti proprietárním datovým formát m, jejichº specikace jsou obvykle pro vývojá e nedostupné. Dal²í výhodou je, ºe celý jazyk XML je zapsán jako oby ejný text a proto na jeho tvorbu a úpravu sta í b ºný textový editor. Je samoz ejmé, ºe plnohodnotné vyuºití v²ech vlastností umoºní pouze aplikace, která ho vytvo ila, ale pro jednoduché úpravy je to výhoda. 3.1.2.2 Jazyková podpora Jazyk XML byl od po átku tvo en jako multilinguální, o emº sv d í pouºitá jazyková sada ISO 10646. Tato jazyková sada je 32bitová, lze tedy do ní uloºit v²echny sv tové jazyky a ná e í. Lze tedy v dokumentu psát nejen esky a n mecky, ale t eba i japonsky a hebrejsky. Je samoz ejmé, ºe 32bitová znaková sada je plýtváním místa, proto lze samoz ejm pouºít i standardní národní sady jako ISO 8859-2 nebo 16bitovou sadu UTF-8.
3.1. Jazyk XML 11 3.1.2.3 Konverze do dal²ích formát Dal²í výhodou jazyka XML je velmi jednoduchá konverze do jiných formát. K této konverzi se pouºívá aplikace ²ablon. Nejjednodu²²í a asi nejznám j²í jsou ²ablony CSS, tedy kaskádové styly známé z HTML a XHTML. Ty lze ov²em pouºít jen pro formátování. Pro úplnou transformaci do jiného formátu se pouºívají speciáln navr- ºené styly XSL (extensible Stylesheet Language). S tímto jazykem lze nap. vypou²t t n které informace z dokumentu nebo generovat obsahy. 3.1.2.4 Kontrola struktury dokumentu Vzhledem k moºnosti denice vlastních zna ek je d leºité, zda v na²em dokumentu pouºíváme zna ky tak, jak jsme je nadenovali. To umoº uje soubor s DTD, kde je zapsané, jaké zna ky pouºíváme, jaké mohou mít parametry a obsah. K tomu slouºí tzv. validity parser, který otestuje správnost XML souboru oproti zadanému DTD. 3.1.3 Základy jazyka XML 3.1.3.1 Jazyk XML Jazyk XML je, jak jiº bylo zmi ováno, zna kovacím jazykem (markup language) a tyto zna ky se nazývají elementy. Pomocí element se pak ozna- ují d leºité ásti dokumentu. Elementy lze do sebe vno ovat a tím zachytit strukturu dokumentu. V tabulce 3.1 je ukázka XML dokumentu s popisem. 3.1.3.2 Denice typu dokumentu K vytvo enému dokumentu je t eba pro správnou innost doplnit p íslu²nou denicí typu dokumentu (DTD), pak lze totiº automatizovat jeho validaci. P i azení DTD k dokumentu se provede vloºením ádku (viz. 3.1) <!DOCTYPE katalog SYSTEM "katalog.dtd">
3.1. Jazyk XML 12 XML dokument <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE katalog SYSTEM "katalog.dtd"> <katalog> <firma id="12345678" typ="s.r.o."> <název>moje firma</název> </firma> <platnost do="1.2.2003" />. </katalog> popis XML deklarace a specikace jazyka p ipojení DTD k dokumentu ko enový element otevírací ást párového elementu a atributy text Moje rma je obsah elementu název uzavírací ást párového elementu nepárový nebo prázdný element. uzav ení ko enového elementu Tabulka 3.1: P íklad XML dokumentu kde katalog je název ko enového elementu SYSTEM je klí ové slovo, ur ující, ºe následující atribut je URL souboru s DTD a ºe se jedná o denici privátní. Lze pouºít klí ové slovo PUB- LIC, které ukazuje, ºe se jedná o standardizované DTD a prohlíºe (nebo jiný nástroj) ji pak nemusí stahovat z Internetu. Po této denici následují dva atributy, první s ve ejným identikátorem, druhý s URL pouºitého DTD. Denici lze samoz ejm také vloºit do XML souboru a tím nap. upravit vloºená externí DTD. Ale vzhledem ke speciálnímu pouºití se zde touto moºností nebudu zabývat. V tabulce 3.2 je zobrazen ukázkový p íklad souboru DTD, který popisuje elementy, které lze pouºít v p íkladu 3.1. V této denici jsou pouºity symboly?, * a +, ur ující, kolikrát lze pod- ízený element v elementu pouºít. Zde je popis t chto element :
3.1. Jazyk XML 13 <!ELEMENT katalog (firma+, platnost)> denice ko enového elementu <!ELEMENT firma (#PCDATA, název)*> element rma, lze pouºít element název a obecná data <!ATTLIST firma def. atribut, pat ících k elem. rma id CDATA #REQUIED id rmy, vyºadované typ (S.R.O. A.S. V.O.S.) 'S.R.O'> vý tový typ, standardn pouºito S.R.O. <!ELEMENT název (#PCDATA)> <!ELEMENT platnost (#PCDATA)> <!ATTLIST platnost do CDATA #REQUIRED> Tabulka 3.2: Ukázka denice DTD? - element nemusí být pouºit nebo m ºe být pouºit jednou * - element nemusí být pouºit nebo m ºe být pouºit n-krát + - element musí být pouºit alespo jednou a b - moºnost pouºití elementu a nebo elementu b 3.1.4 XML-Schema Vzhledem k tomu, ºe jednotlivé datové formáty jsou v r zných aplikacích jazyka XML, musím se zde zmínit i o formátu XML-Schema[15], nebo v n m je zapsána denice formátu xcbl. XML-schémata byla vytvo ena jako univerzální jazyk, který by m l nahradit v²echny existující jazyky pro popis struktury XML. Jeho denice je v²ak podle vývojá tak sloºitá, ºe se zatím moc neroz²i uje. Moºnosti denice datových typ jsou totiº tak veliké, ºe by si vyºádaly samostatnou denici. Lze nap íklad ur it typ také u element a k dispozici jsou v²echny moºné datové typu, od numerických hodnot, p es hodnoty logické, aº po r zné typy
3.1. Jazyk XML 14 et zc, ale je samoz ejm moºné si denovat i odvodit své vlastní typy. Lze si tak nap íklad nadenovat element, u kterého bude ur ená minimální a maximální délka et zce nebo po et desetinných míst u ísel. V tabulce 3.3 je tedy vid t, jak v tomto jazyku nadenovat DTD pro p íklad uvedený v tabulce 3.1. Jedná se samoz ejm o velmi jednoduchý ná rt moºností jazyka XML-Schema, ale pro sloºit j²í denice je z mého pohledu jeho pouºití výhodn j²í neº pouºití DTD. To hlavn z d vodu, ºe denice v XML-Schema vypadá podobn jako zápis v dokumentu, který ho pouºívá. Také dal²í moºnosti jsou robustn j²í, mohu zde zmínit nap íklad moºnost nadenovat p esné po adí, v jakém mají být elementy pouºity (nap. lze vyºadovat, ºe v elementu <adresa> bude prvním elementem <jmeno> a druhým <prijmeni> a ne naopak), moºnost denice vý tových (enumerate) typ, union typ a mnoho dal²ích vlastností, které usnadní autor m práci s výslednými XML dokumenty. 3.1.4.1 XPath XPath je standard konsorcia W3, který slouºí pro adresování ástí XML dokumentu. Jeho pouºití vypadá podobn jako odkazování v souborovém systému opera ních systém. Dále umoº uje r zné manipulace s et zci, ísly a logickými hodnotami. XPath modeluje XML dokument jako strom uzl. Za uzel se pak berou elementy, atributy a texty v elementech a atributech. Zde je zjednodu²ený popis (pro ná² p ípad dosta ující) nejd leºit j²ích vlastností (pro podrobn j²í popis doporu uji [14] a tutoriál [10]). /AAA vybírá ko enový element (absolutní cesta) /AAA/BBB vybírá v²echny elementy BBB, které jsou p ímými potomky ko enového elementu AAA //BBB vybírá v²echny elementy BBB, které jsou kdekoli ve stromu /AAA/BBB/* vybírá v²echny elementy, které jsou p ímými potomky /AAA/BBB
3.1. Jazyk XML 15 <xsd:schema xmlns:xsd="http://www.w3.org/2001/xmlschema"> <xsd:element name="katalog" type="katalogtype" /> <xsd:complextype name="katalogtype"> <xsd:sequence> <xsd:element name="firma" type="firmatype" minoccurs="1" /> <xsd:element name="platnost" type="xsd:string" /> </xsd:sequence> </xsd:complextype> <xsd:complextype name="firmatype"> <xsd:sequence> <xsd:element name="název" type="xsd:string" minoccurs="1" maxoccurs="1" /> </xsd:sequence> <xsd:attribute name="id" type="xsd:string" minoccurs="1" maxoccurs="1" /> <xsd:attribute name="typ" type="typfirmy" fixed="s.r.o" /> </xsd:complextype> <xsd:simpletype name="typfirmy"> <xsd:restricted base="xsd:string"> <xsd:enumeration value="s.r.o." /> <xsd:enumeration value="a.s." /> <xsd:enumeration value="v.o.s." /> </xsd:restricted> </xsd:simpletype> </xsd:schema> Tabulka 3.3: P íklad denice XML-Schématu k p íkladu v tabulce 3.1.
3.2. Jazyky RDF a RDFS 16 /*/*/CCC vybírá elementy CCC, které mají práv 2 p edky //* vybírá v²echny elementy ve stromu /AAA/BBB[1] vybírá prvního p ímého potomka BBB elementu AAA /AAA/BBB[last()] vybírá posledního p ímého potomka BBB elementu AAA //@id vybere v²echny atributy id //CCC[@id] vybere v²echny elementy CCC, které mají atributy id //CCC[@*] vybere v²echny elementy CCC, které mají jakýkoli atribut //CCC[@id='1234'] vybere v²echny elementy CCC, které mají atribut id rovný 1234 3.2 Jazyky RDF a RDFS 3.2.1 RDF RDF[12] (Resource Description Framework) je jazyk, zaloºený na XML, který slouºí pro zápis metadat. P i návrhu RDF byl kladen d raz na moºnost automatizovaného zpracování informací obsaºených na Webu. Lze ho pouºít pro spoustu aplikací od vyhledávacích agent, p es hodnocení obsahu (content rating) aº po popis ucelených WWW stránek. Datový model RDF je zaloºen na trojicích: subjektu, predikátu a objektu, které spole n utvá ejí tvrzení (statement). Prvkem, který univerzáln ukazuje na n jaký zdroj (kterým m ºe být cokoli, na co se lze odkázat identikátorem), je zdroj (resource), který je jednozna ne identikován pomocí URI 1. Zdroj m ºe vystupovat jak v roli subjektu, tak v roli objektu. Tímto objektem m ºe být krom zdroje také literál primitivní datová hodnota. 1Universal Resource Identicator, zobecn ní b ºn pouºívaných URL - Universal Resource Locator
3.2. Jazyky RDF a RDFS 17 http://www.w3.org/home/lassila subject Creator predicate http://www.w3.org/staffid/85740 Name Email object Ora Lassila lassila@w3.org Obrázek 3.1: Ukázka grafové representace RDF Vlastní RDF umoº uje zapisovat data v r zných reprezentacích. První moºností je znázorn ní pomocí grafu (obrázek 3.1). V této form jsou subjekty a objekty znázorn ny jako uzly a predikáty jako orientované hrany. Dal²í moºností je zapsat data pomocí trojic v notaci N3 2. V této notaci se data zapisují jako trojice na jedné ádce, jak je ukázáno v obrázku 3.2. Poslední moºností je zapsat data pomocí XML. Pak se hovo í o serializaci v XML, kdy jednotlivé prvky jsou azeny za sebe do element a atribut XML. Pak získáme zápis, který je zobrazen v obrázku 3.3. Hlavní vlastnosti formátu RDF jsou: moºnost zachycení sloºitých vztah mezi zdroji syntaxe zaloºená na XML podpora slovník metadat (nap íklad Dublin Core 3,...) 2 http://www.w3.org/designissues/notation3.html 3Dublin Core: http://dublincore.org, http://www.ics.muni.cz/dublin_core/
3.2. Jazyky RDF a RDFS 18 # Base: @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>. @prefix s: <http://www.example.com/s/>. @prefix : <#>. @prefix v: <http://www.example.com/v/>. <http://www.w3.org/staffid/85740> v:email "lassila@w3.org" ; v:name "Ora Lassila". <http://www.w3.org/home/lassila> s:creator <http://www.w3.org/staffid/85740>. Obrázek 3.2: Graf 3.1 v zápisu N3 <rdf:rdf xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:s="http://www.example.com/s/" xmlns:v="http://www.example.com/v/"> <rdf:description about="http://www.w3.org/home/lassila"> <s:creator rdf:resource="http://www.w3.org/staffid/85740"/> </rdf:description> <rdf:description about="http://www.w3.org/staffid/85740"> <v:name>ora Lassila</v:Name> <v:email>lassila@w3.org</v:email> </rdf:description> </rdf:rdf> Obrázek 3.3: Graf 3.1 zapsaný jako serializované XML