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ý](zt1_obrazky/kap06/kakadu02.jpg)
Vyjdeme z obecných vlastností papoušků rodu Kakadu a budeme chtít zachytit, že:
- Kakadu spadá do podčeledi papoušků Cacatuinae
- dožívá se dlouhého věku (poznámka: ze všech papoušků se dožívá nejvyššího věku)
- je to křikloun, tj. má vysoký stupeň hlasitosti
- je to dobrý imitátor
- na péči je vysoce náročný
- živí se listy eukalyptu, hmyzem, kukuřicí, prosem, ořechy a slunečnicemi
- 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](zt1_obrazky/kap06/kakaduexistomezeni.jpg)
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é](zt1_obrazky/kap06/kakaduexistomezeniProtege.jpg)
Obrázek níže ukazuje význam obou podmínek.
![Existenciální omezení v Protégé](zt1_obrazky/kap06/kakaduexistomezeniProtege02.jpg)
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](zt1_obrazky/kap06/kakaduexistomezenihlas.jpg)
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](zt1_obrazky/kap06/kakaduexistomezenistrava.jpg)
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](zt1_obrazky/kap06/podminkyand.jpg)
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)](zt1_obrazky/kap06/kakaduexistomezenistravaand.jpg)
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)](zt1_obrazky/kap06/kakaduexistomezenistravaandgraf02.jpg)
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.