Search Mailing List Archives

Limit search to: Subject & Body Subject Author
Sort by: Reverse Sort
Limit to: All This Week Last Week This Month Last Month
Select Date Range     through    

[protege-discussion] Closure Axiom and inferences issues

Gabriela Medina gabrielamedinaoliva at
Fri Jun 22 07:19:23 PDT 2012


I've been recently using Protégé and I have one question. I have used the Pizza example to see how inferences performed by  reasoners (Pellet, Hermit...) worked. In that sense, I have introduced instances of the "Pizza Class" to see how they were classified after the inference (I have mainly worked with Pellet but i have also used other reasoners). Those instances have the following characteristics:
1. One of the instance has a Vegetarian Topping.
2. Another of the instances has Mozarella and Tomato Topping.

Those instances are supposed to be a member of the "VegetarianPizzaEquivalent1" and "Margherita" classes after the inference process. Those classes use in their definition the Closure Axiom (i.e. ONLY). However, when i performed the inference, those instances weren't classified as members of the "VegetarianPizzaEquivalent1" and "Margherita" classes.

I have performed several tests to understand how reasoners worked and I have one possible explanation that i would like to confirm with you. Actually I think that when one use an Object Property with a large Range (for example in the Pizza example, the hasTopping property has as a Range the PizzaTopping class) and when one use the Closure Axiom for the definition of class, the reasoner suppose that the instances of the "defined class" could have the all the classes of the Range (i.e. all kind of Pizza Toppings) and NOT ONLY the specified classes precised for the Closure Axiom. In that sense,  the definition of the Margherita Classprecised that this class "hasTopping ONLY (MozzarellaTopping or TomatoTopping)". However, hasTopping property has a very large Range which is "Pizza Topping. For this reason, inference is not performed. 

As a solution to this issue,  I have created sub-ObjectProperties such as "hasToppingMargherita" with Domain "Margherita Pizza" Class and with Range "Tomato" and "Mozarella Toppings". This solution worked and instances were classified in their respective classes. Nevertheless I found this solution demands harder modeling efforts. Besides, in that case, it isn't worthy to use the Closure Axiom, since Range will  be already limited in the SubProperty.

What do you think about my explanation? and about my solution? any suggestion? 

Thanks in advanced for your reply and for your help,
Kind regards,
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the protege-discussion mailing list