37 
 
4.10.4 Detecting a Class that can’t Have Members 
Next, we are going to use the reasoner to detect a class with a definition that means it can never have any 
members. In the current version of Protégé when the reasoner detects an inconsistency or problem on 
some operating systems the UI can occasionally lock up and be hard to use. So to make sure you don’t 
lose any of your work save your ontology using File>Save.  
Sometimes it can be useful to create a class that we think should be impossible to instantiate to make sure 
the ontology is modeled as we think it is. Such a class is called a Probe Class.  
Exercise 19: Add a Probe Class called ProbeInconsistentTopping 
_____________________________________________________________________________________ 
1. Select the class CheeseTopping from the class hierarchy.  
2. Create a subclass of CheeseTopping called ProbeInconsistentTopping. 
3. Click on the Add icon (+) next to the SubClass Of field in the Description view for 
ProbeInconsistentTopping. 
4. Select the Class hierarchy tab from the dialogue that pops up.  This will bring up a small view that 
looks like the class hierarchy tab you have been using to add new classes. Use this to navigate to and 
select the class VegetableTopping. Click on OK. 
5. Make sure to save your current ontology file. Now run the reasoner. You should see that 
ProbeInconsistentTopping is now highlighted in red indicating it is inconsistent. 
6. Click on ProbeInconsistentTopping to see why it is highlighted in red. Notice that at the top of the 
Description view you should now see owl:Nothing under the Equivalent To field. This means that the 
probe class is equivalent to owl:Nothing. The owl:Nothing class is the opposite of owl:Thing. 
Whereas all individuals are instances of owl:Thing, no individual can ever be an instance of 
owl:Nothing. The owl:Nothing class is equivalent to the empty set in set theory.  
7. There should be a ? icon just to the right of owl:Nothing. As with any inference of the reasoner it is 
possible to click on the new information and generate an explanation for it. Do that now, click on the ? 
icon. This should generate a new window that looks like figure 4.20. The explanation is that 
ProbeInconsistentTopping is a subclass of CheeseTopping and VegetableTopping but those 
two classes are disjoint.  
8. Click OK to dismiss the window. Delete the class ProbeInconsistentTopping by selecting it and then 
clicking on the delete class icon at the top of the classes view (see figure 4.4). 
9. Synchronize the reasoner.   
_____________________________________________________________________________________