So, for example, I have a ontology with the classes Fruit and Vitamin. The class Fruit has only Orange and Banana as subclasses, and the class Vitamin has only VitaminC and VitaminB as subclasses. These subclasses are all disjoint from each other.
I also have a object property Provide, with the class Fruit as domain and Vitamin as range.
Then, I defined the restrictions: "Orange Provide some VitaminC" and "Banana Provide some VitaminB".
Is there a way so I can make a reasoner infer that "Fruit Provide some Vitamin" in this situation?
I'm using the owlapi to do this, but I also use Protege, so answers using any of those would be nice.
If this is not enough information, please let me know. Thanks!
Fruit -> Orange, Banana
doesn't ensure that every fruit is either an orange or a banana. If there can be fruits that aren't oranges or bananas, then there could be fruits that don't provide vitamins. You need to add an axiom that says that every fruit is either an orange or a banana. – Joshua Taylor