> Dear all,
> I have defined an ontology, it has five classes A, B, C, D and E
> I also have a property "best_fit". I suppose D is best_fit for E.
> I want to set up a rule:
> if D has no individual then get individual of C for E
> if D, C have no individual then get individual of B for E and
> if D, C, B have no individual then get individual of A for E
> Is it possible to set that rule with Protege?
OWL has open world semantics, so the only way you could have no individuals for a class would be to essentially assert that the class is equivalent to Nothing. But if you already know that, you don't have to do anything at all.
You cannot used closed world reasoning to figure out if D has no individuals, because OWL does not support reasoning with a closed world assumption. Only a strictly closed world. And if you know that D cannot ever have any individuals (which is what a strict closure of the class would require) then you don't need to have a rule since you already know the answer for all time.
As a larger consideration, I'm not sure you really want to have a rule like you propose operate at the class level. It is really the case that if there is a single individual of class D, this individual is the best_fit for every individual in class E?
protege-owl mailing list
[hidden email] https://mailman.stanford.edu/mailman/listinfo/protege-owl