Metody ukládání ontologií

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

Download "Metody ukládání ontologií"

Transkript

1 České vysoké učení technické v Praze Fakulta elektrotechnická Katedra kybernetiky Metody ukládání ontologií Diplomová práce květen 2004 Michal Burian

2 Prohlášení Prohlašuji, že jsem svou diplomovou práci vypracoval samostatně a použil jsem pouze podklady (literaturu, projekty, SW atd.) uvedené v přiloženém seznamu. Nemám závažný důvod proti užití tohoto školního díla ve smyslu 60 Zákona č.121/2000 Sb., o právu autorském, o právech souvisejících s právem autorským a o změně některých zákonů (autorský zákon). V Praze dne 13. května 2004

3 Poděkování V úvodu bych rád poděkoval vedoucímu diplomové práce Ing. Petru Aubrechtovi z Katedry kybernetiky FEL ČVUT za pečlivé přečtení textu, cenné rady a připomínky k práci. Dále bych chtěl poděkovat svým rodičům za veškerou podporu, které se mi v průběhu studia nejen na vysoké škole dostalo. Děkuji i všem nejmenovaným, kteří mi jiným způsobem pomohli při tvorbě této práce.

4 Abstrakt V této diplomové práci se čtenář seznámí s pojmy z oblasti ontologického inženýrství. Práce se zaměřuje na popis struktury ontologií a jejich formální reprezentace. Zabývá se tradičními (CycL, KIF, Ontolingua, OCML, OKBC) a zejména webově orientovanými (SHOE, XMLS, XOL, RDFS, DAML ONT, OIL, DAML+OIL, OWL) ontologickými jazyky. Ukázkami zdrojových kódů jsou ilustrovány vlastnosti a vzájemné odlišnosti jednotlivých ontologických jazyků. Součástí této práce je i stručný přehled nejznámějších editorů ontologií a nástrojů pro tvorbu sémantických anotací. Na závěr je popsán nástroj RAT O jako aplikace inteligentního přístupu k anotování informačních zdrojů pomocí ontologií. Abstract This diploma thesis introduces concepts of the ontological engineering domain. The focus of the thesis is on ontology structure description and formal representation. It deals with traditional (CycL, KIF, Ontolingua, OCML, OKBC) and particularly web oriented (SHOE, XMLS, XOL, RDFS, DAML ONT, OIL, DAML+OIL, OWL) ontology languages. By source code samples features and differences among particular ontology languages are illustrated. The thesis contains a succinct overview of the best known ontology editors and semantic annotation tools. In the end of the thesis, there is a description of RAT O tool as an application of intelligent approach to annotating information resources using ontologies.

5 Obsah 1 Úvod Cíl diplomové práce Poznámky k textu Ontologie Pojem ontologie Význam ontologií Typy ontologií Rozdělení podle historického hlediska Rozdělení podle míry formalizace Rozdělení podle předmětu formalizace Struktura ontologií Třídy, koncepty, kategorie, rámce Individua, instance Relace, funkce, sloty, vlastnosti, role, atributy Meta sloty, omezení na sloty, facety Primitivní hodnoty a datové typy Axiomy, pravidla Souhrnné informace Formální reprezentace ontologií Editory ontologií OntoEdit OilEd WebOnto Apollo Protégé Existující ontologie Praktické aplikace Nástroje pro vytváření anotací Jazyky pro modelování ontologií Tradiční ontologické jazyky CycL

6 OBSAH KIF Ontolingua OCML OKBC Webově orientované ontologické jazyky SHOE XML, XML Schema XOL RDF, RDF Schema DAML ONT OIL DAML+OIL OWL Alternativy k ontologickým jazykům UML Topic Maps Poznámky k vývoji ontologických jazyků RAT O Architektura aplikace Popis systémových komponent Implementační prostředí Technologie na straně klienta Technologie na straně serveru Datový model aplikace Implementace RAT serveru Komunikace klient server Uložení dat Módy serveru Závěr 50 A Instalace nástroje RAT-O 55 B Adresářová struktura RAT serveru 57 C Implementované třídy RAT serveru 58 D Datové typy 59

7 Seznam obrázků 2.1 Znázornění hierarchie objektů orientovaným grafem Pyramida webově orientovaných ontologických jazyků Příklad grafové reprezentace RDF Diagram tříd v UML Architektura RAT O Architektura JSP Datový model RAT O Správa datových položek Vyhledávání anotací

8 Seznam tabulek 3.1 Konstruktory tříd v OWL Typy axiomů v OWL B.1 Adresářová struktura RAT serveru B.2 Adresářová struktura adresáře jsp

9 Kapitola 1 Úvod Hlavním důvodem, proč si ontologie v posledních letech vysloužily tolik pozornosti, je nepochybně vize sémantického webu. Jedná se o novou technologii poskytování a sdílení informací na Internetu, která má podstatně usnadnit jejich vyhledávání. Mechanismem, který má dokumentům poskytnout sémantickou informaci, jsou právě ontologie. Současný web má jedno zásadní omezení. Informace jsou na něm prezentovány tak, aby byly dobře čitelné pro člověka. To, co je však bez obtíží srozumitelné člověku, nemusí být zdaleka tak dobře pochopitelné počítači. Chceme li získat nějakou informaci, musíme se spoléhat na služby internetových portálů, které seskupují stránky na WWW podle témat, nebo svěřit svůj dotaz některému z fulltextových vyhledávačů. Obě možnosti mají své nevýhody. Internetový portál je velice náročný na údržbu. Je nutné neustále aktualizovat databázi se stávajícími odkazy, zpravidla manuálně. Fulltextové vyhledávače nevyžadují zásah člověka, bohužel však neberou v úvahu téma zadaných stránek. Výsledkem vyhledávání je tak často velmi dlouhý seznam odkazů na stránky, které sice odpovídají dotazu, ale jen malé procento z nich obsahuje skutečně hledané informace. Návrh sémantického webu počítá s existencí inteligentních vyhledávacích agentů softwarových nástrojů, které dokáží efektivně procházet Internet a a vybírat pouze relevantní informace. Jsou schopni odpovědět na složité uživatelské dotazy v krátkých časových intervalech. Úkolem těchto agentů nebude pouze porozumět významu prohledávaných dat, ale také nacházet souvislosti mezi již známými skutečnostmi. Spojíme li tyto vlastnosti s existencí téměř neomezeného zdroje informací, kterým Internet dozajista je, získáme obrovský potenciál. 1.1 Cíl diplomové práce Tato diplomová práce si klade za cíl vysvětlit čtenáři pojmy z oblasti ontologického inženýrství a vytvořit alespoň základní přehled současného stavu této široké problematiky. 6

10 KAPITOLA 1. ÚVOD 7 Čtenář se postupně seznámí s pojmem ontologie, se strukturou ontologií, jejich konstrukty a používanou terminologií. Prostor je vyhrazen i popisu editorů ontologií (Apollo, OntoEdit, OilEd, Protége, WebOnto) a praktickým aplikacím, zejména nástrojům pro vytváření anotací (Annotea, OntoAnnotate, Ontomat, RAT O, SHOE Annotator, UBOT). Hlavní kapitola je věnována jazykům pro modelování ontologií. Kromě tradičních ontologických jazyků (CycL, KIF, Ontolingua, OCML, OKBC) je pozornost věnována webově orientovaným jazykům (SHOE, XML Schema, XOL, RDF Schema, DAML ONT, OIL, DAML+OIL, OWL) a také možným alternativám ontologických jazyků (Topic Maps, UML). Popis jazyků je doplněn ukázkami zdrojových kódů, na kterých jsou ilustrovány vlastnosti a vzájemné odlišnosti jednotlivých ontologických jazyků. Na závěr se čtenář podrobněji seznámí s nástrojem pro tvorbu a vyhledávání sémantických anotací RAT O. Hlavní důraz je kladen na popis návrhu a implementace jeho systémové komponenty RAT server. 1.2 Poznámky k textu Je vhodné čtenáře upozornit na rychlý vývoj v oblasti ontologií (vznikají stále nové ontologické jazyky, nástroje pro tvorbu ontologií, atd.). Důsledkem toho mohou být v době čtení tohoto textu některé informace zastaralé nebo dokonce neplatné. Při tvorbě diplomové práce mi byly nápomocny informace ze zdrojů, které nebylo možno citovat v textu samotném. Jsou to stránky konsorcia W3C [36], iniciativa Semantic Web [29], projekt OntoWeb [23], příspěvek V. Svátka na konferenci Datakon [50] a diplomová práce M. Falce [46]. Odborná terminologie oblasti, která je předmětem zájmu této práce, vychází téměř výhradně z anglického jazyka. Čeština nemá některé termíny zcela ustálené, nebo dokonce pro některé nemá vlastní překlad vůbec. Přesto se v textu snažím používat české pojmy, v závorce však často uvádím originální (anglický) tvar daného pojmu. Původní termíny vždy označuji jiným fontem a v základním tvaru (podstatná jména v prvním pádě jednotného čísla a slovesa v infinitivu), přestože to v některých případech zcela neodpovídá použití ve větě. Například: Mezi nejčastější omezení na fasety (facet) patří kardinalita (cardinality). Na místech, kde je zmíněna část kódu nebo přímo v příkladech obsahujících zdrojový kód, používám font odlišný od zbylého textu. Například: Důležitou vlastnost třídy woman definuje slot visage.

11 Kapitola 2 Ontologie Již od sedmdesátých let se začaly ve světě informatiky formovat dvě komunity vycházející z téže koncepce zachycení struktury reálného světa pomocí tříd uspořádaných do hierarchie, kterým pak lze přiřazovat objekty neboli instance. Pro první z nich je charakteristické používání terminologie odvozené od výrazu objekt, ve druhé se spíše hovořilo o rámcích (frames) [43]. Objektový přístup se rychle vymezil v rámci hlavního proudu softwarového inženýrství, směřujícího k vývoji informačních systémů pro běžné použití, a získal v něm významné postavení. Systémy založené na rámcích byly naopak předmětem zájmu akademického výzkumu, jako jeden z přístupů k reprezentaci znalostí v tzv. umělé inteligenci. Od počátku sloužily pro vývoj speciálních aplikací vyžadujících vedle běžných výpočtů také logické odvozování, do jisté míry simulující lidský úsudek. Jejich rozšíření do praxe bylo minimální vzhledem ke složitosti jejich návrhu a údržby a malé přívětivosti používaných vývojových jazyků (zejména LISP). V době útlumu zájmu o aplikace umělé inteligence v osmdesátých letech se v oblasti rámců rozvíjel zejména teoretický směr, usilující o jejich podepření propracovanými logickými kalkuly. Těmi se stala na jedné straně rodina rámcových kalkulů, na druhé straně pak rozsáhlý soubor podtypů deskripční logiky. Zatímco rámcové kalkuly přímo respektují podobu rámcových systémů (hierarchie tříd s atributy, doplněná o odvozovací pravidla), deskripční logika jde svou vlastní cestou logickou teorii vymezuje jako soubor axiomů přiřazujících pojmenovaným třídám logické výrazy, kterým jsou tyto třídy ekvivalentní nebo jsou v nich zahrnuty. V devadesátých letech se zájem v oblasti rámcových systémů posunul od technologie odvozování k problematice sdílení a znovupoužívání znalostí napříč systémy a aplikacemi. To však nebylo možné, dokud systémy používaly každý svůj vlastní pojmový systém (konceptualizaci). Vyvstala proto potřeba zabezpečení jednotné sémantiky pojmů sdíleným modelem, pro který byl T. Gruberem zaveden pojem ontologie (ontology). Nově vzniklý obor ontologické inženýrství se po několik let rozvíjel v rámci znalostního inženýrství, stále ještě mimo dohled praxe. Až na konci 90. let zájem o ontologie výrazně stoupá a diskuse o nich začíná pronikat i na stránky prakticky oriento- 8

12 KAPITOLA 2. ONTOLOGIE 9 vaných magazínů. Je to v souvislosti s formulací ambiciózního projektu sémantického webu, u jehož kolébky stojí sám zakladatel WWW a ředitel konsorcia W3C, Tim Berners Lee. Hlavním nástrojem, který má novému webu zabezpečit sémantiku (chápanou jako využitelnost webových informací pro strojové odvozování) jsou právě ontologie. 2.1 Pojem ontologie Je vhodné poznamenat, že pojem ontologie v informatice je spíše jen volně spjat s filosofickým pojmem ontologie. Ve filosofii se ontologie chápe jako soustava znalostí popisující objekty, jevy a zákonitosti světa tak jak je (tj. maximálně nezávisle na lidském usuzování o něm). Ontologie jako předmět ontologického inženýrství je do jisté míry z tohoto odvozena: popisuje to, co existuje a může být tudíž reprezentováno v informačním systému. V celé zbývající části textu se již budeme zabývat pouze informatickým pojetím ontologie a pokusíme se nejprve o jeho přesnější vymezení. Po zavedení pojmu ontologie vznikla postupně celá řada definic, všechny se do značné míry překrývají. Zde si uvedeme pouze definici formulovanou T. Gruberem: ontologie je explicitní specifikace konceptualizace [47] a její modifikaci provedenou W. Borstem:... formální specifikace sdílené konceptualizace [45]. V první se požaduje pouze to, že konceptualizace (tj. systém pojmů modelující určitou část světa) musí být specifikována explicitně, tj. nikoliv jen skryta v hlavě svého autora. Ve druhé již vystupuje požadavek jednak na formalizaci, tj. použití jazyka s přesně definovanou syntaxí, jednak na sdílenost ontologie není individuální záležitostí, nýbrž je výsledkem konsensu určité zájmové skupiny lidí. Tyto dva dodatečné požadavky již ovšem nebývají striktně dodržovány. Z hlediska znalostního inženýrství lze ontologie používané v procesu vývoje znalostní aplikace rovněž chápat jako znalostní modely, tedy abstraktní popisy určité části znalostního systému, které jsou relativně nezávislé na finální reprezentaci a implementaci znalostí. 2.2 Význam ontologií Ontologie představují klíčovou technologii sémantického webu. Umožňují, aby použité symboly byly jednak srozumitelné člověku, jednak strojově zpracovatelné. Počátkem devadesátých let se ontologiím věnovaly různé výzkumné komunity, a to včetně znalostního inženýrství, zpracování přirozeného jazyka nebo reprezentace znalostí. Ještě dříve pronikly ontologie do takových oblastí, jako jsou inteligentní vyhledávání informací, integrace informací, kooperativní informační systémy, elektronické obchodování a knowledge management.

13 KAPITOLA 2. ONTOLOGIE 10 Příčina popularity ontologií v tak rozmanitých oblastech tkví v tom, co nabízejí: obecné porozumění předmětné oblasti ve formě vhodné pro komunikaci mezi člověkem a aplikacemi, sdílení více procesy (např. softwarovými agenty) v rámci jedné aplikace, znovupoužitelnost pro různé aplikace, které mohou být oddělené časově, prostorově i personálně. Oblasti konkrétních aplikací si představíme v části Typy ontologií Pod pojmem ontologie se skrývá mnoho rozdílných informačních struktur. Zde si stručně uvedeme hlavní dimenze členění (volně zpracováno podle [51]) Rozdělení podle historického hlediska Je zřejmé, že ontologie nejsou v informatice něčím zcela novým, zásadně odlišným. Informační zdroje s obdobnou strukturou se již dříve vyskytovaly v různých disciplínách. V důsledku toho se problematika ontologií rozpadá (byť ne zcela disjunktně) na přinejmenším tři hlavní oblasti, které lze chápat jako součást vývoje tradičnějších oborů. Přestože se v důsledku vzájemných kontaktů všech tří odborných komunit v poslední době řada odlišností stírá, vědomí jejich existence stále ještě usnadňuje orientaci v používaných přístupech. Tento text se zabývá převážně znalostními ontologiemi. Terminologické ontologie Terminologické či lexikální ontologie lze ztotožnit s pokročilými tezaury, používanými v knihovnictví a dalších oborech orientovaných na textové zdroje. Ve srovnání s oběma zbývajícími typy ontologií (informačními a znalostními), které lze souhrnně charakterizovat jako konceptuální, je jejich charakteristickým rysem ústřední role termínů, které již nejsou dále (formálně) definovány. Používané relace mají z velké části taxonomický charakter (vymezení vztahu obecnějšího a speciálnějšího termínu), vedle toho bývá vyjádřena synonymie, meronymie (vztah termínů označujících celek a jeho část) a další relace obecného charakteru. Nejznámější terminologická ontologie je nepochybně WordNet [38], z něj byl odvozen např. Sensus [30] nebo vícejazyčná varianta EuroWordNet [11].

14 KAPITOLA 2. ONTOLOGIE 11 Informační ontologie Informační ontologie jsou rozvinutím databázových konceptuálních schémat. Hrají roli nadstavby nad primárními (strukturovanými, např. relačně databázovými) zdroji, pro které zabezpečují jednak konceptuální abstrakci potřebnou pro pojmové dotazování, jednak vyšší úroveň kontroly integrity než běžné nástroje. Znalostní ontologie Znalostní ontologie navazují na výzkum v oblasti reprezentace znalostí v rámci umělé inteligence. Vazba na reálné objekty (instance) je oproti informačním ontologiím relativně volná. Třídy (koncepty) a relace jsou systematicky definovány prostřednictvím formálního jazyka Rozdělení podle míry formalizace Přestože je formalizace do jisté míry definiční vlastností ontologií, smysluplné využití mají i ontologie neformální. Jde zpravidla o glosáře, v nichž jsou jednotlivé pojmy vysvětleny přirozeným jazykem. Ontologie vyjádřené ve formálních jazycích pak lze dále rozlišovat podle formálně logických vlastností daného jazyka. Formálním jazykům pro reprezentaci ontologií se budeme věnovat v kapitole 3. Většina formálních ontologií v sobě ovšem svým způsobem zahrnují i ontologii neformální. Jednotlivé konstrukty bývají totiž vybaveny dokumentačních položkou, umožňující vyjádřit obsah přirozeným jazykem Rozdělení podle předmětu formalizace Jedná se o tradiční členění s řadou variant navržených různými autory, zde uvedeme pouze hlavní typy. Doménové ontologie Nejfrekventovanějším typem jsou doménové ontologie. Jejich předmětem je vždy určitá specifická věcná oblast, vymezená šířeji (např. celá problematika medicíny nebo fungování firmy) či úžeji (problematika určité choroby, poskytování úvěru apod.). Příklady doménových ontologií se širokým záběrem jsou Enterprise Ontology [9] nebo lékařská On9 [19]. Generické ontologie Generické ontologie usilují o zachycení obecných zákonitostí, které platí napříč věcnými oblastmi, např. problematiky času, vzájemné pozice objektů (topologie), skladby objektů z částí (mereologie) apod. Někdy se ještě výslovně vyčleňují tzv. ontologie vyšší úrovně (upper level), které usilují o zachycení nejobecnějších pojmů a vztahů,

15 KAPITOLA 2. ONTOLOGIE 12 jako základu taxonomické struktury každé další (např. doménové) ontologie. Nejnovějším výsledkem tohoto směru je SUMO Standard Upper Merged Ontology [35]. Ontologie typu common sense ( přirozeného rozumu ) mohou naopak obsahovat řadu velmi specifických, avšak relativně doménově nezávislých znalostí, které lidé používají v každodenním životě. Nejznámějším příkladem je Cyc, viz část Úlohové ontologie Jako úlohové ontologie jsou někdy označovány generické modely znalostních úloh a metod jejich řešení. Na rozdíl od ostatních ontologií, které zachycují znalosti o světě, se zaměřují na procesy odvozování. Mezi úlohy tradičně zachycené pomocí takových znalostních modelů patří např. diagnostika, konfigurace, nebo plánování. Aplikační ontologie Nejspecifičtější je aplikační ontologie. Vzniká ze souboru modelů, které jsou adaptovány pro konkrétní aplikaci. Zahrnují zpravidla doménovou i úlohovou část (a tím automaticky i generickou část). 2.4 Struktura ontologií Přestože je základní struktura znalostních ontologií prakticky ve všech hlavních jazycích a nástrojích obdobná, používaná terminologie se značně liší, což znesnadňuje orientaci. Největší rozdíl v tomto směru existuje mezi tradičními, silnými jazyky jako je Ontolingua (viz část 3.1.2) a novými, odlehčenými jazyky, zvláště webovými. Pokusíme se uvést všechny podstatné konstrukty, zaznamenat terminologické odlišnosti, a naopak vymezit vůči sobě pojmy, které se často nesprávně zaměňují. Potřebné příklady budou podány formou přirozeného jazyka, možnou syntaxi konstruktů naleznete až v kapitole 3 věnované formálním jazykům. Poznámka: Vymezení nový nelze chápat kalendářně. Stále vznikají i silné jazyky, naopak OKBC Lite (viz část 3.1.5) z poloviny devadesátých let je typickým příkladem odlehčeného Třídy, koncepty, kategorie, rámce Základem znalostních ontologií jsou třídy, které označují množiny objektů. Termínu třída odpovídá v některých formalismech termín koncept, popřípadě kategorie, a úzce souvisí i s termínem rámec jako základním konstruktem mnoha systémů umělé inteligence. Na rozdíl od tříd v objektově orientovaných modelech a jazycích nezahrnují ontologické třídy procedurální metody. Jejich interpretace je spíše odvozena z pojmu relace (viz níže), v tom smyslu, že třída odpovídá unární relaci na dané doméně

16 KAPITOLA 2. ONTOLOGIE 13 objektů. Třídy, pro které jsou specifikovány podmínky nutnosti i postačitelnosti se označují jako definované, ostatní třídy (u kterých jsou specifikovány jen nutné podmínky nebo ani ty ne) pak jako primitivní. V tradičních jazycích mohou mít tyto podmínky tvar libovolného logického výrazu, v odlehčených jazycích jsou přípustné jen předdefinované podmínky charakteru omezení na konkrétním slotu, viz níže. Na množině tříd bývá definována hierarchie. Přestože se někdy zdůrazňuje požadavek na stromovou strukturu, všechny hlavní ontologické jazyky podporují vícenásobnou dědičnost. Tato možnost se v praxi hojně využívá. Obr. 2.1: Příklad znázornění hierarchie objektů orientovaným grafem. Třída dříví je potomkem třídy palivo ale zároveň i strom. Jedná se tedy o vícenásobnou dědičnost. Hierarchii tříd lze znázornit orientovaným grafem (viz Obr. 2.1), který nesmí obsahovat cykly. Uzly tvoří jednotlivé třídy a hrany mezi uzly orientujeme od potomka k rodiči Individua, instance Individuum odpovídá konkrétnímu objektu reálného světa. Termín instance je často chápán jako ekvivalentní, asociuje však příslušnost k určité třídě, což nemusí být nutně skutečností. Individuum může být do ontologie vloženo i bez vazby na třídy. Je ovšem třeba si uvědomit, že ontologie principiálně slouží k popsání konceptů (tříd) a nikoliv faktů o konkrétních objektech. Některé jazyky proto individua jako součást ontologie interně nepodporují, a pokud je potřeba individuum využít např. ve výrazu definujícím příslušnost k určité třídě, pracují s ním jako s atomickou třídou. Příkladem takové definice je (ve slovním vyjádření) např.: X je instancí třídy anglicky--hovořící--člověk právě tehdy, když pro něj slot mluví--jazykem nabývá jedné z hodnot angličtina, přičemž individuum angličtina je instancí třídy jazyk.

17 KAPITOLA 2. ONTOLOGIE 14 Prohlášení určité entity za třídu nebo instanci často není dané objektivním stavem světa, ale závisí na úhlu pohledu. Typickým příkladem mohou být živočišné druhy: v ontologii popisující chování zvířat budou druhy (jakožto množiny svých příslušníků) zřejmě reprezentovány třídami, zatímco v ontologii fylogenetického vývoje půjde spíše o individua, mezi kterými budou definovány relace typu předchůdce Relace, funkce, sloty, vlastnosti, role, atributy Podobně jako v databázových modelech jsou podstatnou složkou ontologií vztahy čili relace n tic objektů. V tradičních jazycích mohou být pojmenované relace specifikovány pomocí libovolných logických podmínek. V odlehčených jazycích je možné pouze přiřadit jim předdefinovaná omezení, ať už globálně nebo lokálně (ve vazbě na určitou třídu), viz níže. Pro binární relace (na které se odlehčené jazyky omezují) se používá pojem slot, vzniklý v oblasti znalostních systémů založených na rámcích, popřípadě vlastnost (property). Na rozdíl od objektově orientovaného přístupu nejsou sloty napevno spojeny s žádnou třídou jako část její definice, a vazba na definiční je zprostředkována pouze omezeními, viz níže. Naopak ve vztahu k objektu, který je jeho hodnotou, se někdy slot označuje jako role. Například tvrzení hodnotou slotu matka pro objekt Karel je objekt Eliška lze vyjádřit jako objekt Eliška je v roli matka vůči objektu Karel. Jako zvláštní typ relace bývají chápány funkce. V souladu s běžným matematickým chápáním jde o relace, u nichž je hodnota n tého argumentu jednoznačně určena předchozími n 1 argumenty. Funkční slot se také označuje jako atribut, předpokládá se, že je definován pro všechny instance třídy. Podobně jako třídy mohou mít i relace (sloty) nad sebou definovanou hierarchii. Lze ji interpretovat tak, že množina n tic argumentů podřazené relace je podmnožinou množiny n tic argumentů nadřazené relace. Příkladem mohou být třeba dvojice binárních relací má--otce a má--předka Meta sloty, omezení na sloty, facety V ontologiích je možné slotům přiřazovat vlastnosti, mohli bychom je označit jako meta sloty. Nejčastějším meta slotem je právě hierarchický vztah podřazeného a nadřazeného slotu. Ten můžeme chápat tranzitivní binární relaci. Symetrickou binární relací je vztah slotu vůči slotu k němu inverznímu. Ostatní meta sloty odpovídají unárním relacím (vlastnostem slotu samotného). Vedle obecných matematických vlastností patří mezi vlastnosti slotů také definiční obor (domain) a obor hodnot (range), vymezené pomocí konkrétních tříd. Uvedené vlastnosti bychom mohli označit jako globální omezení, protože se vztahují ke slotu bez ohledu na způsob jeho použití. V řadě případů však potřebujeme vymezit hodnoty slotu aplikovaného na konkrétní třídu ze svého definičního oboru.

18 KAPITOLA 2. ONTOLOGIE 15 Taková lokální omezení na slotech (slot constraints) se označují jako facety. Lze je chápat jako ternární relaci mezi třídou, slotem a určitou hodnotou, např. slot X nabývá pro třídu Y hodnoty ze třídy Z. Jde zejména o omezení oboru hodnot slotu a jeho kardinality. Příkladem kombinovaného omezení na slot má otce aplikovaného na třídu osoba může být, že hodnotou je opět instance třídy osoba, a to právě jedna Primitivní hodnoty a datové typy Na začátku jsme si relaci vymezili jako popis vztahu mezi n ticí objektů. Nebylo to ovšem přesné. Argumenty relací (resp. hodnotami slotů, na které se dále omezíme) mohou být i primitivní hodnoty, které žádnému objektu neodpovídají. V tom případě hovoříme o tzv. dato typových slotech, na rozdíl od objektových slotů. Obor hodnot dato typového slotu bývá vymezen některým základním datovým typem (string, integer, float...), číselným či alfanumerickým intervalem, nebo výčtem. Někdy se primitivní hodnoty označují i jako dato typové instance: např. číslo 4 pak bude instancí datového typu integer. Pro objektově orientovaného informatika může být překvapivé, že sloty (včetně dato typových) mohou v principu nabývat více hodnot současně. Sloty odpovídající jednoznačným vlastnostem objektů (jako např. dato typový má hmotnost, podobně jako objektový má otce) se z toho důvodu explicitně deklarují jako funkční Axiomy, pravidla Vedle výrazů explicitně vymezujících příslušnost ke třídám a relacím je obvykle možné do ontologií zařazovat další logické formule, vyjadřující např. ekvivalenci tříd, disjunknost tříd, rozklad třídy na podtřídy apod.. Nejčastěji se označují jako axiomy. Ty mají buďto v ontologii zcela samostatné postavení (např. v OIL), nebo jsou syntakticky zařazeny jako součást definic tříd a relací (např. v Ontolingua nebo DAML+OIL), samy však vůči nim nemají definiční roli. V jazycích těsněji spjatých s určitým odvozovacím mechanismem (např. OCML) se spíše označují jako pravidla a mají i tomu odpovídající omezenější sémantiku Souhrnné informace Vedle jednotlivých znalostních konstruktů obsahují ontologie další, souhrnné údaje, umísťované nejčastěji do hlavičky. Patří sem zejména odkazy na importované (imported, included apod.) ontologie, jejichž obsah je do stávající ontologie začleněn implicitně. Dále může jít o dokumentační položku, údaje týkající se autora, verze, času vytvoření, způsobu vytvoření (informace o použitém editoru) apod. Tyto údaje ovšem nemají význam pro logickou interpretaci ontologie.

19 KAPITOLA 2. ONTOLOGIE Formální reprezentace ontologií Problém formální reprezentace ontologií je značně rozsáhlý, a protože je to jedno z hlavních témat této práce, rozebereme jej v samostatné kapitole (viz kap. 3). Kapitola obsahuje přehled základních jazyků používaných pro reprezentaci ontologií, uvádíme ukázky jejich zdrojových kódů společně s vysvětlujícím komentářem, upozorníme na zajímavé vlastnosti jednotlivých reprezentací. V závěru se pokusíme jazyky vzájemně srovnat. 2.6 Editory ontologií Přestože lze prakticky všechny ontologické jazyky zpracovávat běžným textovým editorem, jejich rutinní používání je obtížně představitelné bez specializovaného editoru. Navíc znalosti ve většině případů nezaznamenávají znalostní inženýři, ale odborníci v daném oboru vytvářené ontologie. Proto je důležitá i existence nástrojů, které nějakým způsobem usnadňují práci s jazykem. Tímto usnadněním může být například inteligentní doplňování zdrojového kódu a nabídka všech možných variant v dané situaci (tak jak to známe ze všech vyspělejších editorů jiných jazyků). Většinou však editory ontologií představují naprosté odstínění od zdrojového kódu. Ontologie vytvořené v grafickém prostředí ukládají buď ve vlastním formátu, nebo v některém ontologickém jazyku. Editory ukládající ontologie ve vlastním formátu musí umožňovat export do některého uznávaného ontologického jazyka. Velkou výhodou je možnost importu ontologií z některého ontologického jazyka do nativního formátu editoru. Univerzální editory, které umožňují práci s více jazyky, lze často použít i jako převaděče mezi jednotlivými ontologickými jazyky. Vedle klasických editorů jako základního nástroje pro práci s ontologiemi existuje i řada nástrojů specializovaných, např. na integraci ontologií, učení ontologií z textu, nebo anotování textů za použití ontologií. Rozsáhlý přehled všech typů nástrojů naleznete např. v [1], nástroji na anotování textů se budeme zabývat podrobněji v kapitole OntoEdit Tento komerční produkt s řadou nadstandardních funkcí byl vyvinut na Karlsruhe University. OntoEdit [21] poskytuje intuitivní grafické prostředí pro tvorbu a editaci ontologií. Mimojiné podporuje slučování ontologií, jejich kolaborativní editování apod. Jeho architektura umožňuje jednoduché rozšíření formou plug inů. Pro reprezentaci ontologií používá vlastní znalostní model, který umožňuje snadné ukládání do relační databáze. V současnosti podporuje import a export do jazyků XML, RDF(S), DAML+OIL.

20 KAPITOLA 2. ONTOLOGIE OilEd Velice jednoduchým nekomerčním editorem je OilEd [17]. Je určený pro webové jazyky odvozené od OIL, jeho vývoj se zaměřuje především na podporu DAML+OIL. Relativně omezený okruh editačních funkcí kompenzuje jednoduchostí instalace a obsluhy, zdá se být vhodným zejména pro výukové a demonstrační účely WebOnto WebOnto [37] je webové editační rozhraní pro ontologie reprezentované v modelovacím jazyce OCML. Stejně jako OCML pochází z dílny Knowledge Media Institute (KMI) na Open University. WebOnto server je volně přístupný, uživatel může nahlédnout do více než stovky ontologií z nejrůznějších oborů. Editování těchto ontologií nebo vytváření ontologií vlastních však vyžaduje uživatelský účet. Uživatelské jméno a heslo lze získat na požádání od KMI. WebOnto se spouští jako Java applet přímo ve webovém prohlížeči. Nutnost pracovat s tímto editorem online může některé uživatele odradit, na druhou stranu z naší práce mohou okamžitě těžit ostatní uživatelé internetu. Navíc WebOnto obsahuje nástroje pro kolaborativní vytváření ontologií Apollo Editor ontologií Apollo [3] je jedním z projektů Knowledge Media Institute na Open University. Nejdříve vznikl jako editor pro OCML, ale snaží se být velmi univerzálním nástrojem, což dokazuje mimo jiné i podpora plug inů pro export a import do jiných ontologických jazyků. Na KMI se vývoj editoru velmi zpomalil a nebyla uveřejněna verze, kterou by bylo možné nasadit v praxi. Pro projekt CIPHER [5] potřebovala katedra kybernetiky ČVUT FEL získat editor ontologií, který by byl snadno srozumitelný i pro tvůrce bez zkušeností s programováním. Proto jeho vývoj převzala a v současné době na katedře vzniká editor s označením Apollo II. Aplikace je implementována v jazyce Java, umožňuje tak spouštění na libovolné platformě pro niž je implementována JVM alespoň verze 1.4. Architektura, která umožňuje rozšíření o import a export z jiných jazyků bez změny kódu vlastního editoru, zůstala zachována. V současnosti existují plug iny pro export do jazyků CLOS, XML, OIL, OCML a RDFS. Protože se jednotlivé jazyky v některých ohledech liší, používá Apollo vlastní znalostní model, implementuje pouze prvky společné většině jazyků Protégé Velice propracovaný systém, který není bezprostředně spojen s žádným jazykem, je Protégé [26] vyvinutý týmem M. Musena na Stanfordské univerzitě. Protégé je opensource aplikace, která poskytuje komfortní grafické prostředí pro interaktivní

21 KAPITOLA 2. ONTOLOGIE 18 tvorbu ontologií. V současnosti patří k nejlepším a nejznámějším editorům ontologií. Jeho architektura založená na komponentách umožňuje snadné rozšíření funkcionality. Knihovna standartních plug inů poskytuje mimo jiné verifikaci omezení, získávání znalostí ze vzdálených zdrojů, poloautomatické slučování ontologií, atd. Další rozšíření editoru a také ontologie, které byly vyvinuty ať už skupinou kolem M. Musena nebo jinými uživateli Protégé, jsou volně dostupné na internetu. Znalostní model Protégé je kompatibilní s OKBC. Bohužel tato kompatibilita funguje bez problémů pouze jednosměrně. To znamená, že každou ontologii namodelovanou v Protégé lze vyexportovat do OKBC, ale ontologii v OKBC nelze v některých případech přenést do modelu Protége v původním tvaru. Totéž platí i pro jazyky OIL, Ontolingua, RDF(S). Seznam podporovaných jazyků bude v blízké budoucnosti nepochybně rozšířen o nové webově orientované ontologické jazyky, plug in pro podporu DAML+OIL se již blíží do finální fáze. 2.7 Existující ontologie V současnosti existuje nepřeberné množství ontologií vzniklých při různých projektech za různým účelem. Jedná se často spíše o střípky než o ucelený obraz nějaké domény lidského zájmu. Mnohem četněji jsou zastoupeny terminologické ontologie než ontologie konceptuální, které jsou středem zájmu tohoto textu. Poměrně obsáhlý, v žádném případě však kompletní, přehled ontologií, včetně referencí a stručné charakteristiky, obsahuje [1]. Vzhledem k tomu, že jednou ze základních filosofíí ontologií je znovupoužitelnost, velice důležitou se jeví existence knihoven a repozitoří. Nejznámější volně přístupné jsou: DAML repository ( Ontolingua Server repository ( ksl svc.stanford.edu:5915/), Universal repository ( universal.org/), SHOE repository( Další knihovny, přístupné po založení uživatelského účtu (lze požádat em), jsou: WebODE ( WebONTO ( a další.

22 KAPITOLA 2. ONTOLOGIE Praktické aplikace Ambiciózní myšlenky akademického výzkumu značně předbíhají praxi, která k potřebě využívání ontologií a sémantických metadat dospívá jen pozvolna. Vzhledem k překotnému vývoji problematiky také nepřekvapí, že již realizované praktické aplikace často odrážejí starší stupeň vývoje ontologických jazyků, a postrádají přímou vazbu na aktuální vývoj. Za hlavní oblasti využití ontologií se v současnosti označují: Pojmové vyhledávání informací jako vylepšení stávajících internetových vyhledávačů. Sémantické webové portály konstruované polo automaticky na základě metadat od poskytovatelů informace. Znalostní management ve firmách. Pro efektivní fungování organizace je třeba, aby se informace a znalosti včas dostávaly k těm pracovníkům, kteří je mohou využít. S pomocí ontologie je možné zachytit věcnou podstatu znalostí, a tím jednak zabezpečit jejich konzistenci, jednak usnadnit jejich vyhledání. Elektronické obchodování typu B to C i B to B. V prvním případě může ontologie usnadnit vyhledání požadovaného produktu zákazníkem, ve druhém se jedná o rychlé vyhledání potenciálního partnera, ale perspektivně také o automatizaci procesu sjednání obchodních podmínek. Zpracování přirozeného jazyka, terminologické ontologie mohou napomáhat např. při překladu nebo automatické sumarizaci textů. Inteligentní výukové systémy. Z širokého spektra praktických aplikací využívajících ontologie si blíže představíme pouze nástroje pro vytváření anotací, neboť součástí této diplomové práce je i popis realizace anotačního nástroje RAT O (viz kapitola 4). Rozsáhlý přehled ontologických aplikací naleznete např. v [1] Nástroje pro vytváření anotací Nástroje pro vytváření anotací začaly vznikat v souvislosti se sémantickým webem a v současnosti jich existuje již velké množství. Liší se nejen svojí architekturou, reprezentaci metadat ale především kvalitou. Jejich hlavní úlohou je vytváření a udržování metadat o webových dokumentech. Používají se pro snadnou správu instancí, atributů a relací mezi webovými zdroji. Pro popis sémantiky dokumentu využívají především některý z jazyků SHOE, RDF/S, DAML+OIL, na řadu přichází i OWL (viz kapitola 3).

23 KAPITOLA 2. ONTOLOGIE 20 OntoAnnotate OntoAnnotate [20] je anotační nástroj, který umožňuje shromažďování znalostí z dokumentů či webových stránek a obohacuje je o metadata. Dovoluje anotovat nejen statické HTML dokumenty, ale například i dokumenty napsané ve Wordu. UBOT Annotation UBOT DAML a OWL Annotation [33] se zaměřuje na automatickou generaci anotací z obecných textových dokumentů v jazyce DAML+OIL a OWL. Rozebírá a analyzuje text v přirozeném jazyce a vybírá z něj zajímavé položky, pro které vytváří instance. Má velice sofistikované grafické uživatelské prostředí, které umožňuje definovat a upravovat standardní pravidla pro výběr položek. SHOE Knowledge Annotator Mezi nejznámější anotační nástroje patří SHOE Knowledge Annotator [32], který využívá jazyka SHOE. Jazyk SHOE se stal prvním jazykem, který byl určený výhradně k rozšíření HTML stránek o dodatečnou sémantickou informaci. Uživatel může anotovat dokumenty pomocí jazyka SHOE bez jakékoliv znalosti HTML kódu. Nástroj je k dispozici jako Java applet i jako aplikace. OntoMat Annotizer Ontomat [22] je interaktivní webová aplikace používající k popisu sémantiky jazyk DAML+OIL. Zahrnuje v sobě prohlížeč ontologií, instancí a HTML prohlížeč, který zobrazuje anotované části textu. Kromě manuálního anotování stránek pomocí textového editoru umožňuje OntoMat označit příslušnou část webové stránky a vytvořit novou instanci pomocí drag n drop. Aplikace je napsána v jazyce Java, funkce jsou rozšiřitelné formou plug inů. RAT O Na katedře kybernetiky ČVUT FEL vznikl nový anotační nástroj pojmenovaný RAT O (Resource Annotation and Outline creation Tool). Tento nástroj kromě vytváření anotací umožňuje hlavně vyhledávání v sémantických anotacích podle zadaných kritérií. Podrobně se k tomuto nástroji vrátíme v kapitole 4. Annotea Projekt Annotea [2] je podporován organizací W3C a jako takový využívá jazyka RDF. Anotace jsou sdílené a jsou uloženy na serveru mimo vlastní dokument. Uživatel k anotacím přistupuje pomocí klienta, který je schopen metadata opět převést do uživatelsky srozumitelné podoby.

24 Kapitola 3 Jazyky pro modelování ontologií Během nepříliš dlouhé historie ontologického inženýrství bylo vyvinuto několik desítek formálních jazyků. Vznikaly na různých vědeckých pracovištích jako reakce na potřebu implementovat nové, jinde neimplementované, prvky jazyka, nebo naopak nutnost zjednodušit práci při modelování ontologií. Při návrhu proti sobě vždy stojí snadná práce s jazykem a silná vyjadřovací schopnost. V současné době neexistuje žádný obecně uznávaný ontologický jazyk, který by se používal na většině projektů a ostatní jazyky svými vlastnostmi výrazně předstihl. V této kapitole si stručně představíme jen ty opravdu významné ontologické jazyky (obsáhlejší přehled je uveden v [1]). Podrobněji se budeme věnovat jazykům nejnovějším, úzce provázaným s vývojem okolo WWW. 3.1 Tradiční ontologické jazyky Mnoho z těchto jazyků původně sloužilo k reprezentaci znalostí ve znalostních aplikacích, jiné z nich byly odvozeny a existuje i skupina jazyků, které byly speciálně vytvořeny pro reprezentaci ontologií. Všechny tyto jazyky jsou ve stabilní fázi vývoje, jejich syntaxe vychází z uživatelsky ne příliš přívětivých jazyků (zejména z funkcionálního jazyka LISP) CycL Projekt Cyc [6] je jedním z prvních pokusů o zachycení znalostí o světě ve velkém rozsahu. Název je odvozen ze slova encyclopedia. Zakladatel projektu D. Lenat pochází z KSL (Knowledge Systems Laboratory) [15] na Stanford University. Projekt byl zahájen již v roce 1984 a probíhá dodnes. Usiluje o shromáždění všeobecných znalostí, které by ve znalostních systémech fungovaly komplementárně ke znalostem expertním a zabraňovaly absurdnímu chování (oblíbeným příkladem takového chování je doporučení testu gravidity pro pacienta muže, v lékařském expertním systému). Svou podstatou i zaměřením aplikací jde o projekt, který jednoznačně patří do oblasti ontologií, ačkoliv jeho tvůrci tento termín příliš často nepoužívají. 21

25 KAPITOLA 3. JAZYKY PRO MODELOVÁNÍ ONTOLOGIÍ 22 Namísto toho hovoří o tzv. mikroteoriích složených z dílčích tvrzení. Pro reprezentaci znalostí používá Cyc svůj vlastní jazyk CycL. Základní notace je převzata z jazyka LISP. Příklad 3.1 Tvrzení každý savec má matku ženského pohlaví zapsané v CycL. #$ist #$AnimalMt (#$implies (#$isa?a #$Animal) (#$thereexists?m (#$and (#$Mother?A?M) (#$isa?m #$FemaleAnimal)))) Interpretace je následující: v mikroteorii AnimalMt platí, že pro objekt typu Animal, označený proměnnou A, existuje objekt označený proměnnou M, který je typu Female Animal, vztah M vůči A je typu Mother. Projekt Cyc se původně vázal na komerční aplikace firmy CyCorp a zveřejněna byla jen velmi malá část znalostí. V roce 2001 se však i tato skupina přiklonila k zásadě veřejné přístupnosti zdrojů a ze znalostní báze vyčlenila podmnožinu ontologií, kterou autoři uveřejnili na internetu pod názvem OpenCyc [24]. V současnosti distribuce OpenCyc volně nabízí již okolo konceptů a tvrzení o nich KIF KIF (Knowledge Interchange Format) [13] je jazyk určený ke snadné výměně informací mezi různorodými počítačovými systémy. Je variantou predikátového kalkulu využívající, stejně jako mnohé další jazyky, syntaxe jazyka LISP. KIF nebyl navržen jako jazyk pro přímý styk s uživatelem, ačkoliv tomuto použití nic nebrání. Stejně tak není určen pro vnitřní reprezentaci znalostí v počítačovém systému, i když tomuto použití opět nic nebrání. Typicky, pokud počítačový systém načítá znalostní bázi z KIF, převede data do své vlastní vnitřní formy a všechny výpočty i odvozování se dějí v této reprezentaci. Naopak když systém potřebuje komunikovat s jiným neslučitelným systémem, namapuje interní datové struktury do KIF Ontolingua Počátkem devadesátých let vznikla na stanfordské KSL [15] iniciativa vedená T. Gruberem, která byla v jistém protikladu ke komerční koncepci Cyc. Jejím cílem bylo vyvinout dostatečně mocný a zároveň přehledný jazyk, který by umožňoval sdílet ontologie v rámci odborných komunit používajících vzájemně nekompatibilní znalostní systémy.

26 KAPITOLA 3. JAZYKY PRO MODELOVÁNÍ ONTOLOGIÍ 23 Jazyk, označený jako Ontolingua [47], je koncipován jako nadstavba jazyka KIF [13]. Základními konstrukty jazyka Ontolingua jsou definice tříd, relací a funkcí, přičemž vymezující podmínky pro příslušnost instancí jsou vyjádřeny právě v KIF. Příklad 3.2 Definice třídy Sale--Offer z Enterprise Ontology [10]. (Define-Class Sale-Offer (?X) :Iff-Def (And (For-Sale?X) (Exists (?Le) (Specified-Potential-Customer?X?Le)))) Třída je vymezena nutnou a postačující podmínkou (iff--def), tato podmínka je vyjádřena jako konjunkce dvou podvýrazů. Příklad 3.3 Definice relace excretes (vztah vyměšujícího a vyměšovaného ) z lékařské ontologie On9 [19]. (define-relation excretes (?a?b) :def (exists (?c) (and (embodies?a?c)(has-product?c?b))) :constraints (or (anatomical-structure?a)(organism?a)) :axiom-def (arity excretes 2) :axiom-constraints (range excretes body-substance)) V tomto případě je uvedeno několik vymezujících podmínek. První dvě mají z logického hlediska charakter nutné podmínky příslušnosti k relaci. Liší se od sebe tím, že podmínka def je definiční podmínkou vyjadřující podstatu relace, zatímco constraints je podmínkou z konceptuálního hlediska druhotnou. Poslední dvě podmínky (axiomy) tvoří obdobnou dvojici, v jejich zápisu ovšem nejsou uvedeny proměnné ze záhlaví, jde vlastně o meta formule vyjadřující vlastnosti predikátu excretes jako takového. Charakteristické vlastnosti různých tříd a relací, jako je vedle uvedených arity nebo range kupříkladu symetrie relace, rozklad třídy apod., se využijí ve velkém množství ontologií. Aby byla zajištěna jejich jednotná sémantika, vznikla tzv. Frame Ontology. Jde o normální ontologii v jazyce Ontolingua obsahující příslušné definice, po jejím začleněním do nové ontologie je možné na tyto vlastnosti odkázat.

27 KAPITOLA 3. JAZYKY PRO MODELOVÁNÍ ONTOLOGIÍ 24 Ontolingua byla od počátku koncipována jako jazyk primárně určený k výměně ontologických informací mezi systémy, které interně používají vlastní (zpravidla omezenější avšak výpočtově efektivnější) reprezentaci. Z toho vyplývají i omezené možnosti odvozování přímo v tomto jazyce. Na druhé straně ovšem Ontolingua patřila dlouhá léta mezi nejpoužívanější jazyky pro tvorbu ontologií nezávisle na konkrétním znalostním systému. V současnosti se více prosazují jazyky, které obsahují možnost spouštění procedur a obsahují odvozovací mechanizmy (například OCML) nebo jazyky, jejichž syntaxe staví na formátu XML OCML Nespokojenost s dosud existujícími ontologickými jazyky, zejména s omezenými možnostmi odvozování v jazyce Ontolingua, motivovaly Enrico Mottu a jeho spolupracovníky z KMI (Knowledge Media Institute) [14] na Open University k návrhu jazyka, který by výrazněji podporoval přímý vývoj programových aplikací, aniž by bylo nutno model překládat do jiného jazyka. Název OCML [49] vznikl z počátečních písmen označení Operational Conceptual Modelling Language, který velmi dobře vystihuje jeho vlastnosti. Často se OCML označuje jako operační Ontolingua. OCML podporuje definování několika základních typů konstruktů jako jsou ontologie (ontology), třídy (class), instance (instance), funkce(function), relace (relation) a pravidla (rule). Deklarativní část OCML je prakticky shodná s jazykem Ontolingua. Vedle toho je však podporována řada konstruktů převzatých z procedurálních jazyků a expertních systémů (podmínky, cykly, produkční pravidla). Interpret jazyka OCML, implementovaný v prostředí CommonLISP, obsahuje rovněž mechanizmy pro řešení problémů (problem solving methods). Na rozdíl od většiny ostatních jazyků umožňuje pohodlné spouštění LISPovských funkcí, což mimochodem vyplývá již z jeho názvu (operational). V OCML je proto možné napsat libovolnou aplikaci, která s ontologiemi nemusí mít ani nic společného. Příklad 3.4 Ukázka definice tříd a relací v jazyce OCML. (def-class disease ()( (has-name :type string) (is-severe :type boolean))) (def-class seriously-ill (patient)?p :sufficent (and (has-disease?p?d) (disease?d is-severe yes))) (def-relation has-disease (?p?d) :constraint (and (patient?p) (disease?d)))

28 KAPITOLA 3. JAZYKY PRO MODELOVÁNÍ ONTOLOGIÍ 25 (def-class hypertension (blood-preassure)?bp :iffdef (and (?bp sbp?sbp) (?bp dpb?dpb) (or (>= sbp 140) (>= dbp 90)))) Přestože si OCML v komunitě znalostního inženýrství získal značný respekt, nerozšířil se příliš (zčásti asi i vinou vázanosti na LISP jako implementační prostředí) mimo Open University a některé její projektové partnery. V současnosti KMI používá jazyk OCML pro modelování znalostí v oblastech znalostního managementu (knowledge management), vývoje ontologií a elektronického obchodu. Na KMI vzniká v OCML rozsáhlá knihovna znovupoužitelných modelů (reusable models) z různých oborů. K jejímu rozvoji přispívá především internetový editor ontologií WebOnto [37], jehož prostřednictvím lze k této knihovně přistupovat OKBC Počátkem devadesátých let začal vznikat návrh aplikačního rozhraní, které by umožňovalo otevřenou komunikaci mezi rámcově orientovanými znalostními systémy. Zřejmě jako analogie k ODBC vznikl název OKBC (Open Knowledge Base Connectivity) [18]. OKBC pochází obdobně jako předchozí dva jazyky z Knowledge System Laboratory na Stanfordské univerzitě. Protokol specifikuje způsob předávání jak konstruktů znalostních bází (jako jsou třídy, individua nebo sloty), tak i volání operací nad těmito konstrukty. Znalostní model OKBC vychází z analýzy řady existujících znalostních systémů a vznikl tak velice obecný nástroj s velmi širokou vyjadřovací schopností. Sémanticky do značné míry odpovídá souboru konstruktů ontologických jazyků jako je Ontolingua. Rozhraní OKBC je v současnosti implementováno v jazycích Java, Common Lisp, částečně v jazyce C. Jednodušší verze OKBC, nazvaná OKBC Lite, se v roce 1999 stala výchozím bodem pro návrh dalšího ontologického jazyka XOL (extensible Ontology Language). Struktura jazyka XOL vychází již z XML, viz dále.

29 KAPITOLA 3. JAZYKY PRO MODELOVÁNÍ ONTOLOGIÍ Webově orientované ontologické jazyky Od roku 1996 vzniká celá řada částečně na sebe navazujících ontologických jazyků, usilujících o doplnění formální sémantiky k webovým stránkám, případně i aplikacím s webovým rozhraním. Ontologické jazyky v té době již překonaly závislost na specificky umělointeligentní syntaxi (LISP) a migrovaly k syntaxi XML, včetně využívání jmenných prostorů. Zde si stručně představíme historický webový ontologický jazyk SHOE, vycházející ještě ze syntaxe HTML, a hlavně pak nové ontologické jazyky XOL, RDF, RDF Schema, OIL, DAML ONT, DAML+OIL, OWL. Mnoho z těchto jazyků je stále ve fázi vývoje. Obr. 3.1 zobrazuje vztahy mezi těmito jazyky jako pyramidu vyjadřující návaznost na zkušenosti z předchozího výzkumu. Obr. 3.1: Pyramida webově orientovaných ontologických jazyků SHOE V roce 1996 vznikl první jazyk, jehož specifickým účelem bylo přidání sémantiky k webovým stránkám. Jazyk vyvinutý týmem J. Hendlera na University of Maryland byl nazván SHOE (Simple HTML Ontology Extension) [31]. Jazyk SHOE umožňuje začleňovat do zdrojového kódu webových stránek jednak metadata o objektech, kterých se tyto stránky týkají, jednak samotné ontologie, definující sémantiku těchto metadat. Oproti jazykům typu Ontolingua je SHOE podstatně jednodušší, zachycuje pouze třídy a relace bez odlišení facet. Od pozdějších webových jazyků se liší také tím, že v něm je možné definovat relace s libovolnou aritou, pro každý argument se v definici uvede jeden subelement def--arg. Než začneme s anotací vlastní stránky, musíme nejdříve sestavit jednu nebo více ontologii (nebo ještě lépe použíjeme již existující ontologii). Ontologie je specifi-

30 KAPITOLA 3. JAZYKY PRO MODELOVÁNÍ ONTOLOGIÍ 27 kována svým jménem a verzí, dále jsou deklarovány použité ontologie, hierarchie kategorií a nakonec následují definice relací mezi kategoriemi. Příklad 3.5 Definice ontologie v jazyce SHOE. <ONTOLOGY ID="cs-dept-ontology" VERSION="1.0"> <USE-ONTOLOGY ID="base-ontology" VERSION="1.0" PREFIX="base" URL=" <DEF-CATEGORY NAME="Organization" ISA="base.SHOEEntity"> <DEF-CATEGORY NAME="Person" ISA="base.SHOEEntity"> <DEF-CATEGORY NAME="Publication" ISA="base.SHOEEntity"> <DEF-CATEGORY NAME="ResearchGroup" ISA="Organization"> <DEF-RELATION NAME="member"> <DEF-ARG POS="1" TYPE=" ResearchGroup"> <DEF-ARG POS="2" TYPE="Person"> </DEF-RELATION> <DEF-RELATION NAME="publicationDate"> <DEF-ARG POS="1" TYPE="Publication"> <DEF-ARG POS="2" TYPE=".DATE"> </DEF-RELATION> </ONTOLOGY> Anotace samotné stránky je obsažena v elementu HTML nazvaném instance. Instance je identifikována pomocí URL. <INSTANCE KEY=" To, že se v SHOE instance implicitně ztotožňují s fyzickými stránkami nebo jejich částmi, má nezvyklý efekt. Webový objekt (stránka identifikovaná svým URL) do jisté míry splývá s objektem reálného světa (člověk, firma, výrobek...). S nadsázkou by se dalo říci, že kdo nemá svou stránku, ten neexistuje. Tento efekt byl v pozdějších webových jazycích eliminován zejména zobecněním pojmu zdroje, který už zdaleka nemusí mít povahu fyzické stránky HTML XML, XML Schema XML (Extensible Markup Language) [39] je metajazyk, který nabízí možnost definovat nové značkovací tagy přesně podle specifických potřeb konkrétní aplikace. XML tak představuje mechanismus pro standardizovanou reprezentaci jiných jazyků. Pro definici povolených značek a jejich možných kombinací se obvykle definuje DTD (Document Type Definition), nebo nověji XML Schema [40]. Tato obecnost je současně předností i slabinou jazyka XML. Zatímco je možné kódovat rozmanité typy

31 KAPITOLA 3. JAZYKY PRO MODELOVÁNÍ ONTOLOGIÍ 28 datových struktur pomocí jednoznačné syntaxe, XML se nezabývá užitím dat a sémantikou. Pro použití jazyka XML jako formátu pro výměny dat se musejí obě strany předem domluvit na použitých významech O XML a XML Schématu se také v jisté době hovořilo jako o možném jazyku pro tvorbu ontologií. Brzy se ukázalo, že jeho prostředky jsou pro tento účel nedostatečné. Vychází z něj ovšem jiné ontologické jazyky, viz dále XOL Výchozím bodem pro návrh ontologického jazyka XOL (extensible Ontology Language) [42] se v roce 1999 stala zjednodušená verze OKBC, nazvaná OKBC Lite, viz kapitola Jeho motivací byla potřeba bioinformatické komunity sdílet struktury znalostí o genovém výzkumu mezi různými databázemi a aplikacemi, žádný ze stávajících jazyků plně nevyhovoval. Podstatnou inovací oproti předcházejícím jazykům bylo zakotvení v syntaxi XML. Ta umožnila nejen efektivní využití řady obecných nástrojů již existujicích pro tento značkovací jazyk, ale i snadnou čitelnost zdrojového kódu i pro běžné uživatele. Na rozdíl od XML Schematu [40] XOL zavádí pouze jedinou generickou definici typu dokumentu (DTD), která umožňuje definovat strukturu tříd, jejich sloty, obory hodnot slotů apod. Jména tříd, atributů apod. tudíž neodpovídají názvům, nýbrž hodnotám prvků XML. Příklad 3.6 Ukázka zdrojového kódu XOL. <class> <name>person</name> </class> <slot> <name>age</name> <domain>person</domain> <value-type>integer</value-type> <numeric-max>150</numeric-max> </slot> Vlastností třídy person je age, který nabývá číselné hodnoty nejvýše do RDF, RDF Schema RDF a RDF Schema společně nabízejí jednoduchý mechanismus reprezentace znalostí pro webové zdroje. Někdy se společně označují jako RDF/S.

32 KAPITOLA 3. JAZYKY PRO MODELOVÁNÍ ONTOLOGIÍ 29 RDF RDF (Resource Description Framework) [28] je doporučením W3C z roku 1999 pro reprezentaci struktury webových metadat. Rámec RDF poskytuje jednoduchý model pro popis zdrojů (resource), který je snadno strojově zpracovatelný a zároveň není závislý na konkrétní implementaci. Zdroj je univerzálním prvkem RDF identifikovaný svým URI (Universal Resource Identifier), což je zobecnění běžně používaných URL (Universal Resource Locator). Datový model RDF umožňuje specifikovat trojice ve tvaru zdroj, vlastnost a hodnota vlastnosti s významem: daný zdroj má danou hodnotu dané vlastnosti. Trojice jsou v oficiální terminologii nazývány tvrzení (statement) a v rámci daného tvrzení je zdroj subjektem, vlastnost predikátem a hodnota vlastnosti objektem. Zdrojem může být nejen webová stránka, ale např. i část dokumentu umístěného mimo web. Zdroj může vystupovat jak v roli subjektu, tak v roli objektu. Objektem může být kromě zdroje také literál, tj. primitivní datová hodnota. Tvrzení představují navzájem nezávislá fakta, a je možné je umístit přímo na webové stránky jako jejich znalostní anotace nebo do specializovaných veřejných databází. Datový model RDF sám o sobě nepředpokládá konkrétní reprezentaci. Ta může být např. grafová (subjekty a objekty jako uzly, predikáty jako orientované hrany) nebo vyjadřovat tvrzení prostě jako posloupnost tří výrazů na téže řádce. Pro vyjádření sémantiky webových zdrojů se však jako nejvhodnější jeví XML syntaxe RDF (dále jen RDF/XML), která je také doporučovaná W3C jako syntaxe základní. Hovoří se o tzv. serializaci, jednotlivé prvky tvrzení RDF jsou specifickým způsobem řazeny za sebe do elementů a atributů XML. Obr. 3.2: Příklad grafové reprezentace RDF. Příklad 3.7 Rozšířený zápis tvrzení odpovídající obrázku 3.2: Tvůrcem (predikát) zdroje (subjekt) je Michal Burian (objekt). <rdf:rdf xmlns:rdf=" xmlns:vcard=" xmlns:dc="

33 KAPITOLA 3. JAZYKY PRO MODELOVÁNÍ ONTOLOGIÍ 30 <rdf:description about=" <dc:title>tour de Romania 2003</dc:Title> <dc:creator rdf:resource=" </rdf:description> <rdf:description about="http <vcard:fn>michal Burian</vcard:fn> </rdf:description> </rdf:rdf> Obálkový element RDF obsahuje atributy definující jmenné prostory, vlastní tvrzení je pak obsaženo v elementu Description. Jeho atribut about odkazuje na subjekt, název subelementu odpovídá predikátu, a obsah subelementu objektu. Specifikace RDF obsahuje řadu možností, jak vyjádřit složitá tvrzení úsporněji. Je zjevné, že pokud chceme témuž subjektu přiřadit různé vlastnosti, můžeme to učinit v rámci jediného elementu Description s více subelementy. Pokud chceme naopak přiřadit tutéž vlastnost více zdrojům, lze je sdružit do tzv. kolekce. Vedle základní notace také existuje notace zkratková, která hodnoty metadat umísťuje do atributů namísto do subelementů. Velmi silným prostředkem je v RDF tzv. reifikace. Její podstatou je možnost chápat celé tvrzení jako zdroj a vypovídat o něm prostřednictvím dalších tvrzení. RDF tak překvapivě povoluje konstrukce (dokonce libovolně) vyšších řádů. Motivací vzniku této vlastnosti byla zejména potřeba usuzovat o věrohodnosti jednotlivých tvrzení na základě důvěry v osobu, která je vyslovila. Takto se příslušná meta tvrzení dostávají na stejnou úroveň jako tvrzení základní a není potřeba pro ně vytvářet zvláštní syntaktický aparát. Druhou stranou mince je ovšem podstatné zkomplikování formálních vlastností modelu. RDF Schema Již v roce 1999, přímo na půdě W3C, vznikl první ze sémantických jazyků orientovaných na RDF. RDF Schema (RDFS) [27] představuje nadstavbu, která doplnila do struktury RDF hlavní konstrukce z rámcových systémů. Základní modelovací konstrukce v RDFS se skládají z definice tříd, nad třídami může být definována hierarchie, definice vlastností, opět s možností vytváření hierarchie, definiční obor a obor hodnot z důvodu vyloučení nevhodných kombinací vlastností a tříd.

34 KAPITOLA 3. JAZYKY PRO MODELOVÁNÍ ONTOLOGIÍ 31 Příklad 3.8 Ukázka použití konstruktů RDFS. <rdf:rdf xmlns:rdf=" xmlns:rdfs=" <rdf:property rdf:about=" <rdfs:isdefinedby rdf:resource=" rdf-schema#"/> <rdfs:label>subclassof</rdfs:label> <rdfs:comment>the subject is a subclass of a class.</rdfs:comment> <rdfs:range rdf:resource=" rdf-schema#class"/> <rdfs:domain rdf:resource=" rdf-schema#class"/> </rdf:property> <rdfs:class rdf:about=" <rdfs:isdefinedby rdf:resource=" rdf-schema#"/> <rdfs:label>class</rdfs:label> <rdfs:comment>the class of classes.</rdfs:comment> <rdfs:subclassof rdf:resource=" rdf-schema#resource"/> </rdfs:class> </rdf:rdf> Po deklaraci jmenných prostorů následuje definice vlastnosti subclassof, včetně vymezení definičního oboru domain a oboru hodnot range. Vlastnost subclassof je pak použita v definici třídy Class. RDFS splňuje požadavky webových návrhářů na možnost zachycení sémantiky obsahu stránek, zejména pokud jde o definování hierarchických struktur (např. témat). Oproti tradičním ontologickým jazykům mu však chybí možnost precizněji specifikovat podmínky příslušnosti ke třídám (lokální omezení), např. v disjunktivním tvaru, a zcela postrádá datové typy DAML ONT V polovině roku 2000 byl oficiálně zahájen projekt DAML (DARPA Agent Mark up Language) [7], sponzorovaný vojenskou institucí DARPA, na kterém se od počátku podílela celá řada výzkumníků sémantického webu včetně Tima B. Lee, který stál u zrodu WWW. Cílem bylo vytvořit sémantický jazyk pro RDF s větší vyjadřovací

35 KAPITOLA 3. JAZYKY PRO MODELOVÁNÍ ONTOLOGIÍ 32 silou než má RDFS. Jazyk označený jako DAML ONT již vycházel z předchozího výzkumu v oblasti ontologických jazyků a zahrnoval celou řadu konstruktů pro vymezení vztahů tříd a hodnot slotů. Více se tímto jazykem zabývat nebudeme, neboť je považován za překonaný pozdějším DAML+OIL (viz kapitola 3.2.7), který z něj vychází OIL Souběžně s objevováním významu RDF dospěla koncem devadesátých let jak evropská, tak postupně i americká větev výzkumu webových ontologií k potřebě postavit nové jazyky na některém propracovaném logickém kalkulu, který by umožňoval konstrukci složitějších podmínek při zachování výhodných vlastností pro automatické výpočty. Volba padla na deskripční logiku [44], která se stala základem jazyka nazvaného OIL (Ontology Inference Layer) [16]. OIL se tak stal prvním jazykem, který je založený na kombinaci rámcového pohledu s deskripční logikou. Příklad 3.9 Ontologie vymezující pojem masožravý a býložravý. ontology-definitions slot-def eats inverse is-eaten-by slot-def is-part-of inverse has-part properties transitive class-def animal class-def plant subclass-of NOT animal class-def defined carnivore subclass-of animal slot-constraint eats value-type animal class-def defined herbivore subclass-of animal, NOT carnivore slot-constraint eats value-type plant OR slot-constraints is-part-of has-value plant V definice slotu slot--def lze specifikovat hierarchii slotu (subslot--of), omezení na definiční obor (domain), obor hodnot (range) a jiné vlastnosti slotu samotného (transitive, symetric). Definice třídy class--def se skládá z typu definice, vymezení hierarchie (subclass--of) a libovolného počtu omezení (slot--constraint). Typ defined označuje podmínky příslušnosti ke třídě za nutné a postačující, typ

36 KAPITOLA 3. JAZYKY PRO MODELOVÁNÍ ONTOLOGIÍ 33 primitive za nutné nikoliv postačující. Hodnotou výrazu subclass of jsou jména tříd, která mohou být vázána logickými operátory AND, OR, NOT. Slot--constraint může obsahovat omezení na hodnotu slotu (has--value), typ hodnoty (value--type), omezení na kardinalitu (cardinality) DAML+OIL Doplněním jazyka DAML ONT o některé konstrukce projektu OIL vznikl jazyk s nepříliš elegantním názvem DAML+OIL [8]. Z návrhu jazyka DAML+OIL vychází standart prosazovaný konsorciem W3C, tím se stal jazyk OWL (viz kapitola 3.2.8). Příklad 3.10 Ukázka ontologie v jazyce DAML+OIL. <?xml version= 1.0 encoding= ISO ?> <!DOCTYPE rdf:rdf [ <!ENTITY rdfs > <!ENTITY rdf > <!ENTITY daml > ]> <daml:ontology rdf:about=""> <rdfs:comment>ontology to describe wine.</rdfs:comment> </daml:ontology> <rdfs:class rdf:id="wine"> <rdfs:subclassof rdf:resource="#drink"/> <rdfs:subclassof> <daml:restriction> <daml:onproperty rdf:resource="#name"/> <daml:toclass rdf:resource=" XMLSchema#string"/> </daml:restriction> </rdfs:subclassof> <rdfs:subclassof> <daml:restriction daml:cardinality="1"> <daml:onproperty rdf:resource="#haswinecolor"/> </daml:restriction> </rdfs:subclassof> <rdfs:subclassof> <daml:restriction> <daml:onproperty rdf:resource="#haswinecolor"/> <daml:toclass rdf:resource="#winecolor"/> </daml:restriction> </rdfs:subclassof> </rdfs:class>

37 KAPITOLA 3. JAZYKY PRO MODELOVÁNÍ ONTOLOGIÍ 34 Po deklaraci jmenných prostorů následuje hlavička ontologie (element daml:ontology). Prázdná hodnota jeho atributu rdf:about odkazuje na dokument, v němž je tato deklarace obsažena. Poté uvádíme výraz vymezující třídu Wine, která je deklarována jako podtřída třídy Drink. Hodnota (resp. všechny případné hodnoty) vlastnosti name je pro třídu Wine deklarována pomocí lokálního omezení (restriction). Hodnoty dato typových slotů mohou být specifikovány pomocí XML Schématu, sféry tříd a datových typů jsou tím od sebe v DAML+OIL důsledně odděleny. Obdobně, hodnota objektové vlastnosti haswinecolor je pro třídu Wine deklarována jako instance třídy WineColor a vzhledem k definovanému omezení na kardinalitu je právě jedna OWL Návrh jazyka OWL (Web Ontology Language) [25] vyšel ze zhruba dvouletých zkušeností s využíváním DAML+OIL a samozřejmě také RDFS. Rozšiřuje slovník těchto jazyků o další elementy vztahující se k třídám a vlastnostem. Snaží se odstranit nedostatky svých předchůdců, v některých ohledech prosazuje nové přístupy, stále však využívá syntaxe jazyků RDF a XML. OWL hledá rovnováhu mezi vyjadřovací silou jazyka a použitelností při odvozování. Pracovní verze definice jazyka byly postupně zveřejňovány od května 2002, současná verze OWL se stala doporučením W3C pro reprezentaci sémantických dat zejména s ohledem na rozvoj sémantického webu. Ontologie v jazyce OWL se skládá z hlavičky (obsahující např. informace o verzi nebo odkaz na ontologie, které jsou v ní implicitně obsaženy) a vlastního obsahu. Tím je sada konstruktů, které definují třídy, individua, vlastnosti, a vazby mezi nimi. Konstruktor intersectionof unionof complementof oneof allvaluesfrom somevaluesfrom hasvalue mincardinality maxcardinality Popis třída jako průnik, sjednocení, doplněk třída jako množina primitivních hodnot třída splňující univerzální resp. existenční omezení na slot (tj. na třídy, které jsou jeho hodnotami) třída splňující omezení na konkrétní hodnotu slotu (kombinace hasclass a oneof) třída splňující omezení na kardinalitu slotu Tab. 3.1: Konstruktory tříd v OWL.

38 KAPITOLA 3. JAZYKY PRO MODELOVÁNÍ ONTOLOGIÍ 35 Axiom subclassof sameclassas disjointwith subpropertyof samepropertyas inverseof transitiveproperty symmetricproperty functionalproperty domain range sameindividualas differentindividualfrom Popis vztah obecnější a speciálnější třídy ekvivalence tříd prázdný průnik tříd vztah obecnější a speciálnější vlastnosti ekvivalence vlastností vztah vzájemně inverzních vlastností tranzitivita vlastnosti symetrie vlastnosti funkční vlastnost definiční obor obor hodnot totožnost individuí odlišnost individuí Tab. 3.2: Typy axiomů v OWL OWL umožňuje pracovat jak s pojmenovanými, tak i s tzv. anonymními třídami. Pojmenovaná třída je identifikována svým jménem, tj. URI, anonymní třída odpovídá logickému výrazu nad pojmenovanými nebo i jinými anonymními třídami. Pro tvorbu logických výrazů vymezujících třídy se používají konstruktory uvedené v Tab Konstruktory je možno libovolně skládat, a tak vytvářet složité výrazy. Individuum (instance) je vždy identifikováno pomocí URI. Jeho existence je nezávislá na jakékoli třídě. Naopak může být přiřazeno nejen k jedné, ale i k více třídám zároveň. Axiomy umožňují stanovit odlišnost nebo naopak shodu dvou individuí (uvedených pod různými názvy). Typy axiomů jsou uvedeny v Tab Také vlastnosti jsou identifikovány pomocí URI. Z logického hlediska jde o binární relace nad množinou individuí. Ani vlastnosti tedy nejsou definovány v rámci určité třídy. Axiomy, které se týkají přímo vlastností, mohou vymezovat jejich definiční obor a obor hodnot, obecné matematické charakteristiky zda se jedná o tranzitivní, symetrické a/nebo funkční relace, dále pak vztah subsumpce, ekvivalence a/nebo inverzity dvojice vlastností. Jazyk OWL existuje ve třech dialektech, z nichž každý následující má vyšší vyjadřovací sílu, avšak je současně náročnější na odvozovací prostředky: OWL Lite, OWL DL a OWL Full. Z praktického hlediska bude zřejmě nejzajímavější OWL Lite, který vyčleňuje minimální množinu konstruktů jazyka, což by mělo usnadnit implementaci programových nástrojů, která byla pro plnou verzi OWL (i pro plnou verzi DAML+OIL) velmi komplikovaná. OWL Lite podporuje jen některé typy lokálních omezení na sloty, zejména jsou oslabeny možnosti využívání anonymních tříd a omezení na kardinalitu, u kterých byla v případě DAML+OIL empiricky zjištěna velmi malá míra využívání.

39 KAPITOLA 3. JAZYKY PRO MODELOVÁNÍ ONTOLOGIÍ Alternativy k ontologickým jazykům Vedle hlavního proudu ontologického inženýrství existuje několik dalších velmi rozšířených jazyků pro konceptuální modelování, které mají k ontologiím blízko, ačkoliv tento termín nepoužívají. Zde se zmíníme o dvou, které mají výsadní postavení: UML a TopicMaps UML Jazyk UML [34], který je v současnosti základním modelovacím nástrojem používaným při vývoji informačních systémů, lze použít i k modelování znalostí. Protože se však jedná o jazyk čistě grafický (viz obr. 3.3), pro snadné zpracování na počítači ne příliš vhodný, příliš často se k tomuto účelu nepoužívá. Obr. 3.3: Diagram tříd v UML Nejzřetelnějším rozdílem ontologií oproti UML je, že jejich třídy v sobě nezahrnují procedurální metody. Důraz je naopak položen na logické vztahy mezi třídami, které mohou mít komplikovanější sémantiku, než je možno v UML graficky zachytit pomocí asociací. To souvisí i se skutečností, že UML je primárně určen k návrhu softwarových systémů, zatímco ontologie (zejména doménové) slouží k vyjádření konceptuálních vztahů relativně nezávisle na programových aplikacích. Dalším rozdílem je postavení instancí. Zatímco v UML je každá instance napevno spojena s třídou, do které náleží, v ontologiích instance odpovídají specifickým objektům reálného světa a příslušnost ke třídě (často i více třídám současně) je pouze jejich vlastností, která se může v čase případně i měnit. Uvedené rozdíly samozřejmě neznamenají, že by modely reprezentované v UML nemohly být velmi dobrým východiskem pro vznik ontologií, případně, že by nemohly samy o sobě posloužit pro některý z účelů, pro které se běžně používají semi formální ontologie. Formální jazyk ovšem nahradit nemohou Topic Maps Hlavní motivací při návrhu Topic Maps [41] byla snaha vyřešit problémy s organizací velkého množství různorodých informací a umožnit tak co nejsnadnější navigaci mezi nimi. Vznikl tak další konceptuálně odlišný standard, který aspiruje na roli

40 KAPITOLA 3. JAZYKY PRO MODELOVÁNÍ ONTOLOGIÍ 37 ontologického jazyka. Základním konstruktem Topic Maps je téma (topic), které zastupuje určitý předmět (subject). Tématům jsou přiřazovány konkrétní informační zdroje, které se označují jako výskyty (occurrences). Témata mohou být propojena asociacemi. K odlišení témat se stejným názvem a odlišným obsahem slouží tzv. rozsah působnosti (scope). Pro zápis Topic Maps se používá XML syntaxe, neméně obvyklá je grafická reprezentace. Příklad 3.11 Použití Topic Maps pro zachycení rodinných vztahů. <?xml version="1.0" encoding="iso "?> <topicmap> <topic id="male"> <topname><basename>male</basename></topname> </topic> <topic id="female"> <topname><basename>female</basename></topname> </topic> <topic id="parent"> <topname><basename>parent</basename></topname> </topic> <topic id="mother" types="female parent"> <topname><basename>mother</basename></topname> </topic> <topic id="father" types="male parent"> <topname><basename>father</basename></topname> </topic> <assoc-template name="parent-child"> <topic-member topic-type="parent" occurs="+"/> <topic-member topic-type="child" occurs="+"/> <rule reflexive="0" transitive="0" symmetrical="0" type="member"> <topic-rl type="child"/> <assoc-rl type="is-child-of"/> <topic-rl type="parent"/> </rule> </assoc-template> <assoc type="parent-child"> <assocrl anchrole="father">jan Lucemburský</assocrl> <assocrl anchrole="mother">eliška Přemyslovna</assocrl> <assocrl anchrole="child">karel IV.</assocrl> </assoc> </topicmap>

41 KAPITOLA 3. JAZYKY PRO MODELOVÁNÍ ONTOLOGIÍ 38 Pro funkci univerzálního ontologického jazyka Topic Maps postrádají vyjadřovací sílu, které mají formálně logické jazyky. Neumožňují tudíž složitější inference, odvozování nad nimi se víceméně omezuje na slučování témat. Pro běžné použití při sémantickém indexování zdrojů ovšem mohou být přitažlivé jako snadno zvládnutelná alternativa k hlavním jazykům sémantického webu. 3.4 Poznámky k vývoji ontologických jazyků V předcházejícím textu jsme si představili širokou paletu ontologických jazyků. Rozdělili jsme je do tří skupin, na jazyky tradiční, jejichž vývoj byl zcela ukončen, webově orientované a nakonec jsme si uvedli i možné alternativy, které ovšem úlohu plnohodnotného ontologického jazyka plnit nemohou. S ohledem na vizi sémantického webu, který má současný internet povýšit na novou kvalitativní úroveň, se další vývoj odehrává především v oblasti webově orientovaných ontologických jazyků. Ze strany konsorcia W3C je již několik let patrné značné úsilí směřující k sjednocení způsobu reprezentace sémantických dat na webu. Pozornosti se logicky dostává zejména ontologickým jazykům jejichž základem je metadatový standard vytvořeným konsorciem W3C, tj. jazyk RDF. Grafový model RDF je na rozdíl od stromového modelu XML dostatečně otevřený pro vyjádření sémantiky metadat prostřednictvím ontologií. Je to tím, že jednotlivá tvrzení jsou v RDF nezávislá na ostatních, a přitom je možné je propojovat pomocí URI zdrojů. Vyjádření složitějších struktur pomocí RDF ovšem vyžaduje jejich rozložení do několika trojic provázaných proměnnými, přičemž každá trojice je dále serializována do elementů XML. Bráno z opačné strany, nejen že elementy XML definující trojice RDF již nemají sémantiku odpovídající modelu XML (jde o směsku elementů z různých jmenných prostorů s ohodnocenými atributy, avšak bez vlastního datového obsahu), ale i samotné trojice RDF již sémanticky neodpovídají modelu RDF. Nejsou na sobě vzájemně nezávislé, namísto regulérních zdrojů obsahují na mnoha místech proměnné a smysl dávají tudíž jen v kontextu. Hovoří se proto někdy o temných trojicích (dark triples). Dalším faktem je, že v současnosti je v XML zaznamenáno daleko více relevantních dat než v RDF. Někteří výzkumníci sémantického webu z těchto důvodů dokonce znovu otevírají již zdánlivě uzavřenou otázku: RDF nebo XML? Jak se ukázalo (případ SGML vs. XML), jednoduchost je důležitou podmínkou všeobecného rozšíření každého standardu. Při návrhu ontologického jazyka tak proti sobě stojí požadavek snadné práce s jazykem a silná vyjadřovací schopnost. Proto je v budoucnu nezbytná vývoj jazyků ve více verzích, tak jak je tomu v současnosti například u OWL a OWL Lite. Další důležitou vlastností webově orientovaných ontologických jazyků založených na RDF je alespoň částečná zpětná kompatibilita, která bude nepochybně zachovávána i do budoucna. Na příkladu 3.10 si můžeme povšimnout, že elementy XML

42 KAPITOLA 3. JAZYKY PRO MODELOVÁNÍ ONTOLOGIÍ 39 pocházejí z různých jmenných prostorů, označených prefixy rdf:, rdfs: a daml: (používaným pro DAML+OIL). Vztah RDF, RDFS a DAML+OIL (popřípadě OIL a OWL) můžeme chápat jako soustavu jazykových vrstev, ve které vyšší jazyk vždy dědí konstrukty z jazyka nižšího, ty pak není nutno znovu definovat. Předností takto vrstvené architektury ontologií je již zmiňovaná částečná zpětná kompatibilita. Zejména jde o situaci, kdy by ontologie měla být využita webovým agentem schopným pracovat např. pouze s RDFS. Ten bude schopen nejen provést základní syntaktickou analýzu kódu (vyjádřeného v korektním RDF), ale také identifikovat explicitní hierarchii tříd (popsanou pomocí konstruktů RDFS). Ztratí se pouze informace obsažená v logických výrazech DAML+OIL (v lokálních omezeních či axiomech). Webové ontologie byly od počátku chápány nikoliv jako pasivní soubory platných vztahů, ale jako znalostní báze, nad kterými lze strojově odvozovat (např. ověřovat konzistenci teorií a dovozovat implicitní vztahy subsumpce mezi třídami). Nároky na efektivní inferenci ovšem mohou být při standardizaci jazyka někdy v rozporu s nároky na snadný vývoj ontologií z pohledu uživatele. Příkladem může být rozdíl mezi OIL a DAML+OIL. Dvojí způsob reprezentace tvrzení v OIL (omezení slotů uvedená v definici třídy, a samostatné axiomy) je z hlediska inference zcela ekvivalentní a zbytečně zvyšuje nároky na syntaktickou analýzu kódu. Pokud má ovšem s ontologií pracovat jiný člověk, než ten, který ji vytvořil, může být rozlišení definičních vlastností třídy od ostatních tvrzení, která se o ní zmiňují, významné pro pochopení hlubšího smyslu. DAML+OIL a OWL již používá jednotný způsob jak vyjádřit tvrzení o určité třídě, není pravděpodobné, že by se tato filosofie do budoucna změnila.

43 Kapitola 4 RAT O Myšlenka využití anotací pro přesnější a podrobnější popis článků, časopisů, knih, atd. v bibliografických systémech je velice stará. Anotace poskytuje mnohem více relevantních informací než samotný název díla, usnadňuje třídění a hlavně zpětné vyhledávání. Tento přístup lze za využití výpočetní techniky aplikovat i k popisu jakéhokoliv informačního zdroje na internetu či v digitální knihovně. Anotace lze použít k vytvoření strukturovaného dokumentu osnovy, která se odkazuje na informační zdroje z oblasti našeho zájmu. Užitečnost editoru takovýchto osnov jako doplňku anotačního nástroje je zřejmá. Editor by měl umožňovat nejen vytváření osnov za použití existujících anotací, ale zároveň by měl umožňovat pozdější obohacování příslušného uzlu stromu reprezentujícího osnovu dokumentu o další texty, obrázky, odkazy na zdroje. RAT O (Resource Annotation and Outline Creation Tool) je softwarový nástroj, který vzniknul v Gerstnerově laboratoři [12] na ČVUT FEL v Praze jako součást projektu Cipher [5]. Nástroj umožňuje anotaci informačních zdrojů identifikovaných URI (Uniform Resource Identifiers) za použití slovního popisu a strukturovaných elementů klíčových slov. Klíčová slova mohou být ve formě prostého textového řetězce jednoduché klíčové slovo, nebo mohou být asociována s ontologickými třídami komplexní klíčové slovo. Hlavní síla a přidaná hodnota nástroje RAT O spočívá v použití komplexních klíčových slov pro vyjádření formálního významu, i když použití jednoduchých klíčových slov je stále možné. Další funkční vlastností nástroje je využití anotovaných zdrojů k vytváření osnov dokumentů. Osnovy mohou být uloženy v HTML formátu a jejich náhled zobrazen ve webovém prohlížeči. RAT O nepodporuje tvorbu a editaci ontologií, ty jsou v současné době vytvářeny editorem ontologií Apollo-NT [4]. Tato kapitola se zaměřuje na popis RAT serveru jako jedné z komponent nástroje RAT O, jeho autorem je pisatel této práce. Popis celého nástroje se zaměřením na uživatelské rozhraní lze nalézt v [48]. 40

44 KAPITOLA 4. RAT O Architektura aplikace RAT O je webová aplikace skládající se ze čtyř systémových komponent tenkého klienta, dvou JSP serverů a webového prohlížeče. Architektura nástroje RAT O je zobrazena na obr RAT O podporuje následující uživatelské aktivity: anotaci zdrojů a správu existujících anotací vytváření osnov za použití dostupných anotací Serverová část RAT-O se skládá ze dvou modulů, každý podporuje jednu ze zmíněných aktivit. RAT O klient komunikuje se servery pomocí http protokolu. Obr. 4.1: Architektura RAT O Popis systémových komponent Webový prohlížeč Slouží k prohlížení zdrojů identifikovaných URI, anotační proces lze vyvolat z kontextového menu (zatím jen MS Internet Explorer). Také se v něm zobrazují náhledy osnov z Outline serveru.

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

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

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

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

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

Petr Křemen. Katedra kybernetiky, FEL ČVUT. Petr Křemen (Katedra kybernetiky, FEL ČVUT) Sémantické sítě a rámce 1 / 112

Petr Křemen. Katedra kybernetiky, FEL ČVUT. Petr Křemen (Katedra kybernetiky, FEL ČVUT) Sémantické sítě a rámce 1 / 112 Sémantické sítě a rámce Petr Křemen Katedra kybernetiky, FEL ČVUT Petr Křemen (Katedra kybernetiky, FEL ČVUT) Sémantické sítě a rámce 1 / 112 Co nás čeká 1 Úvod do reprezentace znalostí 2 Sémantické sítě

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

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

Ontologie. Přednáška z předmětu Socioekonomická geografie pro geomatiku (KMA/SGG) Otakar Čerba Západočeská univerzita

Ontologie. Přednáška z předmětu Socioekonomická geografie pro geomatiku (KMA/SGG) Otakar Čerba Západočeská univerzita Ontologie Přednáška z předmětu Socioekonomická geografie pro geomatiku (KMA/SGG) Otakar Čerba Západočeská univerzita Datum vytvoření: 24.3. 2010 Poslední aktualizace: 15. 5. 2013 Ontologie... Proč ontologie

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

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

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

(#%ist #%LargeCorpInternalsMt #%ForAll x (#%HumanResourcesDepartment #%allinstances (#%actsincapacity x #%mediatorinprocesses #%EmployeeHiring

(#%ist #%LargeCorpInternalsMt #%ForAll x (#%HumanResourcesDepartment #%allinstances (#%actsincapacity x #%mediatorinprocesses #%EmployeeHiring Znalostní modelování Podobor znalostního inženýrství, který se zabývá tvorbou znalostních modelů spíše než finální implementací znalostních systémů Model: účelová abstrakce, která umožňuje snížit složitost

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

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

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

Deskripční logika. Petr Křemen FEL ČVUT. Petr Křemen (FEL ČVUT) Deskripční logika 37 / 157

Deskripční logika. Petr Křemen FEL ČVUT. Petr Křemen (FEL ČVUT) Deskripční logika 37 / 157 Deskripční logika Petr Křemen FEL ČVUT Petr Křemen (FEL ČVUT) Deskripční logika 37 / 157 Co nás čeká 1 Základy deskripční logiky 2 Jazyk ALC Syntax a sémantika 3 Cyklické a acyklické TBOXy Petr Křemen

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

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

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

Informační systémy 2008/2009. Radim Farana. Obsah. Obsah předmětu. Požadavky kreditového systému. Relační datový model, Architektury databází

Informační systémy 2008/2009. Radim Farana. Obsah. Obsah předmětu. Požadavky kreditového systému. Relační datový model, Architektury databází 1 Vysoká škola báňská Technická univerzita Ostrava Fakulta strojní, Katedra automatizační techniky a řízení 2008/2009 Radim Farana 1 Obsah Požadavky kreditového systému. Relační datový model, relace, atributy,

Více

1. Znalostní systémy a znalostní inženýrství - úvod. Znalostní systémy. úvodní úvahy a předpoklady. 26. září 2017

1. Znalostní systémy a znalostní inženýrství - úvod. Znalostní systémy. úvodní úvahy a předpoklady. 26. září 2017 Znalostní systémy úvodní úvahy a předpoklady 26. září 2017 1-1 Znalostní systém Definice ZS (Feigenbaum): Znalostní (původně expertní) systémy jsou počítačové programy simulující rozhodovací činnost experta

Více

Unifikovaný modelovací jazyk UML

Unifikovaný modelovací jazyk UML Unifikovaný modelovací jazyk UML Karel Richta katedra počíta tačů FEL ČVUT Praha richta@fel fel.cvut.czcz Motto: Komunikačním m prostředkem informační komunity se postupem času stala angličtina. Chcete-li

Více

Aplikace s odvozováním nad ontologiemi

Aplikace s odvozováním nad ontologiemi Aplikace s odvozováním nad ontologiemi Doc. Ing. Vojtěch Svátek, Dr. Zimní semestr 2012 http://nb.vse.cz/~svatek/rzzw.html Přehled Odvozování v medicíně Odvozování ve stavebnictví Odvozování v Linked Data

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

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

1. Integrační koncept

1. Integrační koncept Příloha č. 2: Technický popis integrace 1. Integrační koncept Z hlediska koncepčního budování Smart Administration na Magistrátu města Mostu je možno hovořit o potřebě integrace tří úrovní systémové architektury

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

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

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

Prolog PROgramming in LOGic část predikátové logiky prvního řádu rozvoj začíná po roce 1970 Robert Kowalski teoretické základy Alain Colmerauer, David

Prolog PROgramming in LOGic část predikátové logiky prvního řádu rozvoj začíná po roce 1970 Robert Kowalski teoretické základy Alain Colmerauer, David Úvod do Prologu Prolog PROgramming in LOGic část predikátové logiky prvního řádu rozvoj začíná po roce 1970 Robert Kowalski teoretické základy Alain Colmerauer, David Warren (Warren Abstract Machine) implementace

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

Modelování a odvozování v RDFS

Modelování a odvozování v RDFS Modelování a odvozování v RDFS Doc. Ing. Vojtěch Svátek, Dr. Zimní semestr 2012 http://nb.vse.cz/~svatek/rzzw.html Modelování v RDFS Základní konstrukce slovníku jsou Třídy Individua (jen význačná doménová

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 DISTRIBUOVANÝ

Více

Znalostní modelování

Znalostní modelování Znalostní modelování Podobor znalostního inženýrství, který se zabývá tvorbou znalostních modelů spíše než finální implementací znalostních systémů Model: účelová abstrakce, která umožňuje snížit složitost

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

6 Objektově-orientovaný vývoj programového vybavení

6 Objektově-orientovaný vývoj programového vybavení 6 Objektově-orientovaný vývoj programového vybavení 6.1 Co značí objektově-orientovaný - organizace SW jako kolekce diskrétních objektů, které zahrnují jak data tak chování objekt: OMG: Objekt je věc (thing).

Více

PRODUKTY Tovek Server 6

PRODUKTY Tovek Server 6 Tovek Server je serverová aplikace určená pro efektivní zpracování velkého objemu sdílených strukturovaných i nestrukturovaných dat. Umožňuje automaticky indexovat data z různých informačních zdrojů, intuitivně

Více

DATABÁZOVÉ SYSTÉMY. Metodický list č. 1

DATABÁZOVÉ SYSTÉMY. Metodický list č. 1 Metodický list č. 1 Cíl: Cílem předmětu je získat přehled o možnostech a principech databázového zpracování, získat v tomto směru znalosti potřebné pro informačního manažera. Databázové systémy, databázové

Více

GTL GENERATOR NÁSTROJ PRO GENEROVÁNÍ OBJEKTŮ OBJEKTY PRO INFORMATICA POWERCENTER. váš partner na cestě od dat k informacím

GTL GENERATOR NÁSTROJ PRO GENEROVÁNÍ OBJEKTŮ OBJEKTY PRO INFORMATICA POWERCENTER. váš partner na cestě od dat k informacím GTL GENERATOR NÁSTROJ PRO GENEROVÁNÍ OBJEKTŮ OBJEKTY PRO INFORMATICA POWERCENTER váš partner na cestě od dat k informacím globtech spol. s r.o. karlovo náměstí 17 c, praha 2 tel.: +420 221 986 390 info@globtech.cz

Více

1. Dědičnost a polymorfismus

1. Dědičnost a polymorfismus 1. Dědičnost a polymorfismus Cíl látky Cílem této kapitoly je představit klíčové pojmy dědičnosti a polymorfismu. Předtím však je nutné se seznámit se základními pojmy zobecnění neboli generalizace. Komentář

Více

Business Intelligence

Business Intelligence Business Intelligence Josef Mlnařík ISSS Hradec Králové 7.4.2008 Obsah Co je Oracle Business Intelligence? Definice, Od dat k informacím, Nástroj pro operativní řízení, Integrace informací, Jednotná platforma

Více

Nepravidlové a hybridní znalostní systémy

Nepravidlové a hybridní znalostní systémy Nepravidlové a hybridní znalostní systémy 7. 14. listopadu 2017 _ 3-1 Nepravidlové reprezentace znalostí K nepravidlovým reprezentačním technikám patří: rozhodovací stromy rámce sémantické sítě Petriho

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

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

Analýza a modelování dat. Helena Palovská

Analýza a modelování dat. Helena Palovská Analýza a modelování dat Helena Palovská Analýza a modelování pro SW projekt Strukturovaný přístup Dynamická část (procesy, aktivity, funkce) Statická část (data) Objektově orientovaný přístup use case

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

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

7.3 Diagramy tříd - základy

7.3 Diagramy tříd - základy 7.3 Diagramy tříd - základy - popisuje typy objektů a statické vztahy mezi nimi Objednávka -datumpřijetí -předplacena -číslo -cena +vyřiď() +uzavři() {if Objednávka.zákazník.charakteristika = 'nejistý'

Více

7.3 Diagramy tříd - základy

7.3 Diagramy tříd - základy 7.3 Diagramy tříd - základy - popisuje typy objektů a statické vztahy mezi nimi Objednávka -datumpřijetí -předplacena -číslo -cena +vyřiď() +uzavři() {if Objednávka.zákazník.charakteristika = 'nejistý'

Více

Kolaborativní aplikace

Kolaborativní aplikace Kolaborativní aplikace Michal Máčel Vema, a. s. Okružní 3a, 638 00 Brno - Lesná, macel@vema.cz Tomáš Hruška Fakulta informačních technologií Vysokého učení technického v Brně, Ústav informačních systémů,

Více

Principy UML. Clear View Training 2005 v2.2 1

Principy UML. Clear View Training 2005 v2.2 1 Principy UML Clear View Training 2005 v2.2 1 1.2 Co je touml? Unified Modelling Language (UML) je univerzálníjazyk pro vizuální modelování systémů Podporuje všechny životní cykly Mohou jej implementovat

Více

PRODUKTY. Tovek Tools

PRODUKTY. Tovek Tools Analyst Pack je 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

Více

Okruhy z odborných předmětů

Okruhy z odborných předmětů VYŠŠÍ ODBORNÁ ŠKOLA INFORMAČNÍCH STUDIÍ A STŘEDNÍ ŠKOLA ELEKTROTECHNIKY, MULTIMÉDIÍ A INFORMATIKY Novovysočanská 280/48, 190 00 Praha 9 Pracoviště VOŠ: Pacovská 350/4, 140 00 Praha 4 Okruhy z odborných

Více

POPIS STANDARDU CEN TC278/WG7. 1 z 5. draft prenv Geografická silniční databáze. Oblast: ZEMĚPISNÁ DATA V SILNIČNÍ DOPRAVĚ ( GRD)

POPIS STANDARDU CEN TC278/WG7. 1 z 5. draft prenv Geografická silniční databáze. Oblast: ZEMĚPISNÁ DATA V SILNIČNÍ DOPRAVĚ ( GRD) POPIS STANDARDU CEN TC278/WG7 Oblast: ZEMĚPISNÁ DATA V SILNIČNÍ DOPRAVĚ ( GRD) Zkrácený název: GEOGRAFICKÁ DATABÁZE Norma číslo: 14825 Norma název (en): GDF GEOGRAPHIC DATA FILES VERSION 4.0 Norma název

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

UML - opakování I N G. M A R T I N M O L H A N E C, C S C. Y 1 3 A N W

UML - opakování I N G. M A R T I N M O L H A N E C, C S C. Y 1 3 A N W UML - opakování I N G. M A R T I N M O L H A N E C, C S C. Y 1 3 A N W Co je to UML Evoluce UML Diagram komponent Diagram odbavení Diagram tříd Aktivity diagram Stavový diagram Sekvenční diagram Diagram

Více

SK01-KA O1 Analýza potřeb. Shrnutí. tým BCIME

SK01-KA O1 Analýza potřeb. Shrnutí. tým BCIME 2018-1-SK01-KA203-046318 O1 Analýza potřeb Shrnutí tým BCIME Vyloučení odpovědnosti: Podpora Evropské komise pro vydání této publikace nepředstavuje její souhlas s obsahem, který odráží pouze názory autorů.

Více

Profilová část maturitní zkoušky 2017/2018

Profilová část maturitní zkoušky 2017/2018 Střední průmyslová škola, Přerov, Havlíčkova 2 751 52 Přerov Profilová část maturitní zkoušky 2017/2018 TEMATICKÉ OKRUHY A HODNOTÍCÍ KRITÉRIA Studijní obor: 78-42-M/01 Technické lyceum Předmět: TECHNIKA

Více

Myšlenkové mapy v Linuxu

Myšlenkové mapy v Linuxu Myšlenkové mapy v Linuxu Michal Černý LinuxAlt 2011 Abstrakt Myšlenkové mapy se staly nezpochybnitelným fenoménem. Používají se k rozvoji kreativního myšlení, ke studiu, kooperaci na projektech nebo jako

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

Funkcionální programování. Kristýna Kaslová

Funkcionální programování. Kristýna Kaslová Funkcionální programování Kristýna Kaslová Historie Alonzo Church (30. léta) Netypovaný lambda kalkul Základ prvních funkcionálních jazyků Jeho konstrukce i v mnoha současných programovacích jazycích (Python)

Více

Diagramy tříd - základy

Diagramy tříd - základy Diagramy tříd - základy - popisuje typy objektů a statické vztahy mezi nimi Objednávka Zákazník -datumpřijetí -předplacena -číslo -cena +vyřiď() +uzavři() {if Objednávka.zákazník.charakteristika = 'nejistý'

Více

Úvod. Klíčové vlastnosti. Jednoduchá obsluha

Úvod. Klíčové vlastnosti. Jednoduchá obsluha REQUESTOR DATASHEET Úvod Requestor Service Desk poskytuje kompletní řešení pro správu interních i externích požadavků, které přicházejí do organizace libovolnou cestou. Produkt je zaměřen na vytvoření

Více

MATLABLINK - VZDÁLENÉ OVLÁDÁNÍ A MONITOROVÁNÍ TECHNOLOGICKÝCH PROCESŮ

MATLABLINK - VZDÁLENÉ OVLÁDÁNÍ A MONITOROVÁNÍ TECHNOLOGICKÝCH PROCESŮ MATLABLINK - VZDÁLENÉ OVLÁDÁNÍ A MONITOROVÁNÍ TECHNOLOGICKÝCH PROCESŮ M. Sysel, I. Pomykacz Univerzita Tomáše Bati ve Zlíně, Fakulta aplikované informatiky Nad Stráněmi 4511, 760 05 Zlín, Česká republika

Více

KMA/PDB. Karel Janečka. Tvorba materiálů byla podpořena z prostředků projektu FRVŠ č. F0584/2011/F1d

KMA/PDB. Karel Janečka. Tvorba materiálů byla podpořena z prostředků projektu FRVŠ č. F0584/2011/F1d KMA/PDB Prostorové databáze Karel Janečka Tvorba materiálů byla podpořena z prostředků projektu FRVŠ č. F0584/2011/F1d Sylabus předmětu KMA/PDB Úvodní přednáška Základní terminologie Motivace rozdíl klasické

Více

Softwarové komponenty a Internet

Softwarové komponenty a Internet Softwarové komponenty a Internet Doc. Dr. Ing. Miroslav Beneš Katedra informatiky FEI VŠB-TU Ostrava Miroslav.Benes@vsb.cz Obsah přednášky Motivace Vývoj přístupů k tvorbě programů Definice komponenty

Více

Databázové systémy. Ing. Radek Holý

Databázové systémy. Ing. Radek Holý Databázové systémy Ing. Radek Holý holy@cvut.cz Literatura: Skripta: Jeřábek, Kaliková, Krčál, Krčálová, Kalika: Databázové systémy pro dopravní aplikace Vydavatelství ČVUT, 09/2010 Co je relační databáze?

Více

Vzdělávací obsah vyučovacího předmětu

Vzdělávací obsah vyučovacího předmětu V.9.3. Vzdělávací obsah vyučovacího předmětu Vzdělávací oblast: Inormatika a informační a komunikační technologie Vyučovací předmět: Informatika Ročník: 1. ročník + kvinta chápe a používá základní termíny

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

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

Specifikace požadavků. POHODA Web Interface. Verze 1.0. Datum: Autor: Ondřej Šrámek

Specifikace požadavků. POHODA Web Interface. Verze 1.0. Datum: Autor: Ondřej Šrámek Specifikace požadavků POHODA Web Interface Verze 1.0 Datum: 29.12. 2008 Autor: Ondřej Šrámek Copyright 1999 by Karl E. Wiegers. Permission is granted to use, modify, and distribute this document. Strana

Více

3. Je defenzivní programování technikou skrývání implementace? Vyberte jednu z nabízených možností: Pravda Nepravda

3. Je defenzivní programování technikou skrývání implementace? Vyberte jednu z nabízených možností: Pravda Nepravda 1. Lze vždy z tzv. instanční třídy vytvořit objekt? 2. Co je nejčastější příčinou vzniku chyb? A. Specifikace B. Testování C. Návrh D. Analýza E. Kódování 3. Je defenzivní programování technikou skrývání

Více

Klasické metodiky softwarového inženýrství I N G M A R T I N M O L H A N E C, C S C. Y 1 3 A N W

Klasické metodiky softwarového inženýrství I N G M A R T I N M O L H A N E C, C S C. Y 1 3 A N W Klasické metodiky softwarového inženýrství I N G M A R T I N M O L H A N E C, C S C. Y 1 3 A N W Osnova přednášky Co to je softwarové inženýrství Softwarový proces Metodika a metoda Evoluce softwarových

Více

Vývoj informačních systémů. Přehled témat a úkolů

Vývoj informačních systémů. Přehled témat a úkolů Vývoj informačních systémů Přehled témat a úkolů Organizace výuky doc. Mgr. Miloš Kudělka, Ph.D. EA 439, +420 597 325 877 homel.vsb.cz/~kud007 milos.kudelka@vsb.cz Přednáška Teorie Praxe Cvičení Diskuze

Více

Objektově orientované databáze. Miroslav Beneš

Objektově orientované databáze. Miroslav Beneš Objektově orientované databáze Miroslav Beneš Obsah přednášky Motivace Vlastnosti databázových systémů Logické datové modely Nevýhody modelů založených na záznamech Co potřebujeme modelovat? Identifikace

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

POKROČILÉ POUŽITÍ DATABÁZÍ

POKROČILÉ POUŽITÍ DATABÁZÍ POKROČILÉ POUŽITÍ DATABÁZÍ Barbora Tesařová Cíle kurzu Po ukončení tohoto kurzu budete schopni pochopit podstatu koncepce databází, navrhnout relační databázi s využitím pokročilých metod, navrhovat a

Více

Tieto Future Office. Přehled. Země: Česká republika. Odvětví: Samospráva

Tieto Future Office. Přehled. Země: Česká republika. Odvětví: Samospráva Tieto Future Office Přehled Země: Česká republika Odvětví: Samospráva Profil zákazníka: Magistrát města Plzeň je orgánem města Plzně, který plní jeho úkoly v oblasti územní samosprávy i státní správy na

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

Vývoj informačních systémů. Přehled témat a úkolů

Vývoj informačních systémů. Přehled témat a úkolů Vývoj informačních systémů Přehled témat a úkolů Organizace výuky doc. Mgr. Miloš Kudělka, Ph.D. EA 439, +420 597 325 877 homel.vsb.cz/~kud007 milos.kudelka@vsb.cz Přednáška Znalosti Schopnosti Cvičení

Více

Programování II. Modularita 2017/18

Programování II. Modularita 2017/18 Programování II Modularita 2017/18 Modul? Osnova přednášky Vývoj programování Modularita Příklad Vývoj programování Paradigmata programování Jak a proč se jazyky vyvíjejí? V čem se OOP liší od předchozích

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

Profilová část maturitní zkoušky 2013/2014

Profilová část maturitní zkoušky 2013/2014 Střední průmyslová škola, Přerov, Havlíčkova 2 751 52 Přerov Profilová část maturitní zkoušky 2013/2014 TEMATICKÉ OKRUHY A HODNOTÍCÍ KRITÉRIA Studijní obor: 78-42-M/01 Technické lyceum Předmět: TECHNIKA

Více

Problémové domény a jejich charakteristiky

Problémové domény a jejich charakteristiky Milan Mišovič (ČVUT FIT) Pokročilé informační systémy MI-PIS, 2011, Přednáška 02 1/16 Problémové domény a jejich charakteristiky Prof. RNDr. Milan Mišovič, CSc. Katedra softwarového inženýrství Fakulta

Více

10 Balíčky, grafické znázornění tříd, základy zapozdření

10 Balíčky, grafické znázornění tříd, základy zapozdření 10 Balíčky, grafické znázornění tříd, základy zapozdření Studijní cíl Tento studijní blok má za cíl pokračovat v základních prvcích jazyka Java. Konkrétně bude věnována pozornost příkazům balíčkům, grafickému

Více

Architektura informačních systémů. - dílčí architektury - strategické řízení taktické řízení. operativní řízení a provozu. Globální architektura

Architektura informačních systémů. - dílčí architektury - strategické řízení taktické řízení. operativní řízení a provozu. Globální architektura Dílčí architektury Informační systémy - dílčí architektury - EIS MIS TPS strategické řízení taktické řízení operativní řízení a provozu 1 Globální Funkční Procesní Datová SW Technologická HW Aplikační

Více

Informační a komunikační technologie

Informační a komunikační technologie Dodatek č. Školního vzdělávacího programu Obchodní akademie Lysá nad Labem, obor 63-4-M/02 Obchodní akademie, platného od. 9. 202 - platnost dodatku je od. 9. 206 Informační a komunikační technologie je

Více

Programovací jazyky. imperativní (procedurální) neimperativní (neprocedurální) assembler (jazyk symbolických instrukcí)

Programovací jazyky. imperativní (procedurální) neimperativní (neprocedurální) assembler (jazyk symbolických instrukcí) Programovací jazyky Programovací jazyky nižší assembler (jazyk symbolických instrukcí) vyšší imperativní (procedurální) Pascal, C/C++, Java, Basic, Python, php neimperativní (neprocedurální) Lisp, Prolog

Více

INFORMAČNÍ SYSTÉMY NA WEBU

INFORMAČNÍ SYSTÉMY NA WEBU INFORMAČNÍ SYSTÉMY NA WEBU Webový informační systém je systém navržený pro provoz v podmínkách Internetu/intranetu, tzn. přístup na takový systém je realizován přes internetový prohlížeč. Použití internetového

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

RELACE, OPERACE. Relace

RELACE, OPERACE. Relace RELACE, OPERACE Relace Užití: 1. K popisu (evidenci) nějaké množiny objektů či jevů, které lze charakterizovat pomocí jejich vlastnostmi. Entita je popsána pomocí atributů. Ty se vybírají z domén. Různé

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

Objektové modely a znalostní ontologie podobnosti a rozdíly

Objektové modely a znalostní ontologie podobnosti a rozdíly Objektové modely a znalostní ontologie podobnosti a rozdíly Vojtěch Svátek, Martin Labský Katedra informačního a znalostního inženýrství, Vysoká škola ekonomická v Praze, nám. W. Churchilla 4, 130 67,

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

Integrace datových služeb vědecko-výukové skupiny

Integrace datových služeb vědecko-výukové skupiny České vysoké učení technické v Praze Fakulta elektrotechnická Software Engineering & Networking Projekt Fondu rozvoje sdružení CESNET-513/2014/1 HS: 13144 / 830 / 8301442C Integrace datových služeb vědecko-výukové

Více

IB111 Programování a algoritmizace. Programovací jazyky

IB111 Programování a algoritmizace. Programovací jazyky IB111 Programování a algoritmizace Programovací jazyky Programovací jazyky Programovací jazyk Prostředek pro zápis algoritmů, jež mohou být provedeny na počítači Program Zápis algoritmu v programovacím

Více

ROZDÍLY V NÁVRZÍCH RELAČNÍCH A OBJEKTOVÝCH DATABÁZÍ A JEJICH DŮSLEDKY PRO TRANSFORMACI MODELŮ

ROZDÍLY V NÁVRZÍCH RELAČNÍCH A OBJEKTOVÝCH DATABÁZÍ A JEJICH DŮSLEDKY PRO TRANSFORMACI MODELŮ ROZDÍLY V NÁVRZÍCH RELAČNÍCH A OBJEKTOVÝCH DATABÁZÍ A JEJICH DŮSLEDKY PRO TRANSFORMACI MODELŮ RELATIONAL AND OBJECT DATABASES DESIGN DIFFERENCES AND IT S IMPLICATIONS TO MODEL TRANSFORMATION Vít Holub

Více

XML Š ABLONY A JEJICH INTEGRACE V LCMS XML TEMPLATES AND THEIN INTEGRATION IN LCMS

XML Š ABLONY A JEJICH INTEGRACE V LCMS XML TEMPLATES AND THEIN INTEGRATION IN LCMS XML Š ABLONY A JEJICH INTEGRACE V LCMS XML TEMPLATES AND THEIN INTEGRATION IN LCMS Roman MALO - Arnošt MOTYČKA This paper is oriented to discussion about using markup language XML and its features in LCMS

Více