yuns

[Protege 기초 실습13] Object Property - Adding Spiciness to Pizza Toppings 본문

protege

[Protege 기초 실습13] Object Property - Adding Spiciness to Pizza Toppings

yuuuun 2022. 12. 29. 20:28
반응형

무료 오픈 소스 온톨로지 편집기 실습 - Adding Spiciness to Pizza Toppings

tutorial을 보고 실습을 진행해보고자 한다.


PizzaToping에 hasSpiciness restriction을 추가해준다. 

JalapenoPepperTopping에 Hot 정보를 입력해줘보도록 한다.

Existential restriction을 생성하기 위해 Class Expression editor에 'hasSpiciness some Hot' 입력

Appendix를 참고해서 subclass가 없는 Topping에 대해 맛을 추가해주도록 한다.(없거나 내용이 생략되어 있는 class도 존재했다..)

Topping 정보 맵기
CheeseTopping > MozzarellaTopping Mild
CheeseTopping > ParmezanTopping Mild
MeatTopping > HamTopping -
MeatTopping > PepperoniTopping Medium
MeatTopping > SalamiTopping -
MeatTopping > SpicyBeefTopping -
SeafoodTopping > AnchovyTopping Mild
SeafoodTopping > PrawnTopping -
SeafoodTopping > TunaTopping -
VegetableTopping > JalapenoPepperTopping Hot
VegetableTopping > CaperTopping Mild
VegetableTopping > MushroomTopping Mild
VegetableTopping > OliveTopping Mild
VegetableTopping > OnionTopping Medium
VegetableTopping > PeppertTopping > GreenPepperTopping -
VegetableTopping > PeppertTopping > JalapencPepperTopping Hot
VegetableTopping > PeppertTopping > RedPepperTopping -
VegetableTopping > TomatoTopping Mild

 

하위 클래스가 모두 매운 토핑이 있는 SpicyPizza를 만들어보자. 그러기 위해서는 hasTopping이 적어도 하나의 Hot를 가지는 SpicyTopping을 가져야 한다. 

먼저, Pizza 하위 클래스인 SpicyPizza를 생성한다. 그리고 아래 값을 직접 넣어준다.

hasTopping some (PizzaTopping and (hasSpiciness some Hot))

이후, convert to defined class를 추가해준다.

reasoner를 실행시키면, AmericanHotPizza가 SpicyPizza를 참조했음을 확인할 수 있다.

반응형
Comments