KAPITOLA 6.: REPREZENTACE SÉMANTIKY TŘÍD (1) - EXISTENCIÁLNÍ OMEZENÍ

Jedná se o nejběžnější typ omezení, který nese označení some, at least 1, some Values From nebo symbol . Toto omezení je "světu velmi otevřené" nebo jinak je velmi "volné". Týká se tzv. modelu otevřeného světa (Open World Assumption), ve kterém se tvrdí následující: o ničem nemůžeme tvrdit, že to neexistuje, dokud není explicitně vyjádřeno, že to opravdu neexistuje. Jako příklad lze uvést debatu nad přítomností inteligentního života ve vesmíru. I když dosud nebyla prokázána přítomnost inteligentních tvorů v jiných vesmírných systémech, neznamená to, že takový život opravdu neexistuje. Díky OWA jsme otevřeni pokroku (novým zítřkům) :-). Existuje samozřejme postup, jak otevřený svět učinit uzavřeným, abychom mohli s jeho modelem (ontologií) v počítači lépe pracovat. Tím postupem je tzv. axiom uzávěru vlastnosti, ale o něm se více dozvíte v sedmé kapitole.

Zpět k existenčnímu omezení. Můžete ho nazývat existenční nebo existenciální, rozdíl mezi tím není. Jaký je jeho význam? Uveďme si příklad na naší dosud vytvořené ontologii papoušků. Začněmě rodem Kakadu - Cacatua, viz. obrázek druhu zvaného Kakadu žlutočečelatý ( zdroj ).


Kakadu žlutočečelatý

Obrázek: Kakadu žlutočečelatý

Vyjdeme z obecných vlastností papoušků rodu Kakadu a budeme chtít zachytit, že:

  1. Kakadu spadá do podčeledi papoušků Cacatuinae
  2. dožívá se dlouhého věku (poznámka: ze všech papoušků se dožívá nejvyššího věku)
  3. je to křikloun, tj. má vysoký stupeň hlasitosti
  4. je to dobrý imitátor
  5. na péči je vysoce náročný
  6. živí se listy eukalyptu, hmyzem, kukuřicí, prosem, ořechy a slunečnicemi
  7. je velmi velký, resp. jistě nad 30 cm

Samozřejmě bychom mohli zachytit mnoho dalších zajímavostí, jako např., že je často v páření agresivní, miluje déšť, rád ničí svoji klec nebo voliéru ... ale zůstaneme u těch základních charakteristik. Podle sebe pak můžete ontologii rozšiřovat sami.

Požadavek první: je v podčeledi Cacatuinae. Tento požadavek je již splněn, protože jsme třídu CockatooCacatua uvedli jako podtřídu třídy ParrotCacatuinae.

Požadavek druhý: dožívá se dlouhého věku; samozřejmě se může stát, že náš Kakadu je nějak nemocný a dlouhověkost u něj nebude platit, ale budeme se držet obecně platných charakteristik, resp. každý Kakadu se dožívá vysokého věku. Pro zachycení tvrzení: "Každý Kakadu se dožívá vysokého věku." musíme využít existenciální omezení, které říká, že pro každého jedince z třídy CockatooCacatua platí, že je dlouhověký, resp. má vztah podél objektové vlastnosti hasLongevity ("životnost") k třídě Longevity, resp. Aeon (= dlouhověkost). Ale pozor: důležitou vlastností existenciálního omezení je ten fakt, že Kakadu může mít ještě vztah k jiné třídě. K jaké? K té, která je vymezena jako obor hodnot objektové vlastnosti hasLongevity. Obrázek Existenciální omezení - Kakadu a věk znázorňuje tvrzení: "Každý jedinec z třídy CockatooCacatua se dožívá vysokého věku." Jinak řečeno: "Každý jedinec z třídy CockatooCacatua má vztah k jedinci z třídy Aeon, přičemž může mít vztah ještě k jiným třídám". K jakým dalším třídám? Závisí to na tom, jaký obor hodnot je specifikován u objektové vlastnosti hasLongevity. Máme zde uvedenou třídu Longevity, takže takový Kakadu může mít vztah k třídě MiddleAge nebo ShortAge nebo Longevity. Ontologie by byla nekonzistentní, kdybychom uvažovali ještě jiné třídy, kromě výše uvedených - obor hodnot je uveden jednoznačně.


Existenciální omezení - Kakadu a věk

Obrázek: Existenciální omezení - Kakadu a věk

Tvorba jednoduchých podmínek není v Protégé nijak složitá. V sekci Necessary zvolíme volbu: Create restriction. Objeví se nám menu, ze kterého vybereme požadovanou objektovou vlastnost (hasLongevity), typ omezení (v našem případě someValuesFrom = existenciální) a tzv. Filler, což je třída, na kterou je objektová vlastnost omezována (jednoduše řečeno, ta třída na pravé straně od vlastnosti hasLongevity). Když zadáváme třídu v sekci Filler, tak pokud si přesně nepamatujeme název třídy, třeba víme jen její počáteční písmeno, tak tabulátorem vyvoláme kontextové menu s výpisem tříd, které podle počátečního písmene připadají v úvahu, viz. obrázek Existenciální omezení v Protégé.


Existenciální omezení v Protégé

Obrázek: Existenciální omezení v Protégé

Obrázek níže ukazuje význam obou podmínek.


Existenciální omezení v Protégé

Obrázek: Existenciální omezení v Protégé

Jistě si teď říkáte, no jo, ale když se všeobecně tvrdí, že se Kakadu dožívá vysokého věku, tak proč nechávat v popisu třídy tu skutečnost, že jedinec z třídy CockatooCacatua se může dožívat i jiného věku, třeba středního? Už jsme se o tom jednou zmiňovali, existuje způsob jak říci, že se dožívá všeobecně jen a jen vysokého věku - jedná se o axiom uzavření vlastnosti, ale vyčkejme na sedmou kapitolu.

Třetí požadavek: je to křikloun => má vysoký stupeň hlasitosti. Tvoří se obdobně jako předchozí podmínka, opět s existenčním omezením. O papoušcích Kakadu se opravdu říká, že hodně křičí, takže zavedeme opět obecné tvrzení, že zkrátka: "Kakadu má vysoký stupeň hlasitosti.", viz. obrázek Existenciální omezení - Kakadu a hlasitost.


Existenciální omezení - Kakadu a hlasitost

Obrázek: Existenciální omezení - Kakadu a hlasitost

Podmínky týkající se imitace, náročnosti a velikosti se vytvářejí opět obdobně. Tvorba podmínek spojená se stravou je od dosavadních podmínek odlišná. Kakadu se živí listy eukalyptu a zároveň hmyzem, pak také kukuřicí, prosem, ořechy a slunečnicemi, resp. všemi těmito pochutinami. Opět si přeložíme podmínku do češtiny, aneb co chceme zachytit: "Kakadu se živí jak listy eukalyptu, hmyzem, kukuřicí, prosem, ořechy a také slunečnicemi." Toto vše mu můžeme podávat. Jiná věc je, že mu třeba ořechy chutnat nebudou a může jíst hmyz nebo proso, ale ne obojí, ale to už je jiná věc. Musíme se jednoznačně rozhodnout, jakou cestu zvolíme - to pak ovlivňuje podobu podmínek. Takže grafická interpretace naší české věty vypadá následovně, viz. obrázek Existenciální omezení - Kakadu a strava.


Existenciální omezení - Kakadu a strava

Obrázek: Existenciální omezení - Kakadu a strava

Mezi jednotlivými podmínkami existuje vztah AND, tj.
Kakadu se živí eukalyptem AND
Kakadu se živí hmyzem AND
... atd., viz. obrázek Podmínky a AND vztah.


Podmínky a AND vztah

Obrázek: Podmínky a AND vztah

Možná si říkáte, proč se zrovna tímto způsobem musí reprezentovat náš požadavek na stravu papouška Kakadu. Proč nemůže být požadavek na stravu reprezentován např. následovně, viz. obrázek Existenciální omezení - Kakadu a strava (AND).


Existenciální omezení - Kakadu a strava (AND)

Obrázek: Existenciální omezení - Kakadu a strava (AND)

Zkusíme opačný postup. Podmínku na obrázku Existenciální omezení - Kakadu a strava (AND) znázorníme graficky, viz. obrázek níže.


Existenciální omezení - Kakadu a strava (AND-množina)

Obrázek: Existenciální omezení - Kakadu a strava (AND-množina)

Jak vidíte, mezi podmínkami zachycenými vícero existenciálními omezeními a jen jedním existenciálním omezením, je rozdíl. Co podmínka, to jeden určitý konkrétní vztah. Každou třídu si představte jako množinu. Na obrázku Existenciální omezení - Kakadu a strava máme 6 vztahů (vlastností) a 6 množin. Na obrázku Existenciální omezení - Kakadu a strava (AND-množina) máme jen jeden vztah (vlastnost) a jednu množinu - tzv. anonymní (nepojmenovanou) třídu, která vznikla poskládáním z množin (tříd) dílčích. Podmínky si tedy můžete převádět na množinové operace. Podmínka s jedním vztahem a jednou množinou není správná. Důvod je ten, že asi neexistuje surovina, která by byla kukuřicí a zároveň hmyzem - není tedy možný průnik těchto tříd. Navíc disjunktností jsme uvedli, že třída Corn (Kukuřice) a Insect (Hmyz) jsou navzájem různé - nemají žádného společného jedince (prvek).

Následující stránka je věnována popisu dalšího papouška - Andulky - třídy ParrotBudgerigar.