36 
 
2. A SohoPizza is almost the same as a MargheritaPizza but has additional toppings of olives and 
parmesan cheese — create this by cloning MargheritaPizza and adding two existential restrictions along 
the property hasTopping, one with a filler of OliveTopping, and one with a filler of ParmesanTopping. 
_____________________________________________________________________________________ 
Exercise 18: Make Subclasses of NamedPizza Disjoint 
_____________________________________________________________________________________ 
1. We want to make these subclasses of NamedPizza disjoint from each other. I.e., any individual can 
belong to at most one of these classes. To do that first select MargheritaPizza (or any other subclass of 
NamedPizza).  
2. Click on the (+) sign next to Disjoint With near the bottom of the Description view. This will bring up 
a Class hierarchy view. Use this to navigate to the subclasses of NamedPizza and use <control><left 
click> to select all of the other sibling classes to the one you selected. Then select OK. You should now 
see the appropriate disjoint axioms showing up on each subclass of NamedPizza. Synchronize the 
reasoner. Your UI should look similar to figure 4.19 now.  
Figure 4.19 Subclasses of NamedPizza are Disjoint