Prot égé (1)

Preview:

DESCRIPTION

Prot égé (1). Vytvorenie novej ontológie. Vytvorte ontológiu pizza a uložte celý projekt do priečinka Dajte komentár ku vašej ontológií v časti Annotation a následným výberom comment . Prekliknite sa do tabu Classes kde sa nachádza trieda T hing. Vytvorenie tried. - PowerPoint PPT Presentation

Citation preview

Protégé (1)

Vytvorenie novej ontológie

• Vytvorte ontológiu pizza a uložte celý projekt do priečinka

• Dajte komentár ku vašej ontológií v časti Annotation a následným výberom comment.

• Prekliknite sa do tabu Classes kde sa nachádza trieda Thing

Vytvorenie tried• V tabe Classes kliknite na Thing a kliknite na add

subclass, nachádzajúci sa vyššie.• Pridáte novú triedu: nazvite ju Pizza.• Rovnako vytvorte podtriedy PizzaTopping a

PizzaBase.• Alternatíva: kliknete na Pizza a následne na add

sibling class• Nastavte že triedy Pizza, PizzaBase a

PizzaTopping sú navzájom disjunktné.

Vytváranie hierarchie tried (1)

• Kliknite na triedu, ktorej chcete vytvoriť podtriedy (PizzaBase).

• Následne v menu vyberte Tools Create class hierarchy. Ak máte vybranú inú triedu ako potrebujete, zvoľte správnu. Následne vpíšte do okna triedy podľa nasledujúceho obrázka. Triedy majú byť disjunktné.

• To isté urobte pre PizzaTopping (použite surfix).

Vytváranie hierarchie tried (2)

Vytváranie hierarchie tried (3)

Vlastnosti (1)

Vytváranie vlastností objektu

• Tab Object properties• Rovnako ako pri triedach subProperty resp.

Sibling property• Vytvorte Objektové vlastnosti podľa nasledujúcej

štruktúry:

Inverzné vlastnosti• Nastavte aby hasIngredient bola inverzná

vlastnosť pre isIngredientOf, hasBase bola inverzná k isBaseOf rovnako aj pre dvojicu isToppingOf a hasTopping.

Charakteristiky vlastností objektov (1)• Funkcionálne vlastnosti – pre jedinca môže byť

len jeden jedinec vyhovujúci vlastnosti.

Charakteristiky vlastností objektov (2)• Inverzné funkcionálne vlastnosti – Ak je vlastnosť

funkcionálna, tak aj jej inverzná vlastnosť je funkcionálna

Charakteristiky vlastností objektov (3)• Tranzitívne vlastnosti - Ak a je pomocou vlastnosti

naviazane na b a b je pomocou vlastnosti naviazane na c, tak potom aj a je naviazane na c.

Charakteristiky vlastností objektov (4)• Symetrické vlastnosti - Ak a je pomocou vlastnosti

naviazane na b potom aj b je pomocou rovnakej vlastnosti rovnako naviazane na a

Charakteristiky vlastností objektov (5)• Antisymetrické vlastnosti

Charakteristiky vlastností objektov (6)• Reflexívne vlastnosti – vlastnosť je reflexívna, keď

jedinec pomocou nej ukazuje aj na samého seba.

Charakteristiky vlastností objektov (7)• Nereflexívne vlastnosti

Domény a rozsahy (1)• Domain: pri ktorých triedach sa môže používať

táto vlastnosť• Range: určuje, že inštancie ktorých tried môžu

byť dosadené ako hodnota vlastností

Domény a rozsahy (2)• Pizza je doména pre vlastnosť hasTopping• hasTopping ma range PizzaTopping• Spravte to aj pre inverznú vlastnosť• Podobný postup pre hasBase

Typy obmedzenia• Some (nejaké)• Only (iba)•Min (minimálny počet)• Exactly (presný počet)•Max (maximálny počet)

Obmedzenie typu some

• Nastavte, že každá pizza má nejakú základňu.• Kliknite na triedu pizza v hierarchii tried.• Kliknite + pri SubClassOf.• Kliknite na tab object restriction creator• Vyberte restriction property hasBase a restriction

filler PizzaBase.• Restriction type je some• Je možné použiť aj Class restriction editor a rovno

písať pravydlo.

Vytvorenie niekoľkých druhov pízz (1)

• Vytvorte podtriedu triedy pizza nazvanú NamedPizza.

• Následne vytvorte podtriedu NamedPizza nazvanú MargheritaPizza.

• Vytvorte obmedzenie, kde MargheritaPizza obsahuje aspoň jednu(some) MozzarelaTopping a aspoň jednu (some) TomatoTopping.

Vytvorenie niekoľkých druhov pízz (2)

• Vytvorte pizzu AmericanaPizza, ktorá je podobná ako MargheritaPizza, iba obsahuje naviac PepperoniTopping

• Použite EditDuplicate selected class• Podobne vytvorte AmericanHotPizza obsahujúcu

všetko ako AmericanaPizza a naviac JalapenoPepperTopping.

• Nakoniec vytvorte SohoPizza, ktorá je podobná ako Margherita, len obsahuje naviac ParmezanTopping

• Všetky vytvorené pizze nech sú disjunktné

Inkonzistencia• Vytvoríme si inkonzistentnú triedu nasledujúcim

spôsobom:• Vytvoríme podtriedu triedy CheeseTopping a

nazveme ju ProbeInconsistentTopping.• Do subClassOf pridajte aj VegetableTopping.• Spustite reasoner.

Primitívne triedy• Doposiaľ všetky vytvorené triedy mali len nutné

podmienky na ich popis.• Nutné podmienky sa dajú čítať: Ak je niečo

členom danej triedy, je nutné aby spĺňalo tieto podmienky.

• Nemôžme povedať, že ak niečo spĺňa podmienky, tak to musí patriť do danej triedy.

• Triedy využívajúce len nutné podmienky sa nazývajú primitívnymi triedami.

Ilustrácia primitívnej triedy

• Vytvorte podtriedu triedy pizza a nazvite ju CheesyPizza.

• Vytvorte obmedzenie pre CheesyPizza, že táto pizza má nejakú CheesTopping.

• Spustite reasoner.• CheesyPizza nemá žiadne podtriedy, aj keď by

mala mať pizze, ktoré obsahujú cheeseTopping.

Definovaná trieda• Vyberte CheesyPizza a dajte v menu EditConvert

to defined class.• Následne spustte reasoner.• CheesyPizza už obsahuje podtriedy.• Trieda obsahujúca aspoň jednu nutnú a

dostatočnú podmienku sa nazýva definovaná trieda (je aj inak označená).

Nutné vs nutné a postačujúce obmedzenie

Obmedzenie typu only• Vytvorte tridu VegeterianPizza, ktorá je

podtriedou triedy Pizza. • VegetarianPizza má iba vegetarianské oblohy, t.j.

CheeseTopping alebo VegetableTopping. (použite only).

• Zmente triedu na definovanú a spustite reasoner.• Ani jedna pizza nebude vegetariánska, aj keď

Margherita a Soho by mali byť.

Problém s pizzami• MargheritaPizza má definované, že môže

MozzarelaTopping alebo TomatoTopping. Tak prečo nie je vegetariánska????

• Dôvod: nikde nie je povedané, že nemôžu byť použité aj iné oblohy

Uzatváracie axiómy (1)

Uzatváracie axiómy (2)• Spravte uzatváraciu axiómu pre všetky podtriedy

triedy NamedPizza• Spustte reasoner

Hodnotové partície• Vytvorte triedu ValuePartition ako podtriedu Thing• Vytvorte triedu SpicinesValuePartition ako

podtriedu ValuePartition• Vytvorte triedy Hot, Medium a Mild ako podtriedy

SpicinesValuePartition.• Triedy majú byť disjunktné

Pokrývacia axiómaVyberte triedu SpicinesValuePartition a kliknite na Equivalent To a nápíšte Hot or Mild or Medium.

Pridanie pikantnosti k oblohe

• Vytvorte vlastnosť hasSpicines• Ku každej oblohe pridajte úroveň štipľavosti. (Hot,

Medium, Mild).

Vytvorenie korenistej pizze

• Vytvorte triedu SpicyPizza ako podtriedu triedy Pizza.

• Napíšte pravidlo, že ak je korenistosť pizze Hot, tak patrí pod SpicyPizza. (Pizza musí obsahovať PizzaTopping).

• Použite reasoner

Kardinalita• Vytvorte triedu InterestingPizza, ktorá je

podtriedou triedy Pizza.• Tato pizza musí obsahovať minimálne 3 oblohy• Použite reasoner• Vytvorte triedu FourCheesePizza, ktorá je

podtriedou triedy Pizza.• Táto pizza musí obsahovať štyri syrové oblohy.

Tvorba jedincov• Prekliknite sa do tabu Individuals• Vytvorte inštanciu triedy MargheritaPizza• Nazvite ju exampleMarherita• Nastavte hodnotu types na MargheritaPizza• Rovnakým spôsobom vytvorte inštanciu triedy

FourCheesePizza nazvanú QuatroFormaggio.

Datatypové vlastnosti (1)

• Prekliknite sa do tabu data properties• Vytvorte datatypovú vlastnosť

hasCalorificContentValue• Nastavte aby každá pizza mala nejakú kalorickú

hodnotu (some, integer).• Nastavte, že exampleMargherita má kalorickú

hodnotu 263.• QuatroFormaggio má kalorickú hodnotu 723

Datatypové vlastnosti (2)

• Vytvorte podtriedy triedy pizza nazvané HighCaloriePizza a LowCaloriePizza

• Nízko kalorická pizza má kalorickú hodnotu menšiu ako 400

• Vysoko kalorická pizza má kalorickú hodnotu menšiu alebo rovnú hodnote 400

• (some integer[<=400]• Spuste reasoner a pozrite či spravne priradilo

jedincov.

Záver• Obmedzenie typu value• Naštudovať dotazovací jazyk Sparql