1 / 40

Prot égé (1)

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.

edison
Download Presentation

Prot égé (1)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Protégé(1)

  2. Vytvorenienovejontoló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

  3. Vytvorenie tried • V tabeClasses kliknite na Thing a kliknite na addsubclass, 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 addsiblingclass • Nastavte že triedy Pizza, PizzaBase a PizzaTopping sú navzájom disjunktné.

  4. 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.Triedymajú byť disjunktné. • To isté urobte pre PizzaTopping(použite surfix).

  5. Vytváranie hierarchie tried (2)

  6. Vytváranie hierarchie tried (3)

  7. Vlastnosti (1)

  8. Vytváranie vlastností objektu • TabObjectproperties • Rovnako ako pri triedach subProperty resp. Siblingproperty • Vytvorte Objektové vlastnosti podľa nasledujúcej štruktúry:

  9. Inverzné vlastnosti • Nastavte aby hasIngredient bola inverzná vlastnosť pre isIngredientOf, hasBase bola inverzná k isBaseOf rovnako aj pre dvojicu isToppingOf a hasTopping.

  10. Charakteristiky vlastností objektov (1) • Funkcionálne vlastnosti – pre jedinca môže byť len jeden jedinec vyhovujúci vlastnosti.

  11. Charakteristiky vlastností objektov (2) • Inverzné funkcionálne vlastnosti – Ak je vlastnosť funkcionálna, tak aj jej inverzná vlastnosť je funkcionálna

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

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

  14. Charakteristiky vlastností objektov (5) • Antisymetrické vlastnosti

  15. Charakteristiky vlastností objektov (6) • Reflexívne vlastnosti – vlastnosť je reflexívna, keď jedinec pomocou nej ukazuje aj na samého seba.

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

  17. 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í

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

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

  20. Obmedzenietypu some • Nastavte, že každá pizza má nejakú základňu. • Kliknite na triedu pizza v hierarchii tried. • Kliknite + priSubClassOf. • Kliknitena tab object restriction creator • Vyberte restriction property hasBase a restriction filler PizzaBase. • Restriction type je some • Je možné použiť aj Classrestriction editor a rovno písať pravydlo.

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

  22. Vytvorenieniekoľkých druhov pízz (2) • VytvortepizzuAmericanaPizza, ktorá je podobná ako MargheritaPizza, iba obsahuje naviacPepperoniTopping • Použite EditDuplicateselectedclass • Podobne vytvorte AmericanHotPizza obsahujúcu všetko ako AmericanaPizza a naviacJalapenoPepperTopping. • Nakoniec vytvorte SohoPizza, ktorá je podobná ako Margherita, len obsahuje naviacParmezanTopping • Všetky vytvorené pizze nech sú disjunktné

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

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

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

  26. Definovaná trieda • Vyberte CheesyPizza a dajte v menu EditConvert to definedclass. • Následne spusttereasoner. • CheesyPizza už obsahuje podtriedy. • Trieda obsahujúca aspoň jednu nutnú a dostatočnú podmienku sa nazýva definovaná trieda (je ajinakoznačená).

  27. Nutné vsnutné a postačujúce obmedzenie

  28. Obmedzenie typu only • Vytvorte triduVegeterianPizza, ktorá je podtriedou triedy Pizza. • VegetarianPizza má iba vegetarianské oblohy, t.j. CheeseTopping alebo VegetableTopping. (použite only). • Zmentetriedunadefinovanú a spustite reasoner. • Ani jedna pizza nebude vegetariánska, aj keď Margherita a Soho by mali byť.

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

  30. Uzatváracie axiómy (1)

  31. Uzatváracie axiómy (2) • Spravteuzatváraciu axiómu pre všetky podtriedy triedy NamedPizza • Spusttereasoner

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

  33. Pokrývacia axióma Vyberte triedu SpicinesValuePartition a kliknite na Equivalent To a nápíšte Hot or MildorMedium.

  34. Pridanie pikantnosti k oblohe • Vytvorte vlastnosť hasSpicines • Ku každej oblohe pridajte úroveň štipľavosti. (Hot, Medium, Mild).

  35. Vytvoreniekorenistej 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

  36. Kardinalita • VytvortetrieduInterestingPizza, 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.

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

  38. Datatypové vlastnosti (1) • Prekliknite sa do tabu dataproperties • 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

  39. Datatypové vlastnosti (2) • Vytvortepodtriedytriedy 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 • (someinteger[<=400] • Spustereasoner a pozriteči spravne priradilo jedincov.

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

More Related