Sémantický web. Bankovní institut vysoká škola Praha. Katedra matematiky, statistiky a informačních technologií. Diplomová práce. Tomáš Lang.

Rozměr: px
Začít zobrazení ze stránky:

Download "Sémantický web. Bankovní institut vysoká škola Praha. Katedra matematiky, statistiky a informačních technologií. Diplomová práce. Tomáš Lang."

Transkript

1 Bankovní institut vysoká škola Praha Katedra matematiky, statistiky a informačních technologií Sémantický web Diplomová práce Autor: Tomáš Lang Informační technologie a management Vedoucí práce: Ing. Vladimír Beneš Praha leden, 2011

2 Prohlášení: Prohlašuji, ţe jsem diplomovou práci zpracoval samostatně a v seznamu uvedl veškerou pouţitou literaturu. Svým podpisem stvrzuji, ţe odevzdaná elektronická podoba práce je identická s její tištěnou verzí, a jsem seznámen/a se skutečností, ţe se práce bude archivovat v knihovně BIVŠ a dále bude zpřístupněna třetím osobám prostřednictvím interní databáze elektronických vysokoškolských prací. V Litvínově dne: Bc.Tomáš Lang. DiS.

3 Poděkování Rád bych poděkoval vedoucímu mé práce, panu Ing. Vladimíru Benešovi za odbornou spolupráci a pomoc při řešení mé diplomové práce.

4 Anotace práce Diplomová práce teoreticky popisuje koncept sémantického webu s jeho základními prvky aplikovanými na jednodušších příkladech. Součástí této práce je také praktická část, která zahrnuje vyuţití zápisu sémantických metadat do webové aplikace. Anotation My diploma thesis teoretically describes the concept of Semantic Web and his basic points aplicated on simple examples. My work also included practical part, which covers use of semantic metadata written in web application.

5 ÚVOD VÝVOJ WWW A JEHO TECHNOLOGIÍ KOŘENY HYPERTEXT VZNIK STATICKÝ WEB ALIAS WEB WEB SÉMANTICKÝ WEB (WEB 3.0) SOUČASNÝ STAV WEBU DNEŠNÍ OMEZENÍ WEBU ŘEŠENÍ SOUČASNÉHO STAVU KONCEPT SÉMANTICKÉHO WEBU ZÁKLADNÍ PRVKY SÉMANTICKÉHO WEBU Sémantika Metadata ONTOLOGIE ONTOLOGIE A JEJICH ÚČEL DĚLENÍ ONTOLOGIÍ Členění dle oborových oblastí Členění dle předmětu formalizace STRUKTURA ONTOLOGIÍ Třídy Individua (instance) Relace, funkce, sloty RDF RDF TROJICE RDF A IDENTIFIKACE ZDROJŮ JMENÉ PROSTORY (NAMESPACES) RDF SYNTAXE JAZYKA RDF RDF graf Literály RDF/XML syntaxe RDFa RDF SCHEMA Základní myšlenka RDFS Základní třídy RDFS

6 4.5.3 Vlastnosti RDFS pro definici vztahů Vlastnosti pro definici omezení v RDFS Pomocné třídy Jednoduchý příklad definice RDFS OWL KOMPATIBILITA OWL A RDFS VERZE JAZYKA OWL OWL Lite OWL DL OWL Full SYNTAXE OWL Hlavička OWL Třídy OWL Vlastnosti OWL Omezení v OWL PROJEKT SÉMANTICKÉHO WEBU CMS WORDPRESS PLUGIN WP-RDFA Podpora Dublin Core Podpora FOAF Instalace a nastavení WP-RDFa Výpis metadat Testování metadat ZÁVĚR PŘÍLOHY

7 Úvod V mé diplomové práci zaměřuji pozornost na historický vývoj počítačové sítě Internet a to především v oblasti webového prostředí, které doznalo v průběhu svého vývoje několika změn. Mimo technologické pokroky se tyto změny týkaly především způsobu uţití Internetu. Lidé dnes povaţují internet jako samozřejmost a počet připojených uţivatelů k Internetu neustále stoupá, s tím samozřejmě stoupá i mnoţství dat na internetu uloţených, která mají ovšem většinou podobu nestrukturovaného textu. Obsah je tedy tvořen především pro uţivatele, kteří jeho smyslu rozumí. Smysl tohoto obsahu je však z větší části strojům nesrozumitelný. Východiska z této situace přináší vzniklé a nově vznikající obory a prostředky pro popis strojově čitelných informací. Jedním z takových oborů je především ontologické inţenýrství, které vychází z ontologie, jako filosofického směru. Ve své diplomové práci se snaţím ontologii popsat především z teoretického hlediska a stejný způsob praktikuji také u nové generace WWW - sémantického webu s vylíčením jeho základních prvků. Velkou pozornost však věnuji účinnému nástroji RDF (Resource Description Framework), jako rámci pro popis a znovupouţití metadat. RDF je konceptem pro ostatní jazyky (především v součinnosti s XML), které ho vyuţívají k popisu. Do kapitoly pojednávající o RDF jsem zahrnul jak teoretické poznatky, tak praktické ukázky příkladů pouţití. V navazující kapitole se zaměřuji na jeden ze silnějších nástrojů pro modelování sloţitějších ontologií, kterým je OWL (Ontology Web Language). Jazyk popisuji opět stejným stylem s definicí teoretické i praktické části v podobě názorných příkladů. V závěru své práce uvedu praktické vyuţití v dnešním prostředí Internetu. Jako volbu pro aplikaci zápisu metadat zvolím jazyk RDFa, kterým se budu snaţit jednoduše popsat určité části webové aplikace. Obsah webové aplikace tak obohatím o jednoduchá a strojově čitelná data, která se pokusím nechat rozpoznat jedním z nástrojů pro testování metadat od společnosti Google. 7

8 1 Vývoj WWW a jeho technologií 1.1 Kořeny WWW Ačkoliv by se mohlo zdát, ţe WWW, nebo-li World Wide Web (dále jen Web), je projekt spadající do nepříliš vzdálené historie, Jeho kořeny sahají jiţ do 50. let 20. století, kdy v roce 1945 publikoval Vannevara Bush, významný americký vědec, v článku As We May Think první koncept pojmu Hypertext. Zde autor zdůraznil koncept informačního média majícího schopnost vyhledávat informace podobným způsobem, jakým pracuje lidský mozek, tedy způsobem asociativním. Autor sice nepředpokládal, ţe je moţné vyrobit zařízení, které v plné míře napodobí chování procesů lidského uvaţování, přesto ale věřil, ţe proces vyhledávání zaloţený na asociačních metodách bude zcela moţné automatizovat. V zásadě se jednalo o přístroj MEMEX 1 a jeho teoretický návrh. Tento přístroj byl zkonstruován z mechanického zařízení integrovaného do pracovního stolu, zde byly nejrůznější ovládací prvky v podobě tlačítek a páček. Na stole bylo pak vybavení pro psaní poznámek, snímání fotografií a záznam hlasu. Součástí bylo také několik zobrazovacích zařízení v podobě šikmě postavených průsvitných desek. Memex z části připomínal dnešní počítač. Médium pro záznam informací měl být vylepšený mikrofilm a veškeré informace byly tedy v podobě mikrofilmů, na kterých byly uloţeny nejrůznější knihy, periodika, obrázky či noviny. V samotném přístroji je pak samozřejmostí vyčleněný prostor pro vkládání vlastních informací. Podoba přístroje je na obrázku č. 1. Obrázek č. 1.1: Zařízení Memex Vannevara Bush Zdroj: Práce s přístrojem měla probíhat tedy tak, ţe uţivatel vyhledával v uloţených informacích (archivech) a jestliţe narazil na relevantní informaci, mohl si nechat otevřenou 8

9 danou část na jednom zobrazovacím zařízení a pokračoval ve vyhledávání na druhém. Postupně si mohl uţivatel tyto informace spojovat a vznikala tak sekvence souvisejících informací, kterou bylo moţné dále uloţit pro pozdější práci nebo ji někomu poslat. Memex měl tedy znaky rešeršního informačního systému majícího schopnost pracovat na základě asociativního indexování a respektuje tak myšlenkové vazby uţivatele. Jak lze vypozorovat v přístroji byly první zárodky hypertextu, se kterým se dnes a denně setkáváme, především u sluţby WWW. 1.2 Hypertext První oficiální uţití slova Hypertext se datuje k roku 1965 a to průkopníkem informačních technologií, filosofem a sociologem Theodorem H. Nelsonem. Při studiu sociologie na Harwardu se zapsal do počítačového kurzu humanitních věd a přišel s vizí nelineárního spojování 1 textových dokumentů. Tuto vizi chtěl praktikovat na projektu XANADU. Jehoţ záměrem bylo vytvořit systém určený k poskytování dokumentů, kde si čtenář vybírá svou vlastní cestu, přes které dokumenty bude dále pokračovat. Ovšem dalším důleţitým rysem bylo také poskytovat takovéto dokumenty, kde kaţdý bajt má zabudovanou svou vlastní autonomii a kaţdý uţivatel by měl být schopen sledovat odkazy a původ u všech dokumentů, nezávisle na jejich sítích, serverech, implementacích nebo hranicích. Toto vše v jednotném prostředí, které umoţňuje jednotný přístup ke všem dokumentům. Dokončení projektu XANADU však nikdy nebylo úspěšné. I přesto se ale stal Nelson slavným a to díky jeho názvu hypertext, který se uţívá pro označení nelineárně spojovaných dokumentů dodnes. 1.3 Vznik WWW Samotné vyuţití myšlenky hypertextu realizoval aţ v roce 1989 Tim Berners-Lee. V té době jako pracovník vědeckého institutu pro jaderný výzkum (CERN), se záměrem sdílet informace mezi výzkumníky vyuţil technické prostředky, které měl k dispozici a vytvořil první variantu webového serveru s názvem httpd. Napsal také počáteční verzi hypertextového značkovacího jazyka HTML pro psaní dokumentů s hypertextovými odkazy. Netrvalo dlouho a 6. Srpna 1991 spouští první webové stránky na adrese Tyto stránky byly spuštěny prvním prohlíţečem, který byl zároveň 1 Nelineární spojování dokumentů poskytuje čtenáři moţnost (volbu), kterým směrem bude pokračovat jeho dráha čtení dokumentů, které jsou propojený různými způsoby. 9

10 programem pro jejich editaci (WYSIWYG editorem 2 ) pod názvem WorldWideWeb. V průběhu let 1991 a 1993 dále pracoval na designu Webu v součinnosti se zpětnou vazbou od uţivatelů Internetu. Od roku 1991 začíná razantním způsobem stoupat počet připojených uţivatelů a v roce 1992 jich více jak 1 milion. První vývoj grafického prohlíţeč byl započat v roce 1992 pod názvem Mosaic, jehoţ autoři byli Marc Anderssen a Eric Bina. Stalo se tak za podpory NCSA 3 na Universitě v Illinois. Bylo to v době, kdy Web vyuţívala především akademická sféra. Mosaic 1.0 První verze prohlíţeče byla vypuštěna 22. Dubna 1993 a byla zdarma. Na konci roku byl prohlíţeč vyvinut i pro operační systémy Apple Macintosh a Microsoft Windows. Později se prohlíţeč přejmenovává na Netscape, který vyvíjí stejná skupina vývojářů pouze pod jiným jménem a to Netscape Communications. Velký rozvoj internetu nastal od roku 1993, kdy jiţ existovalo okolo 50 serverů, které podporovaly sluţbu WWW. V roce 1995 byl počet uţivatelů ji ţ dvojnásobný neţ v roce 1993 a odhaduje se, ţe je připojeno zhruba 20 milionů počítačů. V roce 2000 se počítá jiţ s 300 miliony připojenými počítači. Mnoho menších firem se snaţilo po spuštění Webu vytvářet různé verze jazyka (HTML) pro psaní webových stánek, to ovšem zapříčinilo znatelnou nekompatibilitu těchto různých verzí jazyka. Byla zde tedy potřeba standardizace HTML a bylo nutné vytvořit organizaci, která by sjednotila pohled na vývoj webových standardů a rozvíjela Web do jeho plného potenciálu. Z tohoto důvodu byl pro samotný Web důleţitý rok 1994, Kdy v říjnu tohoto roku vzniká na technickém institutu v Massachusetts instituce s názvem WWW Consorcium (W3C), která se stará o veškerý rozvoj a standardizaci. Jejím zakladatelem samozřejmě Tim- Berners Lee. Později tato instituce zakládá regionální pobočky po celém světě a v dnešní době jsou tyto pobočky jiţ v 18 zemích světa. 1.4 Statický Web alias Web 1.0 Statické webové stránky byly prvními stránkami, které na internetu bylo moţno spatřit. Statické v tom smyslu, ţe jakákoliv interaktivita mezi uţivatelem a stránkou (webovým serverem) byla především v podobě čtení informací nebo kliknutí na hypertextový odkaz. Jazykem pro tvorbu webových stránek byl především značkovací HTML kód, jehoţ moţnosti grafické úpravy byly v prvních verzích velice omezené. Webové stránky slouţily 2 WysWyg (z angl. What Yout See is What You Get) česky - co vidíš, to dostaneš, popisuje způsob editace dokumentů, kdy je vzhled editovaného textu totoţný se vzhledem výsledného dokumentu. 3 NCSA National Center for Supercomputing Applications národní centrum pro aplikace vyuţívané superpočítači zaloţené v roce 1986 poskytující výkoné superpočítače pro tisíce expertů a vědců k jejich výzkumu. 10

11 převáţně k prezentaci informací týkajících se např. popisu adresy firmy, firemních kontaktů, firemních nabídek, osobních informací atp. Uţivatel navštívil stránky, kde nebyla moţnost ţádným způsobem psát své vlastní příspěvky či komentáře, jako je tomu dnes. Byla to doba, kdy uţivatelé byli především čtenáři informací na webu prezentovaných Samotný termín Web 1.0 je ale úzce spjatý s termínem Web 2.0 a to z důvodu, které popíši v následující kapitole. Termín vznikl aţ v době po odeznění Internetového krachu 4. Obecně popisuje Web 1.0 spíše to, jakým způsobem uţivatelé pouţívají Web samotný, neţ jeho technologickou úroveň a moţnosti. Proto jsou základními rysy této verze následující vlastnosti: - Stránky mají statický charakter o Obsahují informace, které mohou být uţitečné, ale nenutí uţivatele vrátit se z ţádného důvodu zpět. - Žádná interaktivita webových stránek, postrádání globální účasti uživatelů jako spolutvůrců Webu. o Návštěvníci mohou pouze stránku přečíst, ale nemohou ji měnit či jinak přispívat k jejímu obsahu. V dnešní době lze tuto moţnost spatřit například u projektu Wikipedie. - Autoři webových stránek nemají možnost časté rychlé úpravy. - Vývoj pouze Proprietárního software 5 o Uţivatelé si mohou stahovat pouze aplikace se skrytým zdrojovým kódem bez moţnosti vědět, jak aplikace funguje či dokonce takový kód měnit. (V dnešní době naprosto běţná záleţitost v podobě open source software, volně přístupný zdrojový kód komukoliv, který je moţno modifikovat, či uţít její části) 1.5 Web 2.0 Obecně je značně náročné přesně definovat termín Web 2.0 a to z několika důvodů. Za prvé, Web 2.0 není samotným technologickým pokrokem webu, ale spíše pojednává o určité mnoţině technik a principů pouţitých k efektivní tvorbě webového obsahu. Za druhé, 4 5 Internetový krach označení pro období, které bylo charakteristické přeceňováním internetových projektů. Tyto projekty přilákaly spousty investic, ačkoliv byl jejich obchodní model nepromyšlený. Období probíhalo přibliţně v období Proprietární software je takový software, jehoţ licenci upravuje především jeho autor a jedná se tak o komerční software. Zpravidla není moţné v takovém softwaru dělat jakékoliv úpravy či další distribuce. 11

12 některé tyto techniky byly jiţ známy v době vzniku Webu a proto je také nemoţné časově oddělit Web 1.0 s Webem 2.0. Termín není tedy moţné přesně hraničně definovat a od přesné definice se spíše přechází k polím klíčových slov. Poprvé byl tento výraz pouţit na konferenci uskutečněné v roce 2004 v Sanfranciscu, kde Tim O Reilly a členové Medialive International pojmenovali tuto konferenci Web 2.0. Bylo to v době, po internetovém krachu, který skončil v roce 2001, kdy internetové podnikání proţilo otřes obrovských rozměrů a přecenění některých internetových projektů vedlo k zhroucení trhů. Byla zde tedy nutnost nového pochopení a přístupu k internetu a internetového podnikání. Proto vzniklo příznačné pojmenování konference termínem Web 2.0 jako druhého nádechu po těchto nelehkých dobách. Web 2.0 se stále týká současného webu. Obsah Internetu je dnes stále o dokumentech a webových stránkách, ale právě ona interaktivita a dynamičnost tohoto obsahu je to co v druhé generaci webu hraje důleţitou roli. Uţivatelé internetu dnes vyhleedají komunity, do kterých se zapojují a sdílí svůj názor se společně smýšlejícími uţivateli, nacházejí zde ztracené přátelé a vytvářejí přátelství nová, odpovídají na různé dotazy ve fórech, spoluvytvářejí obsahy, nebo se podílejí na společném vývoji softwarových nástrojů tzv. sociální software. Typickým Webem 2.0 je například Wikipedie, celosvětová encyklopedie, jejíţ obsah je tvořen především uţivateli. Jeden ze způsobů jak pomocí klíčových slov popsat Web 2.0 je například tento tag-cloud: Obrázek č. 1.1: Web 2.0 Jeden ze způsobů popisu pomocí klíčových slov. Zdroj: 12

13 Posuneme-li se ale dále, druhá generace webu přinesla i velký pokrok v ekonomické sféře. Tento přístup pouţívání dnešních technologií přináší v business sféře nové příleţitostí, které v minulých dobách nebyly moţné. Web je dnes místem, kde je moţno ovlivnit chování mnoha milionů lidí (zákazníků). Sociální sítě jako Twitter či Facebook a jiné disponují informacemi, které mají velice hodnotný charakter pro reklamu a získávání zákazníků. Společnosti si pak takové informace kupují a na základě nich se rozhodují investovat do reklamy právě na těchto sociálních sítích. Například 10 největších sociálních sítí přilákalo celosvětově 500 milionů uţivatelů 6. Je to tedy především způsob pouţití neţ technologie, který zvedl vlnu nové generace Webu 2.0 a jde hlavně o reklamu. 6 Semantic Web For Dumnies str

14 2 Sémantický web (Web 3.0) Sémantický web, nebo také web významový, je dalším posunem webu do fáze, ve které mají informace mnohem vyšší význam, neţ mají dnes. Pro pochopení, proč je sémantický web nutností, popíši stav, ve kterém se dnes web nachází. 2.1 Současný stav webu Web lze dnes povaţovat jako základ informační revoluce. Objevují se změny, které jsou důsledkem toho, jakým způsobem dnes probíhá internetová komunikace a jak se vyvíjí internetové podnikání. Řídí svět směrem ke znalostní společnosti 7. V dnešní době jiţ neuvaţujeme o počítačích jako o strojích pracujících na obtíţných výpočtech, ale spíše jako o zařízeních ke zpracování informací, nebo také vstupních bodech k informačním dálnicím 8. Většina webového obsahu je uţitečná především pro lidskou potřebu. Typickým uţitím dnešního webu je například vyhledávání informací, komunikace s jinými lidmi, vyplňování formulářů určených k nákupu produktů v internetových obchodech, shlíţení nepřeberného mnoţství videí atd. Veškeré tyto činnosti ale nejsou zcela podporovány nástroji, které dnes a denně na webu potkáváme. Mám na mysli především nástroje vyhledávací. Je bezesporu, ţe díky takovýmto nástrojům jako je například Google, Yahoo, Seznam či Altavista se internet ve velké míře proslavil. Je však také nutno poznamenat, ţe s těmito nástroji je spojeno velké mnoţství problémů, se kterými se dnes celá řada z nás setkává. 2.2 Dnešní omezení webu Mezi tyto problémy patří především relevantnost výsledků při vyhledávání pomocí klíčových slov jiţ ve zmíněných internetových vyhledávačích. Vyhledávání se pro mnohé z nás stává velice náročným úkolem, a to díky vysoké vypovídací schopnosti vyhledávačů s nízkou přesností hledaného výsledku. Dokonce i v případě, kdy jsou na náš dotaz vráceny relevantní odpovědi, dostáváme dalších středně nebo naprosto nerelevantních odpovědí 9. Výsledky dotazů jsou velice závislé na přesnosti sloţení slovních výrazů 7 Znalostní společnost je společnost, kde se zásadním prvkem ţivota staly znalosti a kde je jednotlivec schopen efektivním způsobem vyhledávat informace, které umí zasadit do kontextu, nebo je správně zpracovávat a následně z nich vytvářet znalosti. 8 Informač í Dálnice představují nejrychlejší spojení mezi informačními centry, výsledkem je pak páteřní propojení, s tendencí zvýšování dostupnosti jednotlivých přípojených informačních zdrojů z jakéhokoliv místa na Zemi. 14

15 a je tedy důleţité upřesnění dotazu, neboť významově podobná slova mohou vést k velice podobným výsledkům coţ je opět neţádoucí jev. A nakonec podoba odpovědí na naše dotazy je ve formě internetových stránek, proto je dále nutno tyto stránky procházet a konečnou formu informace je potřeba si z webových stránek sestavit. Přes veškeré zlepšování funkcí vyhledávacích nástrojů zůstávají tyto problémy téměř stejné a s narůstajícím počtem webového obsahu mají zmíněné nedostatky spíše rostoucí tendenci. Výsledem je značná časová náročnost vyhledávání a uţivatel je ten, kdo v konečné fázi musí procházet spoustu internetových stránek a vyhledávat proto pojmenování vyhledávač je lehce nadnesené pojmenování. Další záleţitostí je nedostupnost, výsledky dotazů vyhledávacích nástrojů nejsou totiţ snadno dostupné pro jiné softwarové nástroje. Vyhledávače jsou často isolované aplikace. Hlavním problémem je tedy fakt, ţe počítače v dnešní době nerozumějí textovému obsahu webu, lze sice namítnout, ţe uţ byly vyvinuty nástroje pro textové zpracování, které dokáţou text rozdělit na slova, věty, zjistit pravopis atd. ale ve výsledku jsou jejich schopnosti stále omezené. Je totiţ značné sloţité rozpoznat význam věty: Jsem studentem Masarykovi univerzity Od Můţete si myslet ţe, jsem studentem Masarykovi univerzity. Ale zdání klame. 2.3 Řešení současného stavu Řešení této situace jsou dvě. První myšlenka je zaloţena na vyvinutí sofistikovaných technik a nástrojů zaloţených na umělé inteligenci a počítačové lingvistice, které by dovolili pouţít obsah tak jak je dnes reprezentován na Webu. Na těchto myšlenkách se jiţ nějaký čas pracuje, ale netěší se velké podpoře, z toho důvodu, ţe některé aspekty tohoto řešení jsou brány stále jako příliš ambiciózní. Druhým řešením je Sémantický Web, jehoţ základním myšlenkou je postupný vývoj současného stavu Webu do fáze, ve které budou mít informace mnohem větší význam, neţ mají dnes. Iniciátorem této myšlenky je W3C konsorcium a především Tim-Berners Lee, současný ředitel W3C a zakladatel webu, který s touto myšlenkou přišel v květnu roku Sémantický web je podle jeho názoru splnění jeho původní vize při vzniku Webu jako takového a to ta, ţe informace bude mít rozsáhlejší význam neţ má dnes. 15

16 2.4 Koncept Sémantického Webu Jak jsem jiţ výše uvedl, Sémantický Web a jeho vize počítá s přechodem od současného stavu webu do fáze, ve kterém mají informace dobře definovaný význam, mají schopnost se navzájem propojovat a díky tomu počítače a lidé mnohem lépe spolupracují. Konsorcium W3C často pouţívá pro termín Sémantický Web anglický název Web Of Data (datový web) jako přirovnání ke stavu ve, kterém jsou na WWW situována především dobře definovaná a propojená data na místo dnešního stavu, kdy na internetu nalezneme spíše neţ data spoustu textových dokumentů (Web Of Documents). Primárním cílem datového webu je účelnější vyuţití počítačů a vytvoření systému pro podporu vzájemné důvěrné interakce v prostředí internetu 10. Softwarové aplikace uţívají svá data isolovaně, proto je vzájemná spolupráce aplikací a výměna jejich dat právě jeden ze základních konceptů Sémantického webu. Klasickým případem budoucí vize sémantického webu můţe být tento příklad: Ze zdravotního důvodu máme potřebu se objednat u lékaře sídlícího na druhé straně rušného města. Protoţe jsme velice časově vytíţení, je nutné sladit náš náročný časový plán s časovými moţnostmi lékaře, o tento úkon se postará interakce mezi lékařovým agentem 11 a naším webovým diářem. Vše proběhne v pořádku a v našem diáři se objeví plánovaná návštěva. Navíc bychom poţadovali vyhodnocení onoho dne z hlediska dopravních situací. Opět zadáme příkaz k synchronizaci naší plánované schůzky s dopravním agentem, protoţe je schůzka plánována v dopravní špičce webový agent nám doporučí namísto autodopravy cestu metrem. Jedna z kontroverznějších vizí uvádí, ţe ze současného webu postupně vznikne jedna globální celosvětová databáze. Lidé uvaţující skepticky sice vidí tuto myšlenku spíše jako science fiction, ale skutečnost je taková, ţe jiţ dnes existuje více jak 30 organizací na světě, které publikují svá data ve formátech splňujících myšlenku sémantického webu a navíc jsou schopné zodpovídání dotazů přes WWW12. Organizace, které investují do této nové generace webu, nejsou jen tak ledajaké společnosti, Jednou z takových je velice známa společnost Thomson Reuters zabývající se poskytováním finančních a mediálních sluţeb, Softwarový agent programová komponenta obstarávající automatizovaná zpracování informací v sémantickém webu. Schopný reagovat na poţadavky týkající se vyhledávání informací a realizaci transakcí. Semantic Web For dumnies str

17 která volně zprostředkovává sluţbu zaloţenou na cloud computingu a SaaS13. Ta umoţňuje na základě sémantického modelu automaticky analyzovat námi zaslaný nestrukturovaný text a vrátit výsledek shodný s formátem sémantického webu v podobě seznamu lidí, věcí, událostí, míst atp.. Všechny tyto data jsou pak automaticky také propojena s dalšími daty formátovanými v sémantickém modelu v prostředí celého internetu. Je tedy zřejmé, ţe na poli vývoje sémantického webu se jiţ něco děje a ona vize začíná být pozvolna realitou. Následující seznam 14 vlastností sémantického webu by dále mohl poskytnout výčet dalších jeho charakteristik: Propojení multimediálních dat s daty textovými. A to nejlépe nezávisle na přístrojích, ze kterých je přistupováno (mobilní telefon, notebook, fotoaparát, GPS). Personalizace obsah je filtrován podle individuálních zájmů konkrétního uţivatele. Geografické vyhledávání zaloţené na významu vět (identifikaci a rozpoznání podmětu a předmětu ve větě a jejich vzájemný vztah se zaměřením na moţné určení místa a času). Znalost polohy například dle aktuální polohy GPS se následně filtruje obsah. Zjednodušené grafické znázornění webových generací web 1.0, web 2.0 a Sémantického webu. Popisuje obrázek níţe Software as a Service

18 Obrázek č. 2.1: Zjednodušený grafický pohled na webový vývoj. Zdroj: Základní prvky Sémantického Webu Sémantika Sémantika je jedním ze základních stavebních pilířů Sémantického Webu, jako nauka o významu slov, frází a znaků či symbolů je vyuţívána v oborech logiky, lingvistiky a také v informatice (programování). Mluvíme-li tedy o Sémantickém webu, máme tedy na mysli Významový Web, často je v některých literaturách termín sémantický nahrazen termínem významový. A právě onen význam je v rámci Sémantického webu velice důleţitý faktor. Sémantiku dělíme na tři základní části: Implicitní sémantika Implicitní sémantika je v podstatě nejjednodušším případem sémantiky, význam termínů je zaloţen na společném konsensu lidí. Příkladem uţití implicitní sémantiky je kupříkladu 18

19 jazyk XML a především jeho značek, jako jsou např. datum, adresa či cena. Pro definici těchto značek slouţí soubor DTD 15, ovšem v tomto souboru není nikde zmínka o významu námi definovaných značek a proto záleţí na společenském porozumění (implicitní sémantice), díky čemuţ je pak moţno tyto značky uţívat a implicitní sémantiku tímto způsobem do svých stránek zahrnout. Značnou nevýhodou však je, ţe ne všechny termíny jsou interpretovány stejným způsobem a to především z důvodu mnohoznačností a následného rozdílného pochopení významu termínu. Například máme li značku datum mohou mít různé implementace odlišné významy, datum můţe pochopit někdo jako 3. ledna 2011, ale také jako 1. ledna 2011). Explicitní sémantika Opakem implicitní sémantiky je explicitní sémantika, která se dále dělí na dva druhy, formální a neformální sémantiku. Neformální explicitní sémantika Explicitní sémantika vyjádřená neformálním způsobem se vyuţívá například při tvorbě slovníků, kde je ke kaţdému termínu vyjádřen význam, ovšem tento význam zůstává neformálním vyjádřením z důvodu sloţitosti přirozeného jazyka a není zde tedy moţnost pro strojové zpracování tohoto významu. Explicitní sémantika neformálního charakteru je tudíţ uţitečná především pro člověka, a její příklad na WWW můţeme najít například v těchto bodech: HTML značky jako například <H1> v sobě zahrnují význam pro vyjádření nadpisu první úrovně. Význam různých diagramů v modelovacím jazyce UML. Význam prvků standardu pro metadatový popis Dublin Core. Formální sémantika Tento druh sémantiky obsahuje navíc ještě formalizovaný popis sémantiky a obvykle se dále dělí na dvě části, kterými jsou : 15 Document Type Definition je jazykem pro popis struktury XML souboru, struktura typu nebo popisu dokumentu je v DTD definována pomocí popisu jednotlivých značek a atributů. Popisuje jak je moţno značky uspořádat či jednotlivě vnořovat. 19

20 Formální sémantika zpracovávaná člověkem Formalizovaný popis u této sémantiky můţe mít například podobu dokumentace zpracované formálním jazykem. Uţití je ale vhodné pouze pro člověka. Formální sémantika zpracovaná strojem Strojově zpracovávaná formální sémantika je prozatím jen vizí. Automatické zpracování textu a jeho významu je právě jednou z největších otázek při řešení budoucího datového webu. Vize je formulována tak, ţe narazí-li stroj (softwarový agent) na neznáme slovo, dokáţe si jeho význam odvodit z jiných znalostí Metadata Jestliţe mluvíme o počítačově zpracovatelném obsahu, jsou metadata dalším důleţitým pojmem pro sémantický web. Samotné slovo metadata je sloţeno z řeckého slova meta mezi a latinského data to, co je dáno. Nejobecnější definice Metadat říká, ţe metadata jsou data o datech. Tato definice je značně zjednodušená, ale jak sama vypovídá metadata jsou data a jsou tedy stejně jako běţná data ukládána v databázích obvykle nazývaných jako repositury nebo registr. Jednou ze základních vlastností metadat je také obohacení dat samotných ve smyslu udrţování významu dat. Existují různé druhy metadat a je důleţité vědět v jakém kontextu je o metadatech pojednáváno. Například metadata textového souboru, jsou odlišná od metadata uloţených v content repositury 16 a ta mohou být jiná neţ metadata textového editoru. Metadata bychom mohli, na základě jejich úrovně abstrakce, se kterou popisují data, rozdělit do těchto druhů: Syntaktická metadata Jsou zdrojem informací, které slouţí ke kategorizaci dat. Programátorovi syntaktická data usnadňují práci tím, ţe abstrahují sloţitější programový kód. Strukturální metadata O úroveň výše se nacházejí strukturální metadata. Na rozdíl od syntaktických metadat, která nám popisují význam různých typů proměnných tak aby byla data srozumitelná pro překladači nám strukturální metadata definují strukturu dokumentu jako takového. 16 Content Repository technologická podpora k aplikacím pro správu obsahu. Jakými jsou například CMS (Content Management Systém) nebo DMS (Document Management Systém) 20

21 Například v jazyce XML pouţíváme ostré závorky k definici tagů 17, samotný XML dokument pak můţe být spojený se schématem (DTD), kde je uvedena struktura XML okumentu a nacházejí se zde tedy pravidla pro pouţití těchto tagů. Díky definování struktury dokumentu říkáme jak uţívat a popisovat data uvnitř dokumentu. Referenční metadata Referenční metadata mohou být například stavy, různé vztahy nebo atributy, kterými popisujeme vztahy věcí (reálných či imaginárních). Lze si je jednoduše představit jako vztahy mezi objekty a instancemi. Jako příklad lze uvést objekt či třídu nazvanou Objednavka Sémantická metadata Slouţí především ke spolupráci mezi programy na vyšší úrovni. Jejich úkolem je popis kontextových informací vztahujících se k určité doméně. 17 Tagy významové značky, pomocí kterých definujeme (například v jazyce XML nebo HTML) význam jednotlivých částí textu 21

22 3 Ontologie Původ pojmu ontologie je znám jiţ dlouhou dobu a nachází se ve filosofii, zde je ontologie naukou o přirozeném bytí, realitě, nebo existenci. Je povaţována za universální soustavu znalostí popisující objekty či jevy nezávisle na lidském usuzování [10]. Je také uváděna za součást metafyziky, základního filosofického směru. Abychom pochopili pojem ontologie v informatice, vysvětlím její vyuţití nejdříve ve znalostních systémech, kde hrají ontologie také důleţitou roli. Znalost a informace Obecně můţeme chápat znalost jako mnoţství informace zasazené do určitého kontextu. Samotná informace je pak soustavou dat, u které chápeme její význam a která nám slouţí k rozhodování. Zde se dostáváme do důleţitého bodu. Z výše uvedeného totiţ vyplívá, ţe znalost je obecně sloţité hierarchicky strukturovat, z důvodu různých významů a hodnot, závislých na různých kontextech a je nutné je aplikovat jiným způsobem v závislosti na čase, potřebách osob, organizací, nebo týmů. Na znalosti lze dále také nahlíţet jako na pojmy o různých faktech. Např.: Definice (čehosi) Znění různých zákonů Notový zápis hudební skladby Jízdní řád dopravních prostředků Dokumentace programového kódu Znalostní systém je chápán jako systém pro podporu sdílení a vytváření informací, které jsou důleţité například pro rozhodování a chod organizace a to jak v aktuálním dění tak i v budoucím potencionálním rozhodování. Na základě toho pak můţe organizace zvýšit svou výkonnost díky vyuţití intelektuálního kapitálu firmy uloţeného právě v takových systémech. Mezi jeho základní vlastnosti řadíme především tyto: Neomezenost schopnost systému přijmout jakékoliv informace (znalosti) 22

23 Efektivní uspořádání důleţité pro snadné vyhledání znalosti. Souvislost moţnost přistoupit k jakékoliv znalosti v rámci jedné aplikace. Ontologie jako rozšíření znalostních systémů Dalším rozšířením znalostních systémů mohou být právě ontologie, jejichţ základem je tvorba konceptuálních schémat definujících význam pojmů, kde je určeno v jakém kontextu se takové pojmy nacházejí. Jedná se tedy o systém pro ukládání informací disponující výše uvedenými vlastnostmi, jehoţ dalšími charakteristikami jsou: Obecnost moţnost aplikace ontologie na základě specifických poţadavků. Zahrnutí definice pojmů je to potřeba při velkém počtu pojmů. Někdy můţe být výklad pojmů na encyklopedické úrovni, popřípadě na úrovni výukové či profesní. Zahrnutí jazykových znalostí (syntaktické struktury, morfologie) velice důleţitá část a rozšíření k vyuţití moţnosti automatického (strojového) zpracování. Podle [10] je v informatice ontologie známa teprve od 90. Roku, zde je spojena s filosofií spíše jen volně (coţ vyvolalo ve filosofických oborech určitý rozruch) a je chápána jako formalizovaná reprezentace znalostí v podobě konceptů, mezi nimiţ existují určité vztahy a spoluvytváří tak danou doménu. Jednou z uznávaných definic ontologie říká: ontologie je explicitní specifikace konceptualizace (T. Gruber 1993), která nám říká, ţe konceptualizace, tedy definovaný systém objektů modelujících určitou část světa, má být popsána explicitně tedy přímo a nemá sídlit pouze v hlavách autorů. Tato definice byla později upravena do této podoby: Ontologie je formální, explicitní specifikace sdílené konceptualizace (W. Borst 1997). Zde je jiţ nutno tuto explicitní specifikaci popsat formálním způsobem, tedy pomocí daného jazyka disponujícího svou definovanou syntaxí pro vyuţití strojového zpracování. A slovo sdílená nám říká, ţe ontologie není pouze individuelní záleţitostí, ale je spíše shodou určité zájmové skupiny lidí, především pro podporu vzájemné komunikace mezi dvěma subjekty. V informatice se ontologie pouţívá nejen v případě sémantického webu, ale také v systémovém inţenýrství, softwarovém inţenýrství nebo umělé inteligenci. 23

24 3.1 Ontologie a jejich účel Účel ontologií bychom mohli rozdělit do následujících bodů: Podporují vzájemnou komunikaci a porozumění mezi lidmi například mezi experty a znalostními inţenýry. Vzájemná spolupráce, komunikace a její podpora mezi počítačovými systémy. Zjednodušení návrhu znalostně orientovaných aplikací. 3.2 Dělení ontologií Členění dle oborových oblastí Ontologie nejsou ve zpracování informací něčím zcela novým, převratným nebo odlišným. V historii byl princip ontologií jiţ vyuţit v různých disciplínách a díky tomu bychom mohli rozdělit ontologie na Terminologické, Informační a Znalostní. Terminologické ontologie Často pouţívané v podobě sloţitějších slovníků nebo také tezaurů ve velkých knihovnách či jiných textových zdrojích. Základním charakterem jsou termíny a pouţívané relace mezi nimi, které mají taxonomický charakter (přechod od obecnějšího ke specifičtějšímu), dále je vymezení vztahu pomocí synonym či vztahů označující celek a jeho část (meronymie). Jako příklady terminologických ontologií leze uvést lexikální databázi WordNet 18. Informační ontologie K rozvinutí databázových konceptuálních schémat nám slouţí Informační ontologie. Uţívají se také jako vyšší úroveň nad primárními zdroji (databázemi), čímţ je zajištěna abstrakce konceptuálních schémat důleţitá pro pojmové vyhledávání a také lepší kontrola integrity dat, neţ u běţných nástrojů. Znalostní ontologie Znalostní ontologie se vyuţívají v oboru umělé inteligence. A je jim zde přisuzován charakter logických teorií. Vazba na objekty reálného světa je v případě Znalostních 18 WordNet Lexikální databáze 24

25 ontologií spíše volná. Třídy těchto ontologií jsou formálně definovány (prostřednictvím formálního jazyka) Členění dle předmětu formalizace Nejčastějším způsobem členění je právě členění podle předmětu formalizace. Zpravidla existuje opět více variant dle jejich autorů. A mezi základní typy patří: Doménové ontologie Doménové ontologie modelují specifickou část světa (doménu), základem je uţší popis významu termínů v dané doméně. Například máme-li slovo jazyk, pak existuje mnoho významů, a právě doménové ontologie specifikují význam v dané oblasti jako doména anatomie část lidského těla, zatím co v doméně informatiky jako prostředek pro zápis algoritmů. Doménové ontologie jako takové jsou nejčastěji pouţívanými ontologiemi. Generické ontologie K zachycování obecných zákonitostí nám slouţí generické ontologie, které nejsou zaměřeny na konkrétní doménu (věcnou oblast) a týkají se například problematiky vzájemné polohy objektů, času, skladby objektů z částí atp., někdy se téţ nazývají ontologiemi vyššího řádu. Generických ontologií typu přirozeného rozumu (common-sense) nám pomáhají v projektech zaměřených na umělou inteligenci popsat obecné rozumové znalosti tak, aby aplikace zaloţené na umělé inteligenci byly schopné lidského uvaţování a rozhodování, příkladem projektu zaloţeného na této ontologii je Cyc 19. Úlohové ontologie Specifičtějšími ontologiemi jsou ontologie úlohové. Na rozdíl od předešlých nejsou přímo zaměřeny na znalosti o světě, ale snaţí se spíše o popis procesu odvozování ve formě modelů řešení problémů. K příkladům těchto ontologií patří plánování, zhodnocení, diagnostika nebo konfigurace. Aplikační ontologie Aplikační ontologie bychom mohli povaţovat za směs převzatých modelů přizpůsobených pro konkrétní aplikaci. Obsahuje části úlohové a doménové ontologie. Jedná se o nejvíce specifický druh ontologie. 19 Cyc projekt zaloţený na generické ontologii, vznikl v roce 1984 s cílem kodifikovat miliony znalostí, které, tvoří lidský rozum. 25

26 3.3 Struktura ontologií Je mnoho druhů ontologií, avšak existuje základní struktura, která je ve všech nástrojích, jazycích a projektech obdobná. Je zde však problém s jednoznačností terminologie. Největší rozdíl je mezi silnými ontologickými jazyky, jakým je například Ontologua a novými jazyky, které mají odlehčený charakter (především pro webové prostředí). Dále se budu snaţit uvést základní prvky tvořící strukturu ontologií Třídy Třídy abstrahují skupinu objektů a jsou základním stavebním kamenem ontologií. Jsou charakterizovány určitou odlišností od tříd, které se obecně uţívají například v programování (objektově orientovaných jazycích). Nejsou v nich například zahrnuty procedurální metody, ale spíše mají vlastnosti relací, třída v ontologii tedy spíše odpovídá unární relaci na dané doméně objektů Individua (instance) V ontologii odpovídají individua objektům reálného světa, které nejsou jiţ dále dělené. Samotné ontologie zpravidla neslouţí primárně k popisu faktů o konkrétních objektech, ale spíše k definici konceptů (tříd), proto některé ontologie ani individua nepodporují. Kdyţ je však nutné určit individuum spadající do nějaké třídy, pouţijí se tzv. atomické třídy. Rozhodnutí, kdy má být prvek třídou nebo individuem, závisí na úhlu pohledu a charakteru ontologie Relace, funkce, sloty Obdobně jako u databázového modelování je i u ontologií nutnost vymezení vztahů, které jsou jejich důleţitou součástí. Relace označují vztahy mezi třídami nebo objekty. V silnějších ontologických jazycích mohou být relace stejně jako třídy, které jsou jejich speciálním případem, definovány pomocí logických podmínek. Odlehčené jazyky umoţňují relacím přiřadit pouze omezení a to buď globálně, nebo lokálně. Termín slot nebo také vlastnost se v odlehčených ontologických jazycích uţívá především u binárních vztahů (relací), tedy vztahů mezi dvěma objekty. Tyto relace nejsou nějak závislé na určitých třídách. 26

27 4 RDF Jazyk RDF neboli Resource Description Framework (rámec pro popis zdrojů), poskytuje techniku pro popis metadat, jejich znovupouţití a reprezentaci informací na webu 20. Mezi jeho základní vlastnosti patří poskytování interoperability, tedy schopnosti spolupráce mezi různými aplikacemi pracujícími v prostředí internetu a jejich vzájemná výměna dat (strojově zpracovatelných). Další důleţitou a uţitečnou vlastností je mechanismus pro popis webových zdrojů (jak vyplívá z názvu) a systémů, které tyto zdroje vyuţívají. Za webový zdroj se zde povaţuje jakýkoliv informační obsah dostupný na internetu ale i mimo něj např. knihy, lidé, společnosti, zákazníci, produkty atd. Jako zdroj můţeme tedy definovat například celou sadu webových stránek, samotnou webovou stránku v podobě:. nebo také jen část stránky (například určitý HTML nebo XML element, uvnitř zdrojového kódu). Ve webovém prostředí jsou zdroje různých formátů a je zde potřeba takové zdroje jednotným způsobem zpracovávat. Rámec RDF je platformě nezávislí na aplikacích, coţ nám zajišťuje právě onu interoperabilitu mezi heterogenními aplikacemi, která metadata sdílí. Jednou z dalších motivací k vytvoření rámce RDF bylo také automatické zpracování informací softwarovými agenty, kterým jednotný způsob zpracování metadat pomáhá při procesech spolupráce a výměně dat postupný posun z oblasti webu zahlceného informacemi srozumitelnými pouze lidem do oblasti spolupracujících procesů zpracovávajících strojově čitelné informace v rozsahu celého internetu. Vize sémantického webu je silným způsobem spjata právě s RDF a v současnosti je jazyk RDF schválen jako doporučení k tvorbě sémantického webu konsorciem W3C. Seznam základních vlastností RDF Pro přehlednost shrnu základní vlastnosti jazyka RDF. RDF je expresivním nástrojem, jehoţ expresivita je vyjádřena na vysoké úrovni, která nám zajišťuje, ţe lze bez ohledu na aplikační doménu, ve které je RDF aplikován, vyjádřit i vlastnosti sloţitých datových struktur. RDF je vyvíjen jako otevřený nástroj a není proprietárním řešením úzké zájmové skupiny lidí či jedné firmy RDF Primer - W3C Recommendation 27

28 Vývoj je udrţován konsorciem W3C, které vydává doporučení podobně jako například u jazyků HTML nebo XML. Podpora interoperability aplikace vyuţívající metadata mohou k metadatům pomocí jednoduchých prostředků snadno přistupovat. 4.1 RDF trojice Samotný rámec RDF je zaloţen na myšlence tzv. trojice, která nám definuje tzv. tvrzení (anglicky statement) o objektu (zdroji) na internetu. Tato tvrzení se vţdy skládají z následujících tří částí: 1. Zdroj, který chceme popsat (predikát). 2. Vlastnost popisovaného zdroje (subjekt). 3. Hodnota vlastnosti zdroje (objekt). Zdroj (predikát) O zdrojích můţeme uvaţovat jako o objektech, nebo o věcech které máme v úmyslu nějakým způsobem popsat. Jak jiţ bylo výše uvedeno mezi tyto věci můţeme řadit např. element stránky, celá stránka, soustava stránek, e-kniha, audio-video soubor, místo, člověk, autor atp. Kaţdý zdroj obsahuje popis v podobě URI (Uniform Resource Identifier) identifikátoru. Tento typ identifikace umoţňuje odkazování jak na zdroj v prostředí WWW prostřednictvím URL tak i mimo WWW například odkaz na kniţní identifikaci ISBN, telefonní číslo nebo třeba geografická lokace. (Blíţe o identifikaci zdrojů v následující kapiole). Vlastnost (subjekt) Vlastnosti jsou důleţitým prvkem a představují zvláštní druh zdroje. Primárně slouţí k popisu vztahu mezi zdroji, vztahy mohou být pouze binárního charakteru. Jsou uvedeny například v podobě authored (je autorem) title (titulek) age (věk), atp. Jejich hodnotami mohou stejně jako v předešlém případě URI identifikátory (v praxi nejčastěji hodnoty URL). Vlastnosti mají svůj specifický význam a definují své povolené hodnoty a typy zdrojů, které popisují nebo své vztahy s jinými zdroji. 28

29 Hodnota vlastnosti (objekt) Hodnota vlastnosti můţe být literál, tedy hodnota vyjádřena v podobě psaného řetězce znaků, nebo číselných hodnot (datum, čas) nebo také jako jiný zdroj. Obrázek č. 4.1: Grafické znázornění RDF trojice. Zdroj:vlastní úprava Nyní uvedu příklad jednoduchého tvrzení (trojice): Tomáš Novák je vlastníkem stránek Rozdělíme-li tuto větu na subjekt-predikat-objekt, vyjde nám následující uskupení (tvrzení): Subjekt (zdroj): Predikát (vlastnost): je vlastníkem Objekt (hodnota vlastnosti): Tomáš Novák Toto tvrzení však ještě nemá čistou podobu RDF. K samotné RDF definici ještě potřebujeme identifikátor URI. 4.2 RDF a identifikace zdrojů Pro jednoznačné identifikování subjektu, predikátu a objektu se uţívá v jazyce RDF universální zdrojový identifikátor URI (anglicky Universal Resource Identifier). Jedná se o mechanismus identifikace zdroje, který je podobný klasické URL adrese, proto pro ujasnění vymezím několik základních pojmů: 29

30 URL Anglicky Uniform Resource Locator neboli jednotný lokátor zdrojů. Jedná se o řetězec znaků, který má stanovenu syntaxi 21 a s nímţ je specifikováno umístění daného zdroje, jako zdroj je míněn jakýkoliv dostupný dokument, fotografie, audio/video soubor atd., který je dostupný v prostředí internetu. Samotný zápis URL poté obsahuje doménovou adresu serveru, umístění na serveru a také protokol, kterým ke zdroji přistupujeme. Příklad č.4.1: URL URL: 1. URL: 2. protokol: http 3. server: 4. zdroj: /clanky/cl_2.html URN Anglicky Uniform Resource Name v překladu jedinečný název zdroje, slouţí k identifikaci zdroje pomocí jeho názvu (jména) přičemţ se předpokládá, ţe název daného zdroje zůstává trvalý a neměnný a je nezávislí na jeho umístění v prostředí internetu 22. Při srovnání k poštovní analogii můţeme vidět Jméno adresáta jako URN a samotnou adresu jako identifikátor lokace URL. Syntaxe URN je uvedena v následujícím příkladě : Příklad č.4.2: Popis URN 1. "urn:" <NID> ":" <NSS> Část <NID> Namespace Identifier - představuje identifikátor jmenného prostoru 23 a určuje syntaktickou reprezentaci <NSS>, která je Namespace Specific String tedy v překladu specifický řetězec k detailnějšímu pojmenování jmeného prostoru. URI URI Uniform Resource Identifier jednotný zdrojový identifikátor. V hierarchii identifikátorů zdrojů leţí URI nejvýše a URL s URN jsou jeho podmnoţinou. Grafický znázorněný vztah identifikátorů je uveden na následujícím Eulerovo diagramu. 21 Doporučení W3C - RFC1738 ( ) 22 Doporučení k URN ze webových stránek ietf.org ( ) 23 Namespace jmený prostor povaţujeme za jakousi mnoţinu jmen, které jsou si významově podobné. 30

31 Obrázek č. 4.2: Eulerův diagram vztahu mezi URI,URL a URN. Zdroj: Jedním z rysů URI identifikátorů je, ţe se neomezuje jen na identifikaci zdroje pomocí jeho jména nebo adresy umístění, ale lze se s jeho prostřednictvím odkazovat také na zdroje, které nejsou dosaţitelné na internetu. V RDF však identifikátory URI vyuţíváme především pro identifikaci jmenných prostor (namespaces), pro vyjádření kontextu domény, kterou zrovna vyuţíváme. 4.3 Jmené prostory (Namespaces) RDF Jmenný prostor bychom mohli jednoduše vyjádřit jako prostor, který zahrnuje příbuzné prvky. Je jakousi standardizovanou sadou konvencí, která sjednocuje znalosti v podobě významů jednotlivých částí informací. Takový přístup je pro sémantický web určitě důleţitým prvkem. Koncept jmenných prostorů v RDF je převzatý z jazyka XML, kde jsou deklarovány jedinečné názvy elementů a jejich atributů v XML dokumentu. Kaţdý jmenný prostor je identifikován svým URI identifikátorem, deklarace začíná pouţitím atributu xmlns, poté je u kaţdé značky spadající do daného jmenného prostoru uvedeny tzv. prefix z důvodu, abychom nemuseli uvádět u kaţdé značky celou URI adresu. Deklarace jmenného prostoru má následující podobu: xmlns:označení_jmenného_prostoru_prefixem="uri identifikátor jmenného prostoru" Pokud například hodláme identifikovat určitou informaci v prostředí naší webové aplikace týkající se data vytvoření konkrétního článku, pak bychom mohli vyuţít element date jmenného prostoru který v sobě zahrnuje syntaktická 31

32 pravidla pro definici poloţek pro čas a datum. Jednoduchý příklad tohoto pouţití vypadá takto: Příklad 4.1: Deklarace jmenného prostoru 1. <?xml version= 1.0?> 2. <rdf:rdf 3. xmlns:rdf=" 4. xmlns:dc=" 5. <rdf:description rdf:about=" 6. <dc:creator>tomas Novak</dc:creator> 7. <dc:date> </dc:date> 8. </rdf:description> 9. </rdf:rdf> U příkladu č. 4.3 je pro důleţitý řádek 4, v kterém vidíme názorný příklad deklarace jmenného prostoru Dublin Core xmlns:dc=" jeţ zahrnuje 15 unifikovaných elementů, z nichţ jeden pouţijeme na řádce 7 k identifikaci data <dc:date> </dc:date>. Mezi dnes vyuţívané jmenné prostory v RDF patří např.: JMÉNO PREFIX URI POPIS Dublin Core dc Jmenný prostor k popisu základních metedata elementů pro popis zdrojů. RDF rdf rdf-syntax-ns# Základní Prostor jmen, představující model k popisu vlastností a hodnot těchto vlastností. FOAF foaf DOAP doap Jmenný prostor k popisu jednotlivce, jeho zájmům a vztahů k jiným osobám, nebo objektům (Friend Of A Friend) Slovník k popisu sémantických informací týkajících se open-source projektů 4.4 Syntaxe jazyka RDF Syntaxe jazyka RDF můţe být vyjádřena několika způsoby. Samotný jazyk RDF nedisponuje svou konkrétní syntaxí, jako je tomu u jiných jazyků, ale spíše jsou definována 32

33 základními tvrzeními o zdrojích. Předpokládá se, ţe existuje zdroj (predikát), kterému lze definovat vlastnost (subjekt) obsahující nějakou hodnotu (objekt) RDF graf Jedním ze způsobů jak znázornit RDF je vyjádření RDF tvrzení v podobě grafu. Grafické modelování zahrnuje následující seznam prvků: Elipsy Orientované hrany Obdélníky Elipsy slouţí k popisu jak subjektu (zdroje) tvrzení tak k popisu objektu (vlastnosti) a nazývají se tzv. uzly, u obou případů se poté zapíše uvnitř elipsy URI identifikátor. V případě, ţe je objektem literál, uvede se objekt graficky v podobě Obdélníku. Orientované hrany směřují vţdy od subjektu k objektu. Definují jejich vztah (vlastnost) a jsou také popsáni svými URI. RDF tvrzení zaloţené na subjektu, predikátu a objektu mají tedy svá grafická vyjádření a kolekce těchto vyjádření se nazývá RDF grafem. Grafická notace je zaloţena na teorii mnoţin[10], za mnoţinu můţeme tedy povaţovat konečnou mnoţinu RDF trojic ale také jen graf s jednou trojicí. Nejjednodušším příkladem RDF grafu je tedy graficky popsané tvrzení trojice. Příklad prostého RDF grafu je na obrázku: Obrázek č. 4.3: Jednoduchý RDF Graf 33

34 Zdroj: vlastní úprava Jak je patrné z obrázku č. 4.3 grafické modelování zahrnuje směrově orientovaný graf. Objekt je v našem případě literál - řetězec znaků (#TomasNovak), proto je uveden v podobě obdélníku. Kdybychom uvedli objekt, jako jiný zdroj měl by podobu elipsy. Označená orientovaná hrana představuje vlastnost daného tvrzení v podobě URI identifikátoru ( a subjektem je zdroj se svým URI ( Literály K zápisu hodnot vlastností uvnitř RDF je moţné pouţití dva druhy literálů, které nám slouţí k identifikaci řetězce znaků, hodnot nebo čísel. Těmito typy jsou: Prosté Lyterály Jsou klasickým řetězcem znaků, obsahující svou lexikální formu v podobě UNICODE. který můţe být definován svou moţností nastavení jazyka pomocí tagu jazyka 24. Typové Lyterály Pakli-ţe potřebujeme hodnotu (literál) vyjádřit v podobě datového typu, určitě bychom vyuţili typové literály. V zásadě se jedná o konstrukci z řetězců a datových typů[10]. Taková konstrukce má podobu lexikální formulace je tedy například sloţena z literálu týkajícího se velikosti 72 (jednoduchý řetězec znakové sady Unicode) a součástí je pak dále také definice datového typu pomocí své URI (RDF/XML je obdařena svou sadou definovaných datových typů). V našem případě datový typ integer. Toto vyjádření hodnoty je určitě vhodné vyuţít, neboť hodnoty vyjádřené pouze prostými literály nemají strojově zpracovatelnou konstrukci. Zamýšlíme-li pak uţití těchto hodnot k operacím srovnání hodnot, nebo výpočtu průměrných hodnot, je nejvhodnějším způsobem vyuţít právě typových literálů. Následuje příklad uţití typového literálu: Příklad 4.2: Využití typového literálu 1. <?xml version="1.0"?> 2. <rdf:rdf xmlns:rdf=" 3. xmlns:poj=" 4. <rdf:description rdf:about=" 24 W3C doporučení k RDF RDF: Concepts and Abstact Syntax ( ) 34

35 5. <poj:size rdf:datatype=" ze> 6. </rdf:description> 7. </rdf:rdf> Důleţité je obsaţeno na řádce 5, kde je definován datový typ, jehoţ zdrojem je URI hodnota následuje definice, jakého typu jsme vyuţili #int (integer) a hodnota RDF/XML syntaxe Je několik způsobů jak vyjádřit předpoklad existence zdroje s jejich vlastnostmi a hodnotami vlastností. RDF lze proto definovat například v tabulkách relační databáze, kde je zřejmé, ţe v těchto prostředcích můţe mít implementace RDF vyšší výkon, je však třeba zdůraznit, ţe by takové řešení vedlo ke ztrátě otevřenosti, která je u sémantického webu ţádaným prvkem[12]. Otevřenost bychom ale určitě našli u jazyka XML, ten jako obecný a rozšířený značkovací jazyk, který je vyvinut především pro výměnu dat mezi různými aplikacemi je pro implementaci RDF ideálním prostředkem. Toto řešení je jako takové doporučováno samotným konsorciem W3C, které ho nazývá RDF / XML 25. Webovému zdroji je v RDF/XML syntaxi přiřazen jednoznačný identifikátor UR I a takovému zdroji jsou pak připojeny vlastnosti, nebo vztahy s jinými zdroji. Pro konkrétnost uvádím příklad, ve kterém převedu obraz RDF grafu do RDF/XML syntaxe: Mějme webové stránky identifikované svým URI majitelem těchto stránek je Tomáš Novák jehoţ zaměstnavatelem jsou České Aerolinie. RDF graf tohoto jednoduchého větného vyjádření znázorňuje obrázek W3C doporučení k RDF RDF Primer ( ) 35

36 Obrázek č. 4.4: Jednoduchý RDF Graf Zdroj: vlastní úprava Nyní je nutné identifikovat 4 RDF trojice, které nám díky RDF grafu vznikly: Objekt: Predikát: Subjekt: Objekt: Predikát: Subjekt: #TomasNovak Objekt: Predikát: Subjekt: Objekt: Predikát: Subjekt: #Ceske_Aerolinie 36

37 Příklad 4.3: Převod RDF Grafu do RDF/XML podoby 1. <?xml version="1.0"?> 2. <rdf:rdf xmlns:rdf=" 3. xmlns:dc= 4. xmlns:noun=" <rdf:description rdf:about=" 7. <dc:creator> 8. <rdf:description rdf:about=" 9. <noun:fullname>tomas Novak</noun:name> 10. </rdf:description> 11. </dc:creator> 12. </rdf:description> <rdf:description rdf:about=" 15. <dc:creator> 16. <rdf:description rdf:about=" 17. <noun:employer> 18. <rdf:description rdf:about=" 19. <noun:name>ceske Aerolinie</noun:name> 20. </rdf:description> 21. </noun:employer> 22. </rdf:description> 23. </dc:creator> 24. </rdf:description> </rdf:rdf> Na řádku číslo 1 je uvedeno označení XML dokumentu s jeho verzí 1.0. Následuje element <rdf:rdf>, který nám říká, ţe následující část XML dokumentu se bude týkat RDF. řádky 2 4 odkazují na pouţívané jmenné prostory pomocí jejich URI identifikátorů, které se budou dále vyuţívat v dokumentu prostřednictvím jejich prefixů rdf, dc, a noun.v RDF grafu vydíme 2 konečné cesty, které je nutné popsat. Tyto cesty představují na následujících řádcích dva oddělené bloky začínající vţdy na řádcích 6 a 14. Které vycházejí ze stejného zdroje kterým je A nyní začínáme s vnořováním prvků. V prvním bloku (řádka č. 6) popisujeme pomocí elementu <rdf:description> subjekt (zdroj), který je vyjádřen v atributu - rdf:about tohoto elementu. Následuje řádek 7, kde je uvedena vlastnost tohoto zdroje pomocí slovníku Dublin Core <dc:creator>, tedy tvůrce zdroje. Objektem je ale další zdroj (pro identifikaci osoby), který je nutné také popsat pomocí rdf:description na řádce 8. Řádka 9 pak obsahuje jméno vlastnosti fullname ze slovníku noun <noun:fullname> a uvnitř tohoto elementu je jiţ literál v podobě Tomas Novak. Následující formule jiţ pak pouze uzavírají vnořené části popisu. 37

38 Druhý blok popisuje cestu od zdroje přes jeho tvůrce aţ po zaměstnavatele tohoto tvůrce. Na řádcích 14 aţ 16 je definice identická jako v předchozím případě (stejný začátek cesty), Změnou je ovšem řádek 17, kde jiţ určujeme vlastnost <noun:employer>, tedy zaměstnavatel uţivatele ze zdroje Následuje další zdroj, a to registr organizací obsahující hledaný objekt, kde opět tento zdroj definujeme pomocí rdf:description. Posledním prvkem je nakonec vlastnost <noun:name> s jeho objektem Ceske Aerolinie RDFa Dalším rozšířením pro RDF je doporučení W3C konsorcia s názvem RDFa (Resource Description Frameword in atributes). Jedná se o mechanizmus přiřazování metadat do atributů dokumentů XHTML, kde je pak díky němu moţné vyjadřovat celé RDF trojice. Základem je poskytnou sadu atributů uvnitř XHTML dokumentu, ve kterých bude moţné pomocí XML jazyka vyjádřit metadata. Mezi tyto atributy patří následující výčet: Atribut href, resource rel, ref property content about, src typeof datatype Účel použití specifikace zdroje metadata specifikace vztahů nebo zpětných vztahů s jinými zdroji určení vlastnosti (predikátu) obsahu elementu nastavitelný atribut, jehoţ pouţití má přednost před pouţitím atributu property specifikace URI identifikátoru zdroje metadat. specifikace typu RDF subjektu volitelný atribut pro určení datového typu hodnoty S příchodem RDFa je nyní moţné jednoduchým způsobem zakomponovat myšlenku sémantického webu přímo do našich webových stránek a přispět tak k postupnému přechodu do fáze strojově čitelného obsahu WWW. Jednoduchý příklad vyuţití RDFa uvádím níţe: Příklad 4.4: Využití RDFa v XHTML dokumentu. 1. <p xmlns:dc=" 2. about=" es"> 3. Kniha s názvem 4. <cite property="dc:title">semantic Web For Dumnies</cite>, 38

39 5. Jejíž autor je<span property="dc:creator">jeffrey Pollock</span> 6. Popisuje smysluplným způsobem myšlenku sémantického webu. 7. Tato kniha byla vydána: 8. <span property="dc:date" content=" "> </span>. 9. </p> Jak lze pozrovat v příkladě 4.6., metadata jsou umisťována přímo uvnitř html elementů resp. uvnitř atributů těchto elementů. Na řádce 1 deklarujeme jmenný prostor Dublin Core přímo v elementu p. Řádek 2 nám definuje zdroj tvrzení (subjekt). Dále na řádce 4 popisujeme vlastnost pomocí dc:title určující titulek knihy s hodnotou uvnitř elementu cite. Stejným způsobem pak pokračujeme u vlastností autor knihy dc:creator a data vydání dc:date. 4.5 RDF Schema Jako rozšíření pro RDF bylo vydáno v dubnu konsorciem W3C RDF schema (RDFS), které se zaměřuje na strukturování zdrojů (resources) pomocí tříd. RDFS poskytuje slovníky k popisu zdrojů, jejich vlastností, tříd a podtříd. Styl zapisování RDFS můţe být stejný, jako je pouţit u RDF/XML syntaxe Základní myšlenka RDFS Samotné RDF nezahrnuje popis určité domény, o které je pojednáváno v RDF zápisu. Pomocí RDF mluvíme o zdrojích pouze, jako o individuálních objektech majících své vlastnosti a hodnoty. RDFS nám však nabízí moţnost přiřadit objektům společné vlastnosti pomocí tříd, kde určíme, o jaký typ objektu se ve skutečnosti jedná. Třídy lze definovat jako sadu objektů a jakýkoliv objekt patřící do určité třídy je instancí dané třídy. Vztah mezi objektem (zdrojem) a třídou se definuje pomocí RDF vlastnosti rdf:type. Důleţitou vlastností tříd v RDFS je vkládání omezení definující jakým způsobem mohou být v dokumentu RDF tvořena tvrzení. Máme-li například omezit tvrzení mající následující nesmyslnou podobu: 1. známka je udělena žákem 2. předmět je udělen učitelem 26 Wikipedia RDF Schema ) 39

40 V prvním případě musíme definovat omezení (range) v rozsahu hodnot pouţitých ve spojení s vlastností je udělena. A ve druhém případě musíme omezit pouţití objektů vlastnosti je udělen (definovat doménu objektů). Tímto způsobem určujeme typové omezení objektů a hodnot pouţívaných ve trojicích. Podobný způsob je jiţ vyuţívá u mnoha objektově orientovaných přístupů, ze kterého RDFS také vychází[1]. Jakmile máme definovány třídy, je moţné dále také určit vztahy mezi třídami pomocí vlastnosti rdfs:subclassof (je podtřídou). Máme-li například třídu programátor mohli bychom jí zařadit do podtřídy zaměstnanec firmy, pomocí této definice nám tak vznikají hierarchické vztahy mezi třídami. V RDFS je také moţné, aby jedna třída měla několik nadtříd. Jestliţe máme tedy například třídu T, která je podtřídou tříd B1 a B2 pak jakákoliv instance třídy T je také instancí tříd B1 a zároveň B2, z čehoţ vyplívá, ţe není tedy nutné, aby výsledná struktura tří měla podobu stromu.[1] Stejným způsobem jakým jsou tvořeny třídy a podtřídy, tak mohou být tvořeny i vlastnosti a pod-vlastností. Máme-li pak například vlastnost má syna můţeme jí definovat jako pod-vlastnost má potomka. V RDFS však nejsou tyto vlastnosti přímo zaměnitelné a jedna vlasstnost implikuje vlastnost druhou. Pro základní představu vztahu mezi vrstvami RDF a RDFS uvádím následující jednoduchou grafickou notaci : Obrázek č. 4.5: Úrovně RDF a RDFS modelů Zdroj:vlastní úprava Zdroj: vlastní tvorba 40

41 Obrázek č. 4.5 představuje jednoduchý příklad, který ilustruje vztah mezi RDF a RDFS respektive mezi jejich vrstvami. Jedná se o grafické formální vyjádření, kde elipsy ve vrstvě horní představují třídy a ve vrstvě spodní dané instance těchto tříd. Obdélníky pak znázorňují jednotlivé vlastnosti, kterými jsou jevyvíjen a Obstarává. Mezi vyuţité prvky ve schématu patří subpropertyof, subclassof, Class a další. Jak jiţ bylo řečeno RDF Schema je rozšířením RDF, proto není zvláštností, ţe RDF Schema (RDFS) vyuţívá k reprezentaci prvky RDF. Vyjádření RDFS je tedy stejným způsobem vázáno na definici trojic a třídy i vlastnosti v RDFS jsou identifikované svými URI identifikátory Základní třídy RDFS K modelování RDFS se vyuţívají základní prvky, mezi které patří především třídy, které jsou definovány takto: rdfs:class - třída zahrnující veškeré niţší třídy rdfs:besource - třída zahrnující veškeré zdroje rdfs:literal - nejvyšší třída pro literály (řetězce) rdf:property - nejvyšší třída zahrnující vlastnosti rdf:statement - třída zastřešující veškerá tvrzení základní definice třídy můţe vypadat následujícím způsobem: <rdfs:class rdf:id="programator">.... </rdfs:class> Vlastnosti RDFS pro definici vztahů rdfs:subclassof - slouţí k jednoduché definici třídy, která je podtřídou jiné třídy. Veškeré instance této třídy jsou instancemi dané nad-třídy. Platí ţe jedna podtřída můţe mít několik tříd vyšších. rdfs:type - odpovídá zdroji dané třídy a tento zdroj je pak instancí této třídy. rdfs:subpropertyof definuje vlastnost, která se váţe kvlastnosti nadřazené (superproperty). 41

42 Jednoduchý příklad pro definici vlastnosti podtřídy můţe mít následující podobu: <rdfs:class rdf:about="programator"> <rdfs:subclassof rdf:resource="zaměstnanec"/> </rdfs:class> Vlastnosti pro definici omezení v RDFS Mezi tento druh vlastností patří: rdfs:domain - specifikuje doménu dané vlastnosti, to znamená, ţe jakýkoliv zdroj mající tuto vlastnost je instancí dané doménové třídy rdfs:range je vlastností která určuje rozsah hodnot a říká, ţe hodnota této vlastnosti je instancí třídy rozsahu Pomocné třídy K dodatečnému popisu zdrojů bychom mohli řadit pomocné třídy. Pomocí nich odkazujeme například na jiný zdroj slouţící k přesnější specifikaci, nebo dále slovně označujeme či popisujeme třídu. Mezi tyto třídy patří : rdfs:comment- typické uţití komentářů v podobě delších textů k dodatečné slovní specifikaci. Je ho moţné spojit také se zdrojem rdfs:label slouţí k jednoduchému jmennému označení, které je spojeno se zdrojem. rdfs:seealso vlastnost k rozšíření popisu pomocí jiného relevantního zdroje rdfs:isdefinedby je pod-vlastností vlastnosti seealso a slouţí k definici uvedené ve zdroji, typickým zdrojem je jiné RDF Schematu Jednoduchý příklad definice RDFS Jako příklad definice RDFS vyuţiji schema uvedené na obrázku

43 Příklad 4.5: Jednoduchý příklad RDFS z obrázku <rdf:rdf 2. xmlns:rdf=" 3. xmlns:rdfs=" <rdfs:class rdf:id="zamestnanec"> 6. <rdfs:comment> 7. Nejvýše nadřazená třída zaměstnanců 8. </rdfs:comment> 9. </rdfs:class> <rdfs:class rdf:id="vedouciprogramátor"> 12. <rdfs:comment> 13. Třída vedoucích programátorů 14. </rdfs:comment> 15. <rdfs:subclassof rdf:resource="#zamestnanec"/> 16. </rdfs:class> <rdfs:class rdf:id="programovyanalytik"> 19. <rdfs:comment> 20. Třída programových analytiků 21. </rdfs:comment> 22. <rdfs:subclassof rdf:resource="#zamestnanec"/> 23. </rdfs:class> <rdfs:class rdf:id="programator"> 26. <rdfs:comment> 27. Třída programátorů 28. </rdfs:comment> 29. <rdfs:subclassof rdf:resource="#zamestnanec"/> 30. </rdfs:class> <rdfs:class rdf:id="program"> 33. <rdfs:comment> 34. Třída k definici programu 35. </rdfs:comment> 36. </rdfs:class> <rdf:property rdf:id="obstarava"> 39. <rdfs:comment> 40. Souvisí pouze s programem a zaměstnancem. 41. </rdfs:comment> 42. <rdfs:domain rdf:resource="#program"/> 43. <rdfs:range rdf:resource="#zamestnanec"/> 44. </rdf:property> <rdf:property rdf:id="jevyvijen"> 47. <rdfs:comment> 43

44 48. Vlastnost podřazená vlastnosti obstarava, která 49. dědí její doménu:program a rozsah:zamestnanec 50. </rdfs:comment> 51. <rdfs:subpropertyof rdf:resource="#obstarava"/> 52. </rdf:property> 53. </rdf:rdf> Příklad 4.7 představuje RDFS dokument v podobě definic jednoduchých tříd mezi řádky 5 aţ 36, vztah je určen především pomocí specifikace vlastnosti rdfs:subclassof. Dále se definuje na řádcích Nadřazená vlastnost vlastnosti následující pomocí rdf:property (obstarava), kde je určen také rozsah (zamestnanec) a doména (program). Poslední podřazená vlastnost (jevyvíjen) na řádcích 46 aţ 52 je pomocí vztahu rdfs:subpropertyof spojena s vlastností obstarává a dědí veškeré domény a rozsahy této vlastnosti. 44

45 5 OWL K modelování sloţitějších ontologií je potřeba silnějšího nástroje, kterým je právě jazyk OWL nebo také Ontology Web Language. W3C identifikovala jiţ mnoho charakteristických případů uţití sémantického webu, kde prostředky jako jsou RDF a RDF Schema jsou sice přínosem[1], ale jsou značným způsobem limitovány svým pouţitím. RDF je limitováno svými binárními vazbami u predikátů a RDF Schema je limitováno uţitím hierarchických vztahů tříd a podtříd a k nim náleţících vlastností a podřazených vlastností [1]. V zásadě u sloţitějších řešení jiţ tento přístup nepostačuje a je nutné se zabývat vývojem právě takových jazyků, kterým je OWL. Pokud se podíváme na sílu expresivity znalostí jazyka OWL mohly bychom ho vidět, v porovnání s předchozími jazyky na nejvyšší úrovni. Vhodnou ilustrací pro vyjádření této expresivity je následující obrázek: Obrázek č. 4.6: Vyjádření síly expresivity jazyka OWL Zdroj: OWL je tedy dalším rozšířením RDF a RDFS, a jeho vznik původně vychází z iniciace různých výzkumných skupin z USA a Evropy, které se zabývají mimo jiné také reprezentací znalostí. Evropská skupina Europien Defense comunity (Evropské obranné společenství) 45

46 vytvořilo ontologický jazyk s názvem OIL(Ontology Inference Layer), který odpovídá ontologické infrastruktuře pro sémantický web, jehoţ základ stojí na deskripční logice 27. Naproti tomu výzkumná skupina USAU.S. Defence Department (Ministerstvo obrany USA) vytvořilo jazyk DAML (DARPA Agent Markap Language), který je dalším rozšířením XML a RDF. Tyto dva jazyky se později sloučily a vznikl tak jeden jazyk s příznačným jménem DAML+OIL, jenţ byl později převzat pod správu konsorciem W3C, které ho pojmenovalo OWL. 5.1 Kompatibilita OWL a RDFS Jak jsem jiţ dříve uvedl OWL je rozšířením pro RDF a RDFS a vyuţívá prostředky RDFS jako jsou (rdfs:class, rdfs:subclassof atd.) pro svou specifikaci navíc ale přidává k těmto vyjádřením bohatší expresivitu, která je poţadována z důvodu konkrétnějšího ontologického popisu. Mezi omezení prostředků, které jsou vyuţívány u RDF/RDFS bychom mohli řadit například tyto: Disjunktnost tříd: V některých případech je nutno vyjádřit disjunktnost daných tříd. To však není v moci RDFS z toho důvodu, ţe je zde moţnost pouze definovat hierarchické vztahy (třída je podtřídou jiné třídy) nikoliv však disjunktnost daných tříd. Kardinalita: Omezení v podobě různých hodnot vlastností, kterých mohou nebo musí nabývat je také nad rámec moţností RDFS. Je tedy postrádána schopnost vyjadřovat omezení typu manžel může mít právě jednu ženu, nebo člověk může mít pouze dva rodiče. Zvláštní hodnoty vlastností: Někdy je potřeba vyjádřit hodnoty vlastností způsobem jako je větší (menší) neţ daná hodnota (transitivita), nebo vlastnost unikátnosti hodnoty či inversních hodnot, coţ pomocí RDF/RDFS není moţné. 5.2 Verze jazyka OWL Rozhodneme-li se vyvíjet ontologii pomocí jazyka OWL, máme na výběr tři podkategorie. Volbu toho či onoho řešení pak můţeme přizpůsobit poţadavkům 27 Znalostní technologie Představení jazyka OWL. (cit ) 46

47 vyhovujícím sloţitosti nebo komplexnosti našich potřeb. OWL obsahuje následující verze jazyka: OWL Full OWL DL OWL Lite OWL Lite OWL Lite představuje nejobyčejnější verzi, která je ze syntaktického pohledu nejjednodušším případem. Vylučuje některé pouţívané třídy ve verzích vyššího řádu. Je moţné pomocí ní definovat jednoduchá omezení. Výhodou OWL Lite je jednoduché pochopení, které je ovšem na druhé straně vykoupeno nízkou úrovní expresivity (vyjadřovací schopnosti jazyka) OWL DL Disponuje sloţitějšími konstrukty neţ OWL Lite a její základ tvoří deskripcí logika (DL). OWL DL je podmnoţinou verze OWL Full obsahující veškeré její konstruktory, ale s určitými omezeními, které definují, jakým způsobem budou konstruktory OWL a RDF pouţity[1]. Pomocí OWL DL jsme schopni popsat třídy a jejich definice komplexnějším způsobem neţ u OWL Lite OWL Full OWL Full verze obsahuje veškeré prvky jazyka bez jakéhokoliv omezení. Poskytuje také kombinování s prvky RDF a RDFS. Pomocí OWL Full jsme také schopni měnit význam předdefinovaných prvků tím, ţe aplikujeme jeden na druhý[1]. Jednou z výhod této verze je ţe poskytuje plnou zpětnou kompatibilitu s předešlími verzemi a to i s RDF a RDFS. Máme-li například kompletní RDF dokument je také platným dokumentem v jazyce OWL jeho plné verze OWL Full. Stejně tak ucelený RDFS dokument je kompatibilním a platným dokumentem OWL Full[1]. Dále také platí pravidla pro všechny tři verze jazyka OWL, která zní takto: Kaţdá platná ontologie OWL Lite je platnou ontologií OWL DL Kaţdá platná ontologie OWL DL je platnou ontologií OWL Full 47

48 Je důleţité vědět, jak komplexní ontologie chceme tvořit, na základě tohoto poznatku se pak můţeme rozhodnout, kterou z verzí jazyka vyuţijeme. Jestliţe chceme modelovat komplexnější ontologii, musíme také počítat s tím, ţe bude potřeba nejen zevrubná znalost plně vybaveného OWL Full, ale také náročnější softwarové vybavení. Závislost Omezení a sloţitosti různých verzí jazyka OWL na podpoře softwaru je pozorovatelná na obrázku Obrázek č. 4.7: Vyjádření síly expresivity jazyka OWL 5.3 Syntaxe OWL Zdroj: Syntaxe OWL je zaloţena na XML syntaxi s vyuţitím RDF popisu. Definice trojic je tedy stále zachována a postup zápisu je stejný (objekt predikát subjekt) Hlavička OWL Stejným způsobem jako jsem v RDF/XML definovali jmenné prostory i v případě OWL nejdříve u elementu rdf:rdf tato vyjádření zapíšeme. Příklad 5.1: Hlavička OWL dokumentu. 1. <?xml version= 1.0 encoding= UTF-8?> 2. <rdf:rdf 3. xmlns:owl= 4. xmlns:rdfs= 5. xmlns:rdf= 48

49 6. xmlns:dc= 7. xmlns= > Další částí, která se také můţe uvést k jako součást hlavičky OWL dokumentu jsou základní specifika týkajících se například komentářů, verzí popřípadě také dalších vnořených ontologií prostřednictvím jiného externího zdroje. Veškeré tyto údaje jsou zahrnuty pod elementem owl:ontology. Pro představu uvádím následující příklad: Příklad 5.2: Další součást Hlavičky OWL dokumentu. 1. <owl:ontology rdf:about=""> 2. <rdfs:comment>firemní ontologie zaměřená na... </rdfs:comment> 3. <owl:priorversion 4. rdf:resource=" 5. <owl:imports 6. rdf:resource=" 7. <rdfs:label>firemní ontologie</rdfs:label> 8. </owl:ontology> U Příkladu 5.2 začíná základní specifikace na řádku jedna owl:ontology. Pomocí řádku 2 definujeme komentář k ontologii rdfs:coment a na řádcích 3 4 specifikujeme předchozí verzi ontologie s jejím URI identifikátorem. Dále pak řádek definuje pomocnou externí ontologii skrze owl:import, tím říkáme, ţe ontologie definovaná tímto zdrojem se stává součástí námi tvořené ontologie a můţe její konstrukty plně vyuţívat. Poslední definicí je označení ontologie prostřednictvím elementu rdfs:label Třídy OWL Třídy jsou základním konstruktem, který seskupuje určitou mnoţinu objektů, jenţ spolu určitým způsobem souvisí. Definují se pomocí konstruktu owl:class. Tato definice má pak podobnou strukturu jako u RDFS, kde zaměníme pouze rdfs: za owl: : Příklad 5.3: Definice jednoduché třídy v OWL. <owl:class rdf:id="zamestnanec"> <owl:subclassof rdf:resource="#programovyanalytik"> </owl:class> 49

50 Pomocí OWL lze definovat tzv disjunktnost (nesouvislost) tříd, pomocí kterých určujeme se kterými třídami daná popisovaná třída nesouvisí. K takovéto definici vyuţijeme popis owl:disjointwith Příklad 5.4: Definice jednoduché třídy v OWL. <owl:class rdf:about="#externiprogramator"> <owl:disjointwith rdf:resource="#programator"/> <owl:disjointwith rdf:resource="#programovyanalitik"/> <owl:disjointwith rdf:resource="#vedouciprogramator"/> </owl:class> Zápisem v příkladu 5.4 říkáme, ţe třída externíprogramator je disjunktní ke třídám programátor, programovyanaalitik a vedouciprogramator. Další moţností vyjádření třídy je definice ekvivalence uvnitř třídy. Tu provedeme pomocí vestavěné vlastnosti owl:equivalentclas. Smysl této definice je takový, ţe sady prvků dvou v sobě zahrnutých tříd jsou stejné. Pouţití takového vyjádření je následující: Příklad 5.5: Vyjádření ekvivalence tříd v OWL. <owl:class rdf:about="#us_president"> <equivalentclass rdf:resource="#principalresidentofwhitehouse"/> </owl:class> OWL také dovoluje uvést třídu pomocí seznamu (výčtu) prvků uvnitř třídy. K takové konstrukci se uţívá vlastnost owl:oneof. Příklad 5.6: Definice třídy s výčtem prvků v OWL. 1. <owl:class> 2. <owl:oneof rdf:parsetype="collection"> 3. <owl:thing rdf:about="#securityprogram"/> 4. <owl:thing rdf:about="#designprogram"/> 5. <owl:thing rdf:about="#tradingprogram"/> 6. <owl:thing rdf:about="#audioprogram"/> 7. <owl:thing rdf:about="#videoprogram"/> 8. </owl:oneof> 9. </owl:class> 50

51 5.3.3 Vlastnosti OWL Podle [1] existují 2 typy vlastností, jejich definice začíná vţdy pomocí konstruktoru owl:objectproperty a pouţití je odvislé od druhu pouţití: Objektové vlastnosti o Tento typ vlastnosti se uţívá k popisu souvislostí objektů. Příkladem takového objektu je například mapredka nebo jepotomkem Typové vlastnosti o Typové vlastnosti se vyuţívají tam, kde potřebujeme k nějakému objektu přiřadit datový typ dané vlastnosti. Samotné OWL neposkytuje ţádné předem definované datové typy ani prostředky k jejich definici. K definici datového typu objektu však vyuţívá datové typy uvnitř XML Schema. Nyní uvedu příklady obou těchto vlastností: Příklad 5.7: Využití objektové vlastnosti OWL. <owl:objectproperty rdf:id="jevyvijen"> <rdfs:domain rdf:resource="#program"/> <rdfs:range rdf:resource="#zamestnanec"/> <rdfs:subpropertyof rdf:resource="#obstarava"/> </owl:objectproperty> Příklad 5.8: Využití typové vlastnosti OWL. <owl:datatypeproperty rdf:id="telefon"> <rdfs:range rdf:resource=" #Integer"/> </owl:datatypeproperty> Omezení v OWL Omezení se provádí pomocí tříd omezení, která mají definována dané restrikce pro své vlastnosti. Tyto restrikce přímo určují, která individua ze třídy přímo zahrnou nebo vyjmout. Příkladem takového omezení můţe být tato třída: 51

52 Příklad 5.9: Omezení hodnoty vlastnosti uvnitř třídy. 1. <owl:class rdf:about="#audioprogram"> 2. <rdfs:subclassof> 3. <owl:restriction> 4. <owl:onproperty rdf:resource="#jevyvijen"/> 5. <owl:allvaluesfrom rdf:resource="#programatoraudioapp"/> 6. </owl:restriction> 7. </rdfs:subclassof> 8. </owl:class> U příkladu 5.9 je omezeno pouţití vlastnosti #jevyvijen na řádku 4 pomocí owl:onproperty (aplikace restrikce na vlastnost), kde je dále na řádku 5 definováno samotné omezení. Jedna z druhů omezení je právě owl:alllvaluesfrom, která říká, ţe veškeré hodnoty se mají přebírat z třídy #programatoraudioapp. Mezi další vlastnosti, které jsou pouţity k omezení hodnoty, můţeme dále řadit: o owl:hasvalue - definice přímé hodnoty omezení o owl:somevaluesfrom definice omezení na hodnotu, která odpovídá alespoň jedné hodnotě z dané třídy Dalším druhem omezení je omezení kardinality. Příkladem tohoto uţití můţe být tato definice: Příklad 5.10: Omezení kardinality vlastnosti uvnitř třídy. 1. <owl:class rdf:about="#program"> 2. <rdfs:subclassof> 3. <owl:restriction> 4. <owl:onproperty rdf:resource="#jevyvijen"/> 5. <owl:mincardinality rdf:datatype="&xsd;nonnegativeinteger"> 1 6. </owl:mincardinality> 7. </owl:restriction> 8. </rdfs:subclassof> 9. </owl:class> V příkladě 5.10 uvádím případ uţití omezení kardinality. Typicky je aplikováno omezení owl:restriction na vlastnost #jevyvijen na řádku 4. Začátek omezení kardinality je na řádku 5 pomocí konstruktu owl:mincardinality. Součástí je pak specifikace datového 52

53 typu omezení, která akceptuje jen kladné hodnoty typu integer. Typ hodnoty obsahuje odkaz (&xsd) na jmenný prostor v XML souboru, který se definuje v hlavičce OWL. Výsledkem je tedy definice, která říká, ţe vlastnost jevyvijen nabývá minimální hodnoty 1. Mezi další omezení kardinality patří tyto druhy: o owl.maxcardinality definuje maximální počet hodnot, kterých můţe vlastnost nabývat o owl:cardinality slouţí k definici přesného počtu hodnot, kterých můţe vlastnost nabývat 53

54 6 Projekt sémantického webu Pro projekt sémantického webu jsem se rozhodl vyuţít moţnosti dnešních systému pro správu webového obsahu CMS 28 (Content Management System). Na trhu je dnes takových systémů celá řada, ale můj výběr jsem zaměřil na CMS Wordpress, z důvodu, ţe jsem s tímto systémem jiţ dříve pracoval. Samotný Wordpress je vyvíjen a distribuován pod open source licencí GNU General Public Licence 29 a nabízí rozšíření v podobě pluginů, neboli přídavných softwarových komponent. Jednou z těchto komponent je právě plugin s názvem wp-rdfa, který byl vyvinut s jednoznačným účelem, a to zakomponování sémantických metadat do tohoto CMS systému. Tento plugin jsem se rozhodl tedy vyuţít a prakticky tak zahrnout sémantická metadata do CMS Wordpress tak, ţe jsem vytvořil díky němu svou webovou aplikaci určenou právě k prezentaci mého projektu a zároveň vyuţití metadatového popisu dat uvnitř této aplikace. 6.1 CMS Wordpress Wordpress je elegantní, dobře strukturovaný publikační systém, orientovaný především pro osobní prezentaci, nebo také pro tvorbu vlastního blogu. Mimo jiné je moţné pomocí přídavných pluginů vytvořit i sofistikovanější systém například v podobě internetového obchodu. Wordpress je jako takový vyvíjen a spravován velkou komunitou programátorů z celého světa. První verze tohoto systému spatřila světlo světa v roce 2003, ačkoliv byl vývoj zahájen jiţ v roce Mezi CMS systémy patří k velice oblíbeným a jeho pouţití zvolilo jiţ přes 25 milionů uţivatelů 30. Celý systém je naprogramovaný v jazyce PHP a MySQL. Z důvodu této popularity je navíc také podporován velkým počtem webhostingových společností. A tato podpora se týká jak databázového tak programového vybavení. Jeho moţnosti rozšíření v podobě pluginů dokládají jeho velkou flexibilitu a mnoho dnes pouţívaných rozšíření splňují očekávání i náročnějších uţivatelů a vývojářů. Ovšem Wordpres dovoluje i rozšíření v podobě svých odprogramovaných modulů. 28 CMS (Content Management System) :Webová aplikace určená pro správu webového obsahu, někdy taká známá pod pojmem redakční nebo publikační systém. 29 GNU General Public Licence Je druh licence pro svobodný software pro projekt GNU. Tato licence nařizuje, aby softwarová díla odvozená od děl s touto licencí byla dále distribuována pod stejnou licencí. 30 Oficiální webové stránky Wordpress 54

55 6.2 Plugin WP-RDFa Autorem softwarové komponenty (pluginu) WP-RDFa je Richard Harvey, projektový inţenýr a systémový architekt. Samotný plugin lze stáhnout buď přímo z oficiálních stránek Wordpressu na adrese nebo z autorových stránek na adrese Je distribuován jako open source software pod stejnou licencí jako samotný Wordpress, Tedy GNU-GPL a nyní ( ) je vydáván ve verzy wp-rdfa 0.3. Jak samotný název pluginu napovídá jeho mechanismem pro zápis (generování) metadat je RDFa. V něm je ale pozornost zaměřena především na dvě známe ontologie (metadatové slovníky), kterými jsou FOAF a Dublin Core Podpora Dublin Core Plugin WP-RDFa vyuţívá ontologie Dublin Core k rozšíření publikovaných příspěvků o tři druhy sémantických metadat. Mezi ně patří elementy dc:title k definici jména příspěvků, dc:creator pro pojmenování autora příspěvku a dc:date k popisu data vytvoření daného příspěvku. Veškeré příspěvky, které jsou vypisovány ve smyčce pro výpis článků pak obohaceny o tato data, výsledkem potom můţe být tento rdf zápis : Příklad 6.1: Možný výsledek RDF zápisu z jednoho článku <rdf:description rdf:about= > <dc:creator xml:lang= cs >Tomáš Lang</dc:creator> <dc:date xml:lang= cs > :47:41</dc:date> <dc:title xml:lang= cs >>Co je Sémantický Web</dc:title> </rdf:description> Podpora FOAF FOAF je ontologický projekt zaloţený s účelem popisu a znovupouţití strojově čitelných dat, týkajících se osob, jejich vztahů k jiným osobám a věcem. FOAF je otevřenou, decentralizovanou technologií, která propojuje webové aplikace, mezi nimiţ jsou tyto informace sdíleny. Můţeme se tedy tímto způsobem začlenit do sociální sítě bez centralizované databáze[10]. Jedním z příkladů vyuţití tohoto projektu je propojení velkých sociálních sítí typu Facebook, Twitter atd. v jeden globální celek 31. FOAF poskytuje své 31 Oficiální stránky projektu FOAF zdroj: cit. ( ) 55

56 vlastní jmenný slovník pro definici metedat v našem dokumentu, zde je jednoduchým způsobem popsáno jak pouţívat jednotlivé třídy a jejich vlastnosti abychom tak přesně splňovali definici FOAF profilu. URI jmenného slovníku je V mém projektu vyuţívám 2 třídy s názvem foaf:personalprofiledokument a třídu foaf:person. Pomocí nich se pak popisují metadata týkající se dokumentu náleţícího dané osobě a bliţší informace o samotných autorech článků s jejich vztahy Instalace a nastavení WP-RDFa Pro zprovoznění pluginu je nutné si jej stáhnout přímo z oficiálních stránek na adrese a následně provést nutné kroky k jeho zprovoznění. Staţený soubor je v komprimované podobě formátu ZIP ten jsem pomocí běţného dekomprimačního programu (TotalCommander) rozbalil a získal tak sloţku s názvem wp-rdfa. Tuto slouţku je poté nutné nahrát do sloţky systému Wordpress, kde mají pluginy vyhrazené místo. V kořenovém adresáři systému se přemístíme do adresáře plugins následující cestou: /wp-content/plugins/. Do tohoto místa jsem soubor umístil. Po tomto úkonu se v administrační části pro pluginy zobrazí nově nahraný plugin. Obrázek č. 6.1: Administrační část CMS Wordpress instalace pluginu Zdroj: vlastní úprava 56

57 Na obrázku 6.1 pozorujeme administrační prostředí systému Wordpress, přesněji prostředí pro administraci pluginů a ve vyznačené části vidíme nově nahraný plugin wprdfa. Zprovoznění pluginu jsem provedl Odkazem Aktivovat ve vyznačené části. Odkaz upravit pak slouţí k samotné úpravě php kódu pluginu a smazat ke smazání pluginu ze systému. Po aktivaci systém vypíše upozornění, ţe byl plugin aktivován. Po aktivaci jiţ probíhají funkce pluginu, které lze však ještě dále modifikovat v prostředí hlavního nastavení v administraci. Pro názornost obrázek 6.2 Obrázek č. 5.2: Administrační prostředí CMS Wordpress modifikace wp-rdfa Zdroj: vlastní úprava Na obrázku 6.2 vidíme moţnosti nastavení pluginu. Úvodní věty pod naspisem Usage vysvětlují jednoduchým způsobem účel pouţití tohoto pluginu (moţnost vytvořit strojově čitelný obsah). Prostřednictvím odkazu here je pak moţno dohledat detailnější informace. Důleţitými částmi jsou FOAF (Friend of a Friend) Settings a Inline Dublin Core options. U FOAF nastavení se nám nabízejí moţnosti v podobě zaškrtávacích políček. U políčka Enable FOAF publication nastavujeme zda-li se má soubor s metadaty generovat. Následující políčka představuje typ nebo úroveň uţivatele naší aplikace disponujícího různými pravomocemi. Zaškrtnutím říkáme, jací uţivatelé budou zahrnuti do 57

58 výstupu FOAF souboru. Setřídění je od nejvyšší úrovně do nejniţší. Pro praktické otestování jsem zaškrtl všechna políčka. Výstup souboru uvedu později. Nastavení Dublin Core nalezneme níţe pod nadpisem Inline Dublin Core Options. Zde máme moţnost pouze zaškrtnutí jednoho políčka, slouţícího ke spuštění popisu pomocí slovníku Dublin Core. Které přiřadí sémantická metadata ke kaţdému článku v aplikaci, připíše datum vytvoření a jeho autora Výpis metadat Aby bylo moţné otestovat funkčnost výpisu metadat pro různé osoby, vytvořil jsem fiktivní uţivatele mé aplikace s různými privilegii. Mezi uţivatele tedy patří admin(já jako administrátor) Marie (Redaktor), Susan (Šéfredaktor). Obrázek č. 6.3: Výpis uţivatelů systému. Zdroj: vlastní úprava Jako testovací příspěvky jsem vybral některé kapitoly z mé diplomové práce. Ty jsem poté vkládal pod různě přihlášenými uţivateli, abych otestoval funkčnost výpisu metadat Dublin Core a zároveň metadata uvnitř FOAF souboru. Na první pohled zůstává vzhled aplikace a způsob výpisu článků s jejich doplňujícími informacemi stejný. Úvodní stránka webové aplikace generuje seznamy článků s jejich autory, daty, a úvodními větami. Necháme-li si však zobrazit zdrojový kód stránek, vidíme určité změny, které jsou k nalezení v hlavičkách souboru a v částech popisující články. Tyto změny samozřejmě obsahují RDFa zápis. Pro představu uvádím na obrázku č. 6.4 úvodní stránku s výpisem článků. 58

59 Obrázek č. 6.4: Vzhled úvodní stránky webové aplikace. Zdroj: vlastní úprava Jak lze pozorovat na obrázku 6.4 vzhled 32 je navrţen jednoduchým způsobem. Vrchní lišta obsahuje odkazy na stránky aplikace, uprostřed se nacházejí generované články s nejdůleţitějšími informacemi a nabídka na pravé straně představuje doplňující ovládání aplikace v podobě Archivů článků, Kategorií a Ostatní ovládání. Samotná aplikace je registrována na doméně Nyní se ale zaměřím na důleţitější část, kterou je výpis a popis zdrojového kódu uvedené stránky na obrázku Vzhled instalovaný v aplikaci není mou tvorbou, autorem tohoto vzhledu je společnost MedicalWebsiteDesign online: 59

60 Obrázek č. 6.5: 1. Část zdrojového kódu aplikace (hlavička). Zdroj: vlastní úprava Kód XHTML stránky si nechávám zobrazovat přímo v prostředí webového prohlíţeče Google Chrlome z důvodu přímé interpretace, strukturování je proto graficky méně přívětivé avšak dostačující. Důleţité jsou na obrázku 6.5 podtrţené řádky, které byly pomocí pluginu generovány. Na prvním z nich odkazuje element <link>, ten propojuje stránku s externím souborem, v tomto případě se souborem foaf.php, který je součástí pluginu. Zde jsou pomocí tří základních PHP funkcí načítány informace o uţivatelích a jejich vztazích k administrátorovi aplikace (veškerý tento výpis odpovídá specifikaci 33 FOAF). Samotný soubor ještě později uvedu a popíši. Druhý podtrţený řádek jiţ slouţí k načtení jmenných prostorů RDF a Dublin Core. Nyní se zaměřím na výpis článků s jejich metadaty. Obrázek č. 6.6: Část zdrojového kódu aplikace (obsah). Zdroj: vlastní úprava 33 Specifikace a uţití FOAF slovníků verze cit. ( ) 60

61 Důleţité řádky jsou opět na obrázku č 6.6 podtrţeny a stejně jako v předchozím případě jsou generovány pluginem. V této části se však jiţ jedná o sémantický popis konkrétního článku s vyuţitím slovníku Dublin Core. Popis je samozřejmě generován i u všech ostatních článků. RDFa popis je na obrázku zvýrazněn podtrţením a je zahrnut do elementů <span>, v prním případě se jedná o vlastnost property= dc:date s hodnotou vlastnosti content=" :09:41", a zdrojem odpovídající URI daného článku href=" který je u všech tří vlastností stejný. Další vlastností je dc:title k popisu titulku článku, v tomto případě odpovídá hodnota vlastnosti literálu Ontologie. A poslední důleţitá vlastnost je dc:creator (autor článku) s hodnotou Marie. Soubor FOAF.php Nyní uvedu výpis přeloţeného souboru FOAF.php, který rozdělím do dvou částí (z důvodu přehlednosti). Soubor uvedu jiţ v přepsané a strukturované podobě, jelikoţ přehlednost zobrazeného zdrojového kódu souboru je ve webovém prohlíţeči jiţ nedostačující. Výpis č.6.1 První část souboru FOAF.php 1. <rdf:rdf 2. xmlns:rdf=" 3. xmlns:rdfs=" 4. xmlns:foaf=" 5. xmlns:admin=" 6. <foaf:personalprofiledocument rdf:about=""> 7. <foaf:maker rdf:resource="/author/admin"> 8. </foaf:maker> 9. <foaf:primarytopic rdf:resource="../../../"> 10. </foaf:primarytopic> 11. </foaf:personalprofiledocument> 12. <foaf:person rdf:about="/author/admin"> 13. <foaf:mbox_sha1sum>c398145f5ff187b6b4e2ea236d973b177174f4fd 14. </foaf:mbox_sha1sum> 15. <foaf:name>tomáš Lang 16. </foaf:name> 17. <foaf:givenname>tomáš 18. </foaf:givenname> 19. <foaf:family_name>lang 20. </foaf:family_name> 21. <foaf:nick>neronn 22. </foaf:nick> 23. <foaf:homepage> 61

62 24. </foaf:homepage> 25. <foaf:knows rdf:resource="/author/susan"> 26. </foaf:knows> 27. <foaf:knows rdf:resource="/author/marie"> 28. </foaf:knows> 29. </foaf:person> Řádek 1 obsahuje začátek Popisu RDF pomocí elementu <rdf:rdf. Na řádcích 2 aţ 5 se načítají opět jmenné slovníky. Dále je důleţitá část mezi řádky 6 aţ 12, zde se jedná jiţ o zápis FOAF, kde pomocí třídy PersonalProfileDokument přiřazujeme k FOAF profilu administrátora jeho vytvořené články na adrese pomocí vlastnosti foaf:maker. Na této adrese je obsaţen výpis všech článků, jejichţ autorem je právě administrátor. Od řádku 12 jiţ začínáme sémanticky popisovat konkrétní profilové informace uvnitř třídy foaf:profile. Pomocí elementu <foaf:mbox_sha1sum> se na řádku 13 uvádí ová adresa uţivatele, která je však pomocí PHP funkce sha1(); zakódována, z důvodu bezpečnějšího neexplicitního vyjádření adresy, výsledkem je proto dlouhý řetězec znaků. Dále se skrze řádky 15 aţ 22 se definují základní informace o osobě v podobě celého jména foaf:name, jména foaf:givennname, příjmení foaf:family_name a řádek 23 odkazuje na osobní stránku popisované osoby pomocí vlastnosti foaf:homepage. Dále jsou Na řádcích 25 aţ 28 důleţité vlastnosti popisující vztahy administrátora s ostatními uţivateli aplikace pouţitím vlastnosti foaf:knows, jak lze předpokládat administrátor je v určitém vztahu s kaţdým jiným uţivatelem aplikace, v našem případě to jsou Susan a Marie. Výpis č.6.2 Druhá část souboru FOAF.php 30. <foaf:person rdf:about="/author/susan"> 31. <foaf:mbox_sha1sum>6b5a1101beb22bf75c195b862930ada d8 32. </foaf:mbox_sha1sum> 33. <foaf:givenname>zuzana 34. </foaf:givenname> 35. <foaf:family_name>ulrichová 36. </foaf:family_name> 37. <foaf:nick>susan 38. </foaf:nick> 39. <foaf:homepage> 40. </foaf:homepage> 41. </foaf:person> <foaf:person rdf:about="/author/marie"> 62

63 44. <foaf:mbox_sha1sum>e102b3adabfb9ac7d5d56731d40ce6f60a3a0d </foaf:mbox_sha1sum> 46. <foaf:givenname>marie 47. </foaf:givenname> 48. <foaf:family_name>langová 49. </foaf:family_name> 50. <foaf:nick>marie 51. </foaf:nick> 52. <foaf:homepage> 53. </foaf:homepage> 54. </foaf:person> 55. </rdf:rdf> Jak lze pozorovat u druhé části souboru (Výpis č. 6.2) popis se týká zbývajících 2 uţivatelů aplikace. A stejně jako u administrátora, i zde se začíná stejným způsobem popisu pomocí vlastností foaf:mbox_sha1sum, foaf:name, foaf:givenname, foaf:nick a foaf:homepage. Na rozdíl od popisu administrátora zde chybí vlastnosti vztahů, ty se definují v tomto případě pouze v části definice osoby administrátora Testování metadat Společnost Google zohledňuje sémantická metadata typu RDFa, která jsou zakomponovaná ve webových aplikacích z důvodu lepších vyhledávacích výsledků, je tedy patrné, ţe vývoj tímto směrem postupuje stále vpřed. Google poskytuje nástroj nazvaný Rich Snippets (bohatší úryvky), který prochází internetové aplikace, za účelem vyhledat metadata a na základě jejich výskytu se snaţí o dosaţení relevantnějších výsledků vyhledávání. K testování metadat mé webové aplikace jsem zvolil právě nástroj Rich Snippets Testing Tool, který poskytuje na stránce 34 prvek pro testování (parsování) strukturovaných metadat na jakékoliv stránce, kterou je moţné zapsat do formuláře a posléze nechat tímto nástrojem projít naší aplikaci a generovat z ní pouze metadata. Ačkoliv nástroj neposkytuje přímou podporu slovníku Dublin Core, lze pomocí něj nechat generovat i tento druh metadat. Formulář, který k testování slouţí, má podobu obrázku č Rich Snippets Tool: 63

64 Obrázek č. 6.7: Testovací nástroj Rich Snippets Testing Tool. Zdroj: Do pole pro testování jsem tedy zadal adresu mé aplikace a výsledný výpis metadat byl následující: Obrázek č. 6.8: Výpis metadat článků na úvodní stránce. Zdroj: Na obrázku č. 6.8 je vypsán seznam metadat úvodní stránky, vytvořené webové aplikace. Jak je pozorovatelné, výpis zahrnuje přesný seznam článků, který je přímím obsahem první stránky ve stejném pořadí, které odpovídá generovaným metadatům v mé 64

65 webové aplikaci. Kaţdý prvek seznamu tedy obsahuje datum vydání článku, titulek daného článku a autora článku. Nyní se zaměřím na výpis metadat uvnitř jednotlivých stránek. Ve Wordpress aplikaci jsou stránky (pages) generované lehce odlišné neţ generování samotných článků (příspěvků). Jako příklad jsem tedy převzal odkaz dané stránky, který v tomto případě zahrnuje adresu Předpokladem by tedy měl být výpis týkající se metadat pouze jedné stránky. Obrázek č. 6.9: Výpis metadat konkrétní stránky. Jak lze vidět na obrázku 6.9 výpis opravdu zahrnuje pouze jednoho autora článku s titulkem Koncept SW vydaného krádce před 11. Hodinou. Jeho autorem je v případě této stránky Tomáš Lang. 65

Metody tvorby ontologií a sémantický web. Martin Malčík, Rostislav Miarka

Metody tvorby ontologií a sémantický web. Martin Malčík, Rostislav Miarka Metody tvorby ontologií a sémantický web Martin Malčík, Rostislav Miarka Obsah Reprezentace znalostí Ontologie a sémantický web Tvorba ontologií Hierarchie znalostí (D.R.Tobin) Data jakékoliv znakové řetězce

Více

Ontologie. Otakar Trunda

Ontologie. Otakar Trunda Ontologie Otakar Trunda Definice Mnoho různých definic: Formální specifikace sdílené konceptualizace Hierarchicky strukturovaná množina termínů popisujících určitou věcnou oblast Strukturovaná slovní zásoba

Více

Sémantický web 10 let poté

Sémantický web 10 let poté Sémantický web 10 let poté Vilém Sklenák sklenak@vse.cz Vysoká škola ekonomická, fakulta informatiky a statistiky, katedra informačního a znalostního inženýrství Inforum2011, 26. 5. 2011 Vilém Sklenák

Více

Logika pro sémantický web

Logika pro sémantický web ZVYŠOVÁNÍ ODBORNÝCH KOMPETENCÍ AKADEMICKÝCH PRACOVNÍKŮ OSTRAVSKÉ UNIVERZITY V OSTRAVĚ A SLEZSKÉ UNIVERZITY V OPAVĚ Logika pro sémantický web Martin Žáček PROČ BALÍČEK? 1. balíček Formální logické systémy

Více

Úvod do aplikací internetu a přehled možností při tvorbě webu

Úvod do aplikací internetu a přehled možností při tvorbě webu CVT6 01a Úvod do aplikací internetu a přehled možností při tvorbě webu Internet a www Internet? Služby www ftp e-mail telnet NetNews konference IM komunikace Chaty Remote Access P2P aplikace Online games

Více

Výměnný formát XML DTM DMVS PK

Výměnný formát XML DTM DMVS PK Výměnný formát XML DTM DMVS PK Představení partnerským krajům Praha 8. 2. 2016 Krajský úřad Plzeňského kraje Odbor informatiky Koncept etapizace tvorby výměnného formátu XML aktualizačních zakázek Digitální

Více

PŘÍLOHA C Požadavky na Dokumentaci

PŘÍLOHA C Požadavky na Dokumentaci PŘÍLOHA C Požadavky na Dokumentaci Příloha C Požadavky na Dokumentaci Stránka 1 z 5 1. Obecné požadavky Dodavatel dokumentaci zpracuje a bude dokumentaci v celém rozsahu průběžně aktualizovat při každé

Více

Informační systémy 2008/2009. Radim Farana. Obsah. Nástroje business modelování. Business modelling, základní nástroje a metody business modelování.

Informační systémy 2008/2009. Radim Farana. Obsah. Nástroje business modelování. Business modelling, základní nástroje a metody business modelování. 3 Vysoká škola báňská Technická univerzita Ostrava Fakulta strojní, Katedra automatizační techniky a řízení 2008/2009 Radim Farana 1 Obsah Business modelling, základní nástroje a metody business modelování.

Více

Metadata, sémantika a sémantický web. Ing. Vilém Sklenák, CSc.

Metadata, sémantika a sémantický web. Ing. Vilém Sklenák, CSc. Metadata, sémantika a sémantický web Ing. Vilém Sklenák, CSc. Inforum 2004, Praha, 27. 5. 2004 2/21 There are things we know that we know. There are known unknowns that is to say, there are things that

Více

Úvod do tvorby internetových aplikací

Úvod do tvorby internetových aplikací CVT6 01a Úvod do tvorby internetových aplikací Osnova předmětu (X)HTML a tvorba webu pomocí přímého zápisu kódu Tvorba web designu a skládání stránek z kousků Skriptovací jazyky na webu Návrh software

Více

MATURITNÍ OTÁZKY ELEKTROTECHNIKA - POČÍTAČOVÉ SYSTÉMY 2003/2004 PROGRAMOVÉ VYBAVENÍ POČÍTAČŮ

MATURITNÍ OTÁZKY ELEKTROTECHNIKA - POČÍTAČOVÉ SYSTÉMY 2003/2004 PROGRAMOVÉ VYBAVENÍ POČÍTAČŮ MATURITNÍ OTÁZKY ELEKTROTECHNIKA - POČÍTAČOVÉ SYSTÉMY 2003/2004 PROGRAMOVÉ VYBAVENÍ POČÍTAČŮ 1) PROGRAM, ZDROJOVÝ KÓD, PŘEKLAD PROGRAMU 3 2) HISTORIE TVORBY PROGRAMŮ 3 3) SYNTAXE A SÉMANTIKA 3 4) SPECIFIKACE

Více

EXTRAKT z mezinárodní normy

EXTRAKT z mezinárodní normy EXTRAKT z mezinárodní normy Extrakt nenahrazuje samotnou technickou normu, je pouze informativním ICS 03.220.01; 35.240.60 materiálem o normě. Inteligentní dopravní systémy Požadavky na ITS centrální datové

Více

CZ.1.07/1.5.00/34.0527

CZ.1.07/1.5.00/34.0527 Projekt: Příjemce: Digitální učební materiály ve škole, registrační číslo projektu CZ.1.07/1.5.00/34.0527 Střední zdravotnická škola a Vyšší odborná škola zdravotnická, Husova 3, 371 60 České Budějovice

Více

Inovace výuky prostřednictvím šablon pro SŠ

Inovace výuky prostřednictvím šablon pro SŠ Název projektu Číslo projektu Název školy Autor Název šablony Název DUMu Stupeň a typ vzdělávání Vzdělávací oblast Vzdělávací obor Tematický okruh Inovace výuky prostřednictvím šablon pro SŠ CZ.1.07/1.5.00/34.0748

Více

Znalostní systém nad ontologií ve formátu Topic Maps

Znalostní systém nad ontologií ve formátu Topic Maps Znalostní systém nad ontologií ve formátu Topic Maps Ladislav Buřita, Petr Do ladislav.burita@unob.cz; petr.do@unob.cz Univerzita obrany, Fakulta vojenských technologií Kounicova 65, 662 10 Brno Abstrakt:

Více

Dnešní téma. Oblasti standardizace v ICT. Oblasti standardizace v ICT. Oblasti standardizace v ICT

Dnešní téma. Oblasti standardizace v ICT. Oblasti standardizace v ICT. Oblasti standardizace v ICT Dnešní téma Oblasti standardizace v ICT Případové studie standardizace v ICT: 1) Znakové sady 2) Jazyk 1. technická infrastruktura transfer a komunikace informací, přístup k informacím, sdílení zdrojů

Více

Úvod do informatiky 5)

Úvod do informatiky 5) PŘEHLED PŘEDNÁŠKY Internet Protokol a služba Jmenná služba (DNS) URL adresa Elektronická pošta Přenos souborů (FTP) World Wide Web (WWW) Téměř zapomenuté služby 1 INTERNET 2 PROTOKOL A SLUŽBA Protokol

Více

Obsah. Zpracoval:

Obsah. Zpracoval: Zpracoval: houzvjir@fel.cvut.cz 03. Modelem řízený vývoj. Doménový (business), konceptuální (analytický) a logický (návrhový) model. Vize projektu. (A7B36SIN) Obsah Modelem řízený vývoj... 2 Cíl MDD, proč

Více

Po ukončení tohoto kurzu budete schopni:

Po ukončení tohoto kurzu budete schopni: PRÁCE S INTERNETEM A KOMUNIKACE Hana Rohrová, Roman Rohr Cíle kurzu Po ukončení tohoto kurzu budete schopni: porozumět základním pojmům spojeným s používáním Internetu, dodržovat bezpečnostní opatření

Více

Systém elektronického rádce v životních situacích portálu www.senorady.cz

Systém elektronického rádce v životních situacích portálu www.senorady.cz Systém elektronického rádce v životních situacích portálu www.senorady.cz Obec Senorady Miroslav Patočka 2006 Obsah: 1. Úvodní informace 1.1 Informace pro uživatele 1.1.1 Přístupnost HTML, PDA, WAP, XML

Více

Vývoj moderních technologií při vyhledávání. Patrik Plachý SEFIRA spol. s.r.o. plachy@sefira.cz

Vývoj moderních technologií při vyhledávání. Patrik Plachý SEFIRA spol. s.r.o. plachy@sefira.cz Vývoj moderních technologií při vyhledávání Patrik Plachý SEFIRA spol. s.r.o. plachy@sefira.cz INFORUM 2007: 13. konference o profesionálních informačních zdrojích Praha, 22. - 24.5. 2007 Abstrakt Vzhledem

Více

Správa VF XML DTM DMVS Datový model a ontologický popis

Správa VF XML DTM DMVS Datový model a ontologický popis Správa VF XML DTM DMVS Datový model a ontologický popis Verze 1.0 Standard VF XML DTM DMVS Objednatel Plzeňský kraj Institut plánování a rozvoje hlavního města Prahy Zlínský kraj Kraj Vysočina Liberecký

Více

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY FAKULTA INFORMAČNÍCH TECHNOLOGIÍ ÚSTAV INFORMAČNÍCH SYSTÉMŮ FACULTY OF INFORMATION TECHNOLOGY DEPARTMENT OF INFORMATION SYSTEMS ONTOLOGIE A SÉMANTICKÝ

Více

Logický datový model VF XML DTM DMVS

Logický datový model VF XML DTM DMVS Logický datový model VF XML DTM DMVS Verze 1.1 VF XML DTM DMVS Objednatel Plzeňský kraj Institut plánování a rozvoje hlavního města Prahy Zlínský kraj Kraj Vysočina Liberecký kraj Karlovarský kraj Statutární

Více

Webové stránky. 2. Úvod do jazyka HTML. Datum vytvoření: 11. 9. 2012. str ánk y. Vytvořil: Petr Lerch. www.isspolygr.cz

Webové stránky. 2. Úvod do jazyka HTML. Datum vytvoření: 11. 9. 2012. str ánk y. Vytvořil: Petr Lerch. www.isspolygr.cz Webové stránky 2. Úvod do jazyka HTML Vytvořil: Petr Lerch www.isspolygr.cz Datum vytvoření: 11. 9. 2012 Webové Strana: 1/6 Škola Ročník Název projektu Číslo projektu Číslo a název šablony Autor Tématická

Více

RDF a RDF Query. Jakub Nerad 1. prosince Nerad () RDF a RDF Query 1. prosince / 16

RDF a RDF Query. Jakub Nerad 1. prosince Nerad () RDF a RDF Query 1. prosince / 16 RDF a RDF Query Jakub Nerad jakubnerad@gmail.com 1. prosince 2009 Nerad () RDF a RDF Query 1. prosince 2009 1 / 16 Součastnost Součastnost množství informací zpracování pomocí statistické analýzy problém

Více

8.2 Používání a tvorba databází

8.2 Používání a tvorba databází 8.2 Používání a tvorba databází Slide 1 8.2.1 Základní pojmy z oblasti relačních databází Slide 2 Databáze ~ Evidence lidí peněz věcí... výběry, výpisy, početní úkony Slide 3 Pojmy tabulka, pole, záznam

Více

HTML Hypertext Markup Language

HTML Hypertext Markup Language HTML Hypertext Markup Language je jazyk určený na publikování a distribuci dokumentů na Webu velmi jednoduchý jazyk používá ho mnoho uživatelů má výkonné prostředky (příkazy) k formátování dokumentů (různé

Více

TÉMATICKÝ OKRUH Softwarové inženýrství

TÉMATICKÝ OKRUH Softwarové inženýrství TÉMATICKÝ OKRUH Softwarové inženýrství Číslo otázky : 24. Otázka : Implementační fáze. Postupy při specifikaci organizace softwarových komponent pomocí UML. Mapování modelů na struktury programovacího

Více

Znalostní báze pro obor organizace informací a znalostí

Znalostní báze pro obor organizace informací a znalostí Znalostní báze pro obor organizace informací a znalostí Představení projektu Programu aplikovaného výzkumu a vývoje národní a kulturní identity (NAKI) DF13P01OVV013 2013 2015 Helena Kučerová ÚISK FF UK

Více

Kapitola 1: Úvod. Systém pro správu databáze (Database Management Systém DBMS) Účel databázových systémů

Kapitola 1: Úvod. Systém pro správu databáze (Database Management Systém DBMS) Účel databázových systémů - 1.1 - Kapitola 1: Úvod Účel databázových systémů Pohled na data Modely dat Jazyk pro definici dat (Data Definition Language; DDL) Jazyk pro manipulaci s daty (Data Manipulation Language; DML) Správa

Více

The bridge to knowledge 28/05/09

The bridge to knowledge 28/05/09 The bridge to knowledge DigiTool umožňuje knihovnám vytvářet, administrovat, dlouhodobě uchovávat a sdílet digitální sbírky. DigiTool je možno využít pro institucionální repozitáře, sbírky výukových materiálu

Více

AMPHORA - NÁSTROJ PRO INDEXOVÁNÍ WEBOVÝCH STRÁNEK.

AMPHORA - NÁSTROJ PRO INDEXOVÁNÍ WEBOVÝCH STRÁNEK. AMPHORA - NÁSTROJ PRO INDEXOVÁNÍ WEBOVÝCH STRÁNEK. Václav Snášel, Jiří Dvorský, Petr Šaloun, Daniela Ďuráková VŠB Technická univerzita, 17. listopadu 15, 708 33 Ostrava Abstract Textová databáze AmphorA

Více

Modely datové. Další úrovní je logická úroveň Databázové modely Relační, Síťový, Hierarchický. Na fyzické úrovni se jedná o množinu souborů.

Modely datové. Další úrovní je logická úroveň Databázové modely Relační, Síťový, Hierarchický. Na fyzické úrovni se jedná o množinu souborů. Modely datové Existují různé úrovně pohledu na data. Nejvyšší úroveň je úroveň, která zachycuje pouze vztahy a struktury dat samotných. Konceptuální model - E-R model. Další úrovní je logická úroveň Databázové

Více

Teorie systémů TES 5. Znalostní systémy KMS

Teorie systémů TES 5. Znalostní systémy KMS Evropský sociální fond. Praha & EU: Investujeme do vaší budoucnosti. Teorie systémů TES 5. Znalostní systémy KMS ZS 2011/2012 prof. Ing. Petr Moos, CSc. Ústav informatiky a telekomunikací Fakulta dopravní

Více

2. Modelovací jazyk UML 2.1 Struktura UML 2.1.1 Diagram tříd 2.1.1.1 Asociace 2.1.2 OCL. 3. Smalltalk 3.1 Jazyk 3.1.1 Pojmenování

2. Modelovací jazyk UML 2.1 Struktura UML 2.1.1 Diagram tříd 2.1.1.1 Asociace 2.1.2 OCL. 3. Smalltalk 3.1 Jazyk 3.1.1 Pojmenování 1. Teoretické základy modelování na počítačích 1.1 Lambda-kalkul 1.1.1 Formální zápis, beta-redukce, alfa-konverze 1.1.2 Lambda-výraz jako data 1.1.3 Příklad alfa-konverze 1.1.4 Eta-redukce 1.2 Základy

Více

Ontologie v e-commerce

Ontologie v e-commerce Diplomová práce Ontologie v e-commerce Pavel Jisl pavel@cetoraz.info ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE FAKULTA ELEKTROTECHNICKÁ Ontologie v e-commerce Pavel Jisl, jislp@fel.cvut.cz p. 1/13 Cíle práce

Více

Databázové aplikace pro internetové prostředí. 01 - PHP úvod, základní princip, vkládání skriptu, komentáře, výpis na obrazovku

Databázové aplikace pro internetové prostředí. 01 - PHP úvod, základní princip, vkládání skriptu, komentáře, výpis na obrazovku Databázové aplikace pro internetové prostředí 01 - PHP úvod, základní princip, vkládání skriptu, komentáře, výpis na obrazovku Projekt: Inovace výuky prostřednictvím ICT Registrační číslo: CZ.1.07/1.5.00/34.250

Více

Střední průmyslová škola elektrotechnická Praha 10, V Úžlabině 320 M A T U R I T N Í T É M A T A P Ř E D M Ě T U

Střední průmyslová škola elektrotechnická Praha 10, V Úžlabině 320 M A T U R I T N Í T É M A T A P Ř E D M Ě T U Střední průmyslová škola elektrotechnická Praha 10, V Úžlabině 320 M A T U R I T N Í T É M A T A P Ř E D M Ě T U P R O G R A M O V É V Y B A V E N Í Studijní obor: 18-20-M/01 Informační technologie Školní

Více

Inovace výuky prostřednictvím šablon pro SŠ

Inovace výuky prostřednictvím šablon pro SŠ Název projektu Číslo projektu Název školy Autor Název šablony Název DUMu Stupeň a typ vzdělávání Vzdělávací oblast Vzdělávací obor Tematický okruh Inovace výuky prostřednictvím šablon pro SŠ CZ.1.07/1.5.00/34.0748

Více

XML jako prostředek pro citování informačních zdrojů

XML jako prostředek pro citování informačních zdrojů XML jako prostředek pro citování informačních zdrojů Mgr. Linda Skolková (skolkova( skolkova@ikaros.cz) Ing. Miloslav Nič, PhD. (miloslav.nic( miloslav.nic@vscht.cz) Osnova Co je citování K čemu je dobré

Více

Nastavení provozního prostředí webového prohlížeče pro aplikaci

Nastavení provozního prostředí webového prohlížeče pro aplikaci Nastavení provozního prostředí webového prohlížeče pro aplikaci IS o ISVS - Informační systém o informačních systémech veřejné správy verze 2.03.00 pro uživatele vypracovala společnost ASD Software, s.r.o.

Více

Znalostní báze pro obor organizace informací a znalostí

Znalostní báze pro obor organizace informací a znalostí Znalostní báze pro obor organizace informací a znalostí Představení projektu Programu aplikovaného výzkumu a vývoje národní a kulturní identity (NAKI) DF13P01OVV013 2013 2015 Helena Kučerová ÚISK FF UK

Více

Škola: Gymnázium, Brno, Slovanské náměstí 7 III/2 Inovace a zkvalitnění výuky prostřednictvím ICT Název projektu: Inovace výuky na GSN

Škola: Gymnázium, Brno, Slovanské náměstí 7 III/2 Inovace a zkvalitnění výuky prostřednictvím ICT Název projektu: Inovace výuky na GSN Škola: Gymnázium, Brno, Slovanské náměstí 7 Šablona: III/2 Inovace a zkvalitnění výuky prostřednictvím ICT Název projektu: Inovace výuky na GSN prostřednictvím ICT Číslo projektu: CZ.1.07/1.5.00/34.0940

Více

ČESKÁ TECHNICKÁ NORMA

ČESKÁ TECHNICKÁ NORMA ČESKÁ TECHNICKÁ NORMA ICS 01.020; 35.240.30 2005 Počítačové aplikace v terminologii - Systém pro značkování terminologie ČSN ISO 16642 01 0507 Leden Computer applications in terminology - Terminological

Více

Modely a sémantika. Petr Šaloun VŠB-Technická univerzita Ostrava FEI, katedra informatiky

Modely a sémantika. Petr Šaloun VŠB-Technická univerzita Ostrava FEI, katedra informatiky Modely a sémantika Petr Šaloun VŠB-Technická univerzita Ostrava FEI, katedra informatiky Úvod Existující problémy Prudký nárůst množství informací na webu Kognitivní přetížení Ztráta v informačním prostoru

Více

InternetovéTechnologie

InternetovéTechnologie 4 InternetovéTechnologie sémantický web Ing. Michal Radecký, Ph.D. www.cs.vsb.cz/radecky Web x.0 Sémantický web - I have a dream for the Web [in which computers] become capable of analyzing all the data

Více

Tvorba webu. Úvod a základní principy. Martin Urza

Tvorba webu. Úvod a základní principy. Martin Urza Tvorba webu Úvod a základní principy Martin Urza World Wide Web (WWW) World Wide Web (doslova celosvětová pavučina ) je označení pro mnoho dokumentů rozmístěných na různých serverech po celém světě. Tyto

Více

Z HISTORIE SPOLEČNOSTI

Z HISTORIE SPOLEČNOSTI FENOMÉN GOOGLE Z HISTORIE SPOLEČNOSTI Vyhledávač navrhli Sergey Brin a Larry Page v rámci svého výzkumu na Stanfordově univerzitě v Kalifornii, 1995 Jejich záměrem bylo najít lepší způsob, jak se orientovat

Více

Informační a znalostní systémy jako podpora rozhodování

Informační a znalostní systémy jako podpora rozhodování Informační systémy a technologie Informační a znalostní systémy jako podpora rozhodování Petr Moos - ČVUT VŠL Přerov listopad 2015 Analýza a syntéza systému Definici systému můžeme zapsat ve tvaru: S =

Více

Sémantický web a extrakce

Sémantický web a extrakce Sémantický web a extrakce informací Martin Kavalec kavalec@vse.cz Katedra informačního a znalostního inženýrství FIS VŠE Seminář KEG, 11. 11. 2004 p.1 Přehled témat Vize sémantického webu Extrakce informací

Více

Maturitní otázky z předmětu PROGRAMOVÁNÍ

Maturitní otázky z předmětu PROGRAMOVÁNÍ Wichterlovo gymnázium, Ostrava-Poruba, příspěvková organizace Maturitní otázky z předmětu PROGRAMOVÁNÍ 1. Algoritmus a jeho vlastnosti algoritmus a jeho vlastnosti, formy zápisu algoritmu ověřování správnosti

Více

Databázové systémy. Doc.Ing.Miloš Koch,CSc. koch@fbm.vutbr.cz

Databázové systémy. Doc.Ing.Miloš Koch,CSc. koch@fbm.vutbr.cz Databázové systémy Doc.Ing.Miloš Koch,CSc. koch@fbm.vutbr.cz Vývoj databázových systémů Ukládání dat Aktualizace dat Vyhledávání dat Třídění dat Výpočty a agregace 60.-70. léta Program Komunikace Výpočty

Více

DBS Konceptuální modelování

DBS Konceptuální modelování DBS Konceptuální modelování Michal Valenta Katedra softwarového inženýrství FIT České vysoké učení technické v Praze Michal.Valenta@fit.cvut.cz c Michal Valenta, 2010 BIVŠ DBS I, ZS 2010/11 https://users.fit.cvut.cz/

Více

Alena Malovaná, MAL305

Alena Malovaná, MAL305 Alena Malovaná, MAL305 GML WFS WMF Geografický značkovací jazyk (Geographic Markup Language - GML) Jedná se o velmi rozšířený standard pro popis geodat umožňující sdílení i integraci dat. Jeho základem

Více

Pokyny pro zpracování závěrečné práce

Pokyny pro zpracování závěrečné práce Pokyny pro zpracování závěrečné práce SOUTĚŢE VODA A ŢIVOTNÍ PROSTŘEDÍ MORAVSKOSLEZSKÉHO KRAJE V rámci projektu MOST - TECH CZ.1.07/1.1.07/02.0100 Motivace studentů ke studiu technických oborů OSTRAVA

Více

24 Uživatelské výběry

24 Uživatelské výběry 24 Uživatelské výběry Uživatelský modul Uživatelské výběry slouží k vytváření, správě a následnému používání tématicky seskupených osob a organizací včetně jejich kontaktních údajů. Modul umožňuje hromadnou

Více

Tovek Tools. Tovek Tools jsou standardně dodávány ve dvou variantách: Tovek Tools Search Pack Tovek Tools Analyst Pack. Připojené informační zdroje

Tovek Tools. Tovek Tools jsou standardně dodávány ve dvou variantách: Tovek Tools Search Pack Tovek Tools Analyst Pack. Připojené informační zdroje jsou souborem klientských desktopových aplikací určených k indexování dat, vyhledávání informací, tvorbě různých typů analýz a vytváření přehledů a rešerší. Jsou vhodné pro práci s velkým objemem textových

Více

Linked Data a jazyk RDF

Linked Data a jazyk RDF Linked Data a jazyk RDF Doc. Ing. Vojtěch Svátek, Dr. Zimní semestr 2016 http://nb.vse.cz/~svatek/rzzw.html Osnova přednášky Strukturovaná data na webu - přehled Principy Linked Data Jazyk RDF Hlavní syntaxe

Více

Vstupní požadavky, doporučení a metodické pokyny

Vstupní požadavky, doporučení a metodické pokyny Název modulu: Základy PHP Označení: C9 Stručná charakteristika modulu Modul je orientován na tvorbu dynamických stánek aktualizovaných podle kontextu volání. Jazyk PHP umožňuje velmi jednoduchým způsobem

Více

Open Bibliography Data. ( Matouš Jobánek

Open Bibliography Data. (  Matouš Jobánek Open Bibliography Data (http://openbiblio.net/) Matouš Jobánek Brno, podzim 2011 1. 12. 2011 Úvod V průběhu několika posledních let došlo ve společnosti k významnému rozšíření okruhu znalostí, které jsou

Více

Střední průmyslová škola elektrotechnická Praha 10, V Úžlabině 320

Střední průmyslová škola elektrotechnická Praha 10, V Úžlabině 320 Střední průmyslová škola elektrotechnická Praha 10, V Úžlabině 320 M A T U R I T N Í T É M A T A P Ř E D M Ě T U P R O G R A M O V É V Y B A V E N Í Studijní obor: 18-20-M/01 Informační technologie Školní

Více

PHP framework Nette. Kapitola 1. 1.1 Úvod. 1.2 Architektura Nette

PHP framework Nette. Kapitola 1. 1.1 Úvod. 1.2 Architektura Nette Kapitola 1 PHP framework Nette 1.1 Úvod Zkratka PHP (z anglického PHP: Hypertext Preprocessor) označuje populární skriptovací jazyk primárně navržený pro vývoj webových aplikací. Jeho oblíbenost vyplývá

Více

MODULÁRNÍ REDAKČNÍ SYSTÉM (CMS), SE ZAMĚŘENÍM PRO FIREMNÍ

MODULÁRNÍ REDAKČNÍ SYSTÉM (CMS), SE ZAMĚŘENÍM PRO FIREMNÍ MODULÁRNÍ REDAKČNÍ SYSTÉM (CMS), SE ZAMĚŘENÍM PRO FIREMNÍ PREZENTACI Petr Minařík 2.2.2010 ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE ZADÁNÍ PRÁCE Seznámení se s současnými redakčními systémy vyuţívanými pro

Více

MBI - technologická realizace modelu

MBI - technologická realizace modelu MBI - technologická realizace modelu 22.1.2015 MBI, Management byznys informatiky Snímek 1 Agenda Technická realizace portálu MBI. Cíle a principy technického řešení. 1.Obsah portálu - objekty v hierarchiích,

Více

Tento příklad popíše asi nejzákladnější promoci. Kdyţ si zákazník koupí 3 kusy, dva kusy zaplatí a jeden dostane zdarma.

Tento příklad popíše asi nejzákladnější promoci. Kdyţ si zákazník koupí 3 kusy, dva kusy zaplatí a jeden dostane zdarma. 3.5.11 PŘÍKLADY PROMOCÍ Tato kapitola neslouţí k popisu nějaké zvláštní agendy nebo funkce, ale měla by slouţit k objasnění a ukázaní práce s promocemi. Promoce jsou poměrně logicky sloţitá záleţitost,

Více

MODELOVÁNÍ DAT V INFORMAČNÍCH SYSTÉMECH. Jindřich Kaluža Ludmila Kalužová

MODELOVÁNÍ DAT V INFORMAČNÍCH SYSTÉMECH. Jindřich Kaluža Ludmila Kalužová MODELOVÁNÍ DAT V INFORMAČNÍCH SYSTÉMECH Jindřich Kaluža Ludmila Kalužová Recenzenti: prof. Ing. Milan Turčáni, CSc. prof. Ing. Ivan Vrana, DrSc. Tato kniha vznikla za finanční podpory Studentské grantové

Více

Jazyky pro popis dat

Jazyky pro popis dat Realizováno za finanční podpory ESF a státního rozpočtu ČR v rámci v projektu Zkvalitnění a rozšíření možností studia na TUL pro studenty se SVP reg. č. CZ.1.07/2.2.00/29.0011 Jazyky pro popis dat Pavel

Více

MULTIMEDIÁLNÍ A HYPERMEDIÁLNÍ SYSTÉMY

MULTIMEDIÁLNÍ A HYPERMEDIÁLNÍ SYSTÉMY MULTIMEDIÁLNÍ A HYPERMEDIÁLNÍ SYSTÉMY 1) Úvod do problematiky Petr Lobaz, 18. 2. 2004 ORGANIZACE PŘ EDMĚ TU POŽADAVKY KE ZKOUŠCE vypracování semestrální práce (max. 70 bodů) napsání testu (max. 30 bodů)

Více

Internet - základní pojmy

Internet - základní pojmy Název školy: Střední odborná škola stavební Karlovy Vary Sabinovo náměstí 16, 360 09 Karlovy Vary Autor: Ing. Hana Šmídová Název materiálu: VY_32_INOVACE_07_INTERNET_P2 Číslo projektu: CZ 1.07/1.5.00/34.1077

Více

Název: On-line tvorba webu Anotace:

Název: On-line tvorba webu Anotace: Registrační číslo projektu: CZ.1.07/1.4.00/21.3712 Škola adresa: Základní škola T. G. Masaryka Ivančice, Na Brněnce 1, okres Brno-venkov, příspěvková organizace Na Brněnce 1, Ivančice, okres Brno-venkov

Více

Management projektů. Programová podpora auditu sytému managementu kvality HOT 4IT. Plán projektu

Management projektů. Programová podpora auditu sytému managementu kvality HOT 4IT. Plán projektu Management projektů Programová podpora auditu sytému managementu kvality HOT 4IT Plán projektu Historie Verze Datum Status Kdo Poznámka 0.1 8. 4. 2010 Špaček Petr Vytvoření 0.2 11. 4. 2010 Špaček Petr

Více

14. Jazyk HTML (vývoj, principy, funkce, kostra stránky). Jazyk XML, XHTML. Algoritmizace - cyklus for, while a do while, implementace v jazyce

14. Jazyk HTML (vývoj, principy, funkce, kostra stránky). Jazyk XML, XHTML. Algoritmizace - cyklus for, while a do while, implementace v jazyce 4. Jazyk HTML (vývoj, principy, funkce, kostra stránky). Jazyk XML, XHTML. Algoritmizace - cyklus for, while a do while, implementace v jazyce PHP. HyperText Markup Language Z Wikipedie, otevřené encyklopedie

Více

Nové jazykové brány do Caché. Daniel Kutáč

Nové jazykové brány do Caché. Daniel Kutáč Nové jazykové brány do Caché Daniel Kutáč O čem budeme mluvit.net T/SQL Perl Python MultiValue Basic Téma.NET provider .NET Provider Co lze již dnes Factory / VisM ODBC.NET Web Services Factory a VisM

Více

1 Webový server, instalace PHP a MySQL 13

1 Webový server, instalace PHP a MySQL 13 Úvod 11 1 Webový server, instalace PHP a MySQL 13 Princip funkce webové aplikace 13 PHP 14 Principy tvorby a správy webového serveru a vývojářského počítače 14 Co je nezbytné k instalaci místního vývojářského

Více

Otevřená data veřejné správy

Otevřená data veřejné správy Seminář Digitální výzvy 2012 8.11.2012 Otevřená data veřejné správy Dušan Chlapek 1, Jan Kučera 1, Martin Nečaský 2 1 Fakulta informatiky a statistiky, Vysoká škola ekonomická v Praze 2 Matematicko-fyzikální

Více

Tovek Server. Tovek Server nabízí následující základní a servisní funkce: Bezpečnost Statistiky Locale

Tovek Server. Tovek Server nabízí následující základní a servisní funkce: Bezpečnost Statistiky Locale je serverová aplikace určená pro efektivní zpracování velkého objemu sdílených nestrukturovaných dat. Umožňuje automaticky indexovat data z různých informačních zdrojů, intuitivně vyhledávat informace,

Více

PRODUKTY. Tovek Tools

PRODUKTY. Tovek Tools jsou desktopovou aplikací určenou k vyhledávání informací, tvorbě různých typů analýz a vytváření přehledů a rešerší. Jsou vhodné pro práci i s velkým objemem textových dat z různorodých informačních zdrojů.

Více

Vývoj informačních systémů. Obecně o IS

Vývoj informačních systémů. Obecně o IS Vývoj informačních systémů Obecně o IS Informační systém Informační systém je propojení informačních technologií a lidských aktivit směřující k zajištění podpory procesů v organizaci. V širším slova smyslu

Více

SOFISTIKOVANÉ NÁSTROJE PRO JEDNODUCHOU TVORBU PROFESIONÁLNÍCH WEBOVÝCH PREZENTACÍ

SOFISTIKOVANÉ NÁSTROJE PRO JEDNODUCHOU TVORBU PROFESIONÁLNÍCH WEBOVÝCH PREZENTACÍ Slezská univerzita v Opavě Obchodně podnikatelská fakulta v Karviné SOFISTIKOVANÉ NÁSTROJE PRO JEDNODUCHOU TVORBU PROFESIONÁLNÍCH WEBOVÝCH PREZENTACÍ Distanční studijní opora Jména autorů Ing. Josef Botlík

Více

UML. Unified Modeling Language. Součásti UML

UML. Unified Modeling Language. Součásti UML UML Unified Modeling Language 1995 počátek 1997 verze 1.0 leden dnes verze 2.0 (vývoj stále nedokončen) Standardní notace OMG podpora velkých firem (Microsoft, IBM, Oracle, HP ) popisuje struktury popisuje

Více

Využití informačních technologií v cestovním ruchu P1

Využití informačních technologií v cestovním ruchu P1 Využití informačních technologií v cestovním ruchu P1 Pavel Petr Petr.USII@upce.cz 1 Obsah kurzu Princip vyhledávání Definování vyhledávacích požadavků Vyhledávací nástroje Zdroje informací Nástroje pro

Více

Autor. Potřeba aplikací sdílet a udržovat informace o službách, uživatelích nebo jiných objektech

Autor. Potřeba aplikací sdílet a udržovat informace o službách, uživatelích nebo jiných objektech Adresářová služba X.500 a LDAP Autor Martin Lasoň Abstrakt Potřeba aplikací sdílet a udržovat informace o službách, uživatelích nebo jiných objektech vedla ke vzniku specializovaných databází adresářů.

Více

Datová věda (Data Science) akademický navazující magisterský program

Datová věda (Data Science) akademický navazující magisterský program Datová věda () akademický navazující magisterský program Reaguje na potřebu, kterou vyvolala rychle rostoucí produkce komplexních, obvykle rozsáhlých dat ve vědě, v průmyslu a obecně v hospodářských činnostech.

Více

1.1 Seznámení s programy Office

1.1 Seznámení s programy Office Název školy Číslo projektu Autor Název šablony Název DUMu Tematická oblast Předmět Druh učebního materiálu Anotace Vybavení, pomůcky Střední průmyslová škola strojnická Vsetín CZ.1.07/1.5.00/34.0483 Ing.

Více

HLEDEJCENY.mobi. Obsah. Mobilní verze e-shopu. Důvody instalace

HLEDEJCENY.mobi. Obsah. Mobilní verze e-shopu. Důvody instalace Obsah HLEDEJCENY.mobi Mezi Vodami 1952/9 e-mail: info@hledejceny.cz HLEDEJCENY.mobi... 1 Mobilní verze e-shopu... 1 Důvody instalace... 1 Výhody... 2 Co je k mobilní verzi potřeba... 2 Objednávka služby...

Více

Marketingová komunikace. 2. a 3. soustředění. Mgr. Pavel Vávra 9103@mail.vsfs.cz. Kombinované studium Skupina N9KMK3PH (vm3aph)

Marketingová komunikace. 2. a 3. soustředění. Mgr. Pavel Vávra 9103@mail.vsfs.cz. Kombinované studium Skupina N9KMK3PH (vm3aph) Marketingová komunikace Kombinované studium Skupina N9KMK3PH (vm3aph) 2. a 3. soustředění Mgr. Pavel Vávra 9103@mail.vsfs.cz http://vavra.webzdarma.cz/home/index.htm Co nás čeká: 2. soustředění 16.1.2009

Více

Vilém Sklenák Inforum2009,

Vilém Sklenák Inforum2009, Sémantické vyhledávání je blíže? Vilém Sklenák sklenak@vse.cz Vysoká škola ekonomická, fakulta informatiky a statistiky, katedra informačního a znalostního inženýrství Inforum2009, 27. 5. 2009 Vilém Sklenák

Více

1. Webové služby. K čemu slouží? 2. RPC Web Service. 3. SOA Web Service. 4. RESTful Web services

1. Webové služby. K čemu slouží? 2. RPC Web Service. 3. SOA Web Service. 4. RESTful Web services 13. Webové služby. K čemu slouží? Popis a vyhledávání služeb. Co je a k čemu slouží orchestrace a choreografie služeb. Technologie pro implementaci služeb 1. Webové služby. K čemu slouží? Definice WS -

Více

Tabulkový procesor. Základní rysy

Tabulkový procesor. Základní rysy Tabulkový procesor Tabulkový procesor je počítačový program zpracovávající data uložená v buňkách tabulky. Program umožňuje použití vzorců pro práci s daty a zobrazuje výsledné hodnoty podle vstupních

Více

Analýza podkladů pro návrh datového VF XML DTM DMVS

Analýza podkladů pro návrh datového VF XML DTM DMVS Analýza podkladů pro návrh datového modelu VF XML DTM DMVS Verze 1.0 VF XML DTM DMVS Objednatel Zhotovitel Plzeňský kraj Datum 30. 6. 2016 Etapa Fáze GEOREAL spol. s r. o.; Západočeská univerzita v Plzni,

Více

Tvorba informačních systémů

Tvorba informačních systémů Tvorba informačních systémů Michal Krátký 1, Miroslav Beneš 1 1 Katedra informatiky VŠB Technická univerzita Ostrava Tvorba informačních systémů, 2005/2006 c 2006 Michal Krátký, Miroslav Beneš Tvorba informačních

Více

Zaměření Webové inženýrství doc. Ing. Tomáš Vitvar, Ph.D. Katedra softwarového inženýrství Fakulta informačních technologií České vysovké učení technické v Praze Den otevřených dveří 20.2.2014 http://www.fit.cvut.cz

Více

Maturitní otázka webové stránky (technologie tvorby webu) Co znamená pojem Web? Web, www stránky, celým názvem World Wide Web,

Maturitní otázka webové stránky (technologie tvorby webu) Co znamená pojem Web? Web, www stránky, celým názvem World Wide Web, Maturitní otázka webové stránky (technologie tvorby webu) Co znamená pojem Web? Web, www stránky, celým názvem World Wide Web, v doslovném překladu "světová rozsáhlá síť neboli celosvětová síť, je označení

Více

1. Webový server, instalace PHP a MySQL 13

1. Webový server, instalace PHP a MySQL 13 Úvod 11 1. Webový server, instalace PHP a MySQL 13 Princip funkce webové aplikace 13 PHP 14 Principy tvorby a správy webového serveru a vývojářského počítače 14 Co je nezbytné k instalaci místního vývojářského

Více

Formy komunikace s knihovnami

Formy komunikace s knihovnami Formy komunikace s knihovnami Současné moderní prostředky Jiří Šilha a Jiří Tobiáš, Tritius Solutions a.s., Brno Osnova Základní požadavky na komunikaci s knihovnami Historie komunikace s knihovnami Confluence

Více

Systémy pro tvorbu digitálních knihoven

Systémy pro tvorbu digitálních knihoven Systémy pro tvorbu digitálních knihoven Vlastimil Krejčíř, krejcir@ics.muni.cz Ústav výpočetní techniky, Masarykova univerzita, Brno INFORUM 2006, Praha Obsah přednášky Úvod Fedora DSpace EPrints CDSware

Více