KAPITOLA 5.: TVORBA OWL ONTOLOGIE KROK ZA KROKEM

Tvorba OWL ontologie

Založení OWL projektu v Protégé

Tvorba metadat

Tvorba taxonomie

Disjunktnost tříd

Zakládání objektových vlastností

Specifikace definičního oboru a oboru hodnot

Specifikace inverzní vlastnosti

Vizualizace ontologie



Úvod

Od páté kapitoly se už budeme zabývat praktickou realizací OWL ontologie. Na cvičeních ZT1 budeme vytvářet ontologii týkající se skvělého jídla – Pizzy. Jedná se o velmi zajímavou doménu až se sliny sbíhají :-). Vysvětlování modelování znalostí s pomocí OWL jazyka na tomto webu nebude věnován gastronomii, ale spíš přírodním vědám. Budeme vytvářet ontologii zvířecího řádu Papoušků (lat. Psittaciformes) podle J. M. Forshawa (informace o taxonomii byly získány z webu pana L. Svobody ).

Přípravné práce

Před tím, než začneme tvořit jakoukoliv ontologii, tak je vhodné mít odpovědi na následující otázky. Uvádím podle mě ty nejpodstatnější:

I. otázky spojené s požadavky od zadavatele projektu:

II. otázky spojené s realizací projektu:

I.

Ontologii budeme vytvářet pro potřeby člověka, který chce vlastnit nějakého papouška, ale moc se nevyzná v jednotlivých čeledích, podčeledích, rodech a druzích. Je jich totiž velká spousta. Takový zájemce musí navíc přihlížet např. k ceně papouška ( některé druhy dosahují deseti i stotisícových hodnot), jeho vlastnostem (schopnost imitace, stupeň náročnosti na péči např. ohledně stravy apod.), požadavkům na prostor, jestli je tedy vhodný pro začátečníky, pokročilé nebo experty, jestli je v obchodech dostupný atd. Důvody tvorby ontologie jsou tedy jasné, usnadnit výběr papouška budoucímu „chovateli“. Otázku: „Do jaké doby má být ontologie vytvořena?“ budeme zanedbávat.

II.

Každá ontologie se týká určité domény, tj. problémové oblasti. Modeluje koncepty, které jsou abstraktní nebo konkrétní, obecné nebo specifické. Na ontologickém modelování je podle mě nejobtížnější říct si v pravý čas: „Stop!“, resp. zvolit takový záběr ontologie, který budeme schopni realizovat a který bude zároveň vyhovovat požadavkům zadavatele. Už si nepamatuji, v kterém zdroji jsem slyšela následující myšlenku: „Tvorba ontologie se velmi podobá pohledu na fraktálovou strukturu, můžeme stále a stále tu strukturu zoomovat, ale nikdy nedojdeme konce.“ To znamená, že tvorba ontologie je snad nikdy nekončící činností, téměř vždy si řekneme: „Mmm, ještě mi tam chybí tahle třída a tahle vlastnost, no jo, ale tahle třída ještě souvisí s touto a touto ... vlastně to ještě nemám úplné, chybí mi tam další třída. Popravdě, Vaše ontologie nikdy nebude úplná, protože náš svět a vesmír čítá tolik tříd, vlastností a jedinců, že je prostě všechny nelze do ontologie zahrnout ... to může být také jeden z důvodů, proč se ontologie dělí třeba na doménově orientované (pokrývají jen určitou konkrétní, více ohraničenou doménu) nebo ontologie generické, které pokrývají velmi obecné koncepty, jako je prostor, čas, věc, hmota, atd.

Takže tedy ontologie papoušků bude obsahovat čeledě a podčeledě. Rody a druhy nebudou kompletní, ale některé z nich budou zahrnuty. Především se budeme orientovat na modelování podčeledě Papoušci (lat. Psittacinae) čeledě Papouškovitých (lat. Psittacidae).

Co se týká vývojového prostředí, tak Protégé je jedním z nejčastěji používaných a budeme s ním pracovat i v ZT1. Pokud by Vás zajimala další prostředí, zde je webový odkaz se seznamem různých editorů pro tvorbu ontologií Ontology Editors Survey. Vývojové prostředí bude Protégé 3.4 Beta (build 505) a modelovací jazyk OWL. Jazykem ontologie bude angličtina. Koncepty budou někdy obsahovat latinský název, což zřejmě není příliš moudré - měli bychom zachovávat jeden jazyk, ale dohledávání všech anglických ekvivalentů papoušků bylo problematické. V komentářích bude uveden český komentář k prvkům ontologie. Názvy tříd budou začínat velkými písmeny, vlastnosti malými, jedinci velkými.

Založení projektu a přidělení metadat

OWL projekt

Pro to, abychom mohli vyvjet OWL ontologii, musíme nejdříve založit projekt, zvolit typ souboru, umístění ontologie na webu, notaci OWL a typ pohledu. Ohledně typu pohledu, pro začátečníky se doporučuje zvolit Properties View, pro pokročilé Logic View. I když se zatím můžete za začátečníky považovat, zvolíme Logic View.Obrázky níže demonstrují, jak postupovat.


Založení projektu - krok 1.

Obrázek: Založení projektu - krok 1.

Založení projektu - krok 2.

Obrázek: Založení projektu - krok 2.

Založení projektu - krok 3.

Obrázek: Založení projektu - krok 3.

Následně se před námi objeví několik záložek. Záložka Metadata umožňuje přidělit metadata k ontologii, OWLClasses slouží k tvorbě taxonomie, pojmenovávání tříd, přiřazování popisů a definic třídám, zabezpečení disjunktnosti tříd atd. Záložka Properties umožňuje vytvářet relace mezi třídami (jedinci), stanovit druh vlastnosti, definiční obor a obor hodnot. Záložka Individuals nám umožní tvořit jedince tříd a Forms je pro tvorbu formulářů. Pokud Vám zatím nejsou jasné některé výše uvedené pojmy nevadí, budou vysvětleny co nejdříve. S jednotlivými záložkami se budeme seznamovat v průběhu tvorby ontologie.

Metadata k ontologii

Je vhodné uvést dodatečné informace k ontologii. Metadata umožňují získat základní pohled na obsah ontologie, jejího autora, verzi nebo jazyk, ve kterém je vytvořena. K tomu slouží záložka Metadata. Volbou Create annotation value specifikujeme informace k ontologii. Tvorba metadat není povinná, ale pro správu ontologií je vhodná. Tak jako tvoříme komentáře nebo dokumentaci ke zdrojovým kódům našich programů, je vhodné přidělovat metadata k ontologiím, viz. obrázek Metadata pro ontologii.


Metadata

Obrázek: Metadata

Poznámka

Doporučuji ontologii ukládat co nejčastěji, abychom nepřišli o naši práci. V Protégé k tomu používáme volbu File/Save Project. Při prvním ukládání jsme vyzváni k uvedení názvu projektu i OWL ontologie. V našem případě zvolíme třeba název parrots01, viz. obrázek Uložení projektu a ontologie.


Uložení projektu a ontologie

Obrázek: Uložení projektu a ontologie