40
Protégé (1)

Prot égé (1)

  • Upload
    edison

  • View
    28

  • Download
    4

Embed Size (px)

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

Page 1: Prot égé (1)

Protégé (1)

Page 2: 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

Page 3: Prot égé (1)

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é.

Page 4: Prot égé (1)

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).

Page 5: Prot égé (1)

Vytváranie hierarchie tried (2)

Page 6: Prot égé (1)

Vytváranie hierarchie tried (3)

Page 7: Prot égé (1)

Vlastnosti (1)

Page 8: Prot égé (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:

Page 9: Prot égé (1)

Inverzné vlastnosti• Nastavte aby hasIngredient bola inverzná

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

Page 10: Prot égé (1)

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

len jeden jedinec vyhovujúci vlastnosti.

Page 11: Prot égé (1)

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

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

Page 12: Prot égé (1)

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.

Page 13: Prot égé (1)

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

Page 14: Prot égé (1)

Charakteristiky vlastností objektov (5)• Antisymetrické vlastnosti

Page 15: Prot égé (1)

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

jedinec pomocou nej ukazuje aj na samého seba.

Page 16: Prot égé (1)

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

Page 17: Prot égé (1)

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í

Page 18: Prot égé (1)

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

Page 19: Prot égé (1)

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

Page 20: Prot égé (1)

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.

Page 21: Prot égé (1)

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.

Page 22: Prot égé (1)

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é

Page 23: Prot égé (1)

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.

Page 24: Prot égé (1)

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.

Page 25: Prot égé (1)

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.

Page 26: Prot égé (1)

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á).

Page 27: Prot égé (1)

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

Page 28: Prot égé (1)

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ť.

Page 29: Prot égé (1)

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

Page 30: Prot égé (1)

Uzatváracie axiómy (1)

Page 31: Prot égé (1)

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

triedy NamedPizza• Spustte reasoner

Page 32: Prot égé (1)

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é

Page 33: Prot égé (1)

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

Page 34: Prot égé (1)

Pridanie pikantnosti k oblohe

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

Medium, Mild).

Page 35: Prot égé (1)

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

Page 36: Prot égé (1)

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.

Page 37: Prot égé (1)

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.

Page 38: Prot égé (1)

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

Page 39: Prot égé (1)

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.

Page 40: Prot égé (1)

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