anomalies with the pizza tutorial

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

anomalies with the pizza tutorial

BlackRyno
Hi Guys,

I have dutifully followed the pizza tutorial, more precisely, Mathew Horridge's "A Practical Guide to Building OWL Ontologies Using Protege 4 and CO-ODE Tools" up through Chapter 6, using Protege 4.3, and found two instances where classification inferences did take hold where they should have:  (1) AmericanaPizza did not get subsumed under InterestingPizza in the inferred class hierarchy, and (2) NO pizza's at all showed up under NonVegetarianPizza in the inferred class hierarchy.  This is the case using both FaCT++ and HermiT as reasoners.  I've checked the RDF/XML code to make sure it wasn't a failure of the user interface (and it appears not to be).  Thus, I'm left with a mystery as to why these particular inferences didn't take hold.  (All other class and individual inferences went through.)  Could this be a 4.3 effect?

Attached is the .owl file generated by the tutorial.

Yours,
Robert Rynasiewicz


_______________________________________________
protege-user mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-user

ProtegePizzaTutotial.owl (41K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: anomalies with the pizza tutorial

Csongor Nyulas
Administrator
Hi Robert,

I started with analyzing the second problem (i.e. why "NO pizza's at all showed up under NonVegetarianPizza in the inferred class hierarchy"?) and after some experimentations with the rewriting of the definition of the NonVegetarianPizza, I realized that for some reason the complement ("not") of "hasTopping only (CheeseTopping or VegetarianTopping)", which was part of the definition of VegetarianPizza, did not include AmericanaPizza, despite the fact that Americana had been defined as a pizza with "hasTopping some PepperoniTopping", where PepperoniTopping is a MeatTopping.
So, I verified whether MeatTopping is disjoint with CheeseTopping and VegetableTopping, and I saw that you declared CheeseTopping as disjoint with MeatTopping, SeafoodTopping and VegetableTopping, one by one. But you did not declare that MeatTopping, SeafoodTopping and VegetableTopping are also disjoint among each other.

You can fix your ontology by (1) either adding the missing disjoint statements between MeatTopping, SeafoodTopping and VegetableTopping, or by (2) converting the current pairwise disjoint axioms that you have on CheeseTopping into a single disjoint axiom, that involves all four PizzaTopping subclasses. To do the later, you can remove the existing three disjointness axioms, and add a new disjoint axiom where you select all 3 sibling classes before you click on OK.

This change will fix both problems that you reported.

Csongor

On 04/07/2014 05:16 PM, Robert Rynasiewicz wrote:
Hi Guys,

I have dutifully followed the pizza tutorial, more precisely, Mathew Horridge's "A Practical Guide to Building OWL Ontologies Using Protege 4 and CO-ODE Tools" up through Chapter 6, using Protege 4.3, and found two instances where classification inferences did take hold where they should have:  (1) AmericanaPizza did not get subsumed under InterestingPizza in the inferred class hierarchy, and (2) NO pizza's at all showed up under NonVegetarianPizza in the inferred class hierarchy.  This is the case using both FaCT++ and HermiT as reasoners.  I've checked the RDF/XML code to make sure it wasn't a failure of the user interface (and it appears not to be).  Thus, I'm left with a mystery as to why these particular inferences didn't take hold.  (All other class and individual inferences went through.)  Could this be a 4.3 effect?

Attached is the .owl file generated by the tutorial.

Yours,
Robert Rynasiewicz



_______________________________________________
protege-user mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-user


_______________________________________________
protege-user mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-user
Reply | Threaded
Open this post in threaded view
|

Re: anomalies with the pizza tutorial

Thomas D.
In reply to this post by BlackRyno
Hi,

it seems that you made a mistake when entering the disjoint axiom of the
PizzaTopping class. You stated that CheeseTopping is disjoint with the
three other subclasses but not that those three (Vegetable, Seafood,
Meat) are disjoint with each other. Doing this (select for example
CheeseTopping, click on Disjoint With, select Vegetable, Seafood and
Meat and click on ok)  results in the correct inferences.

Regards,
Thomas D.



Le 08/04/2014 02:16, Robert Rynasiewicz a écrit :
> Hi Guys,
>
> I have dutifully followed the pizza tutorial, more precisely, Mathew Horridge's "A Practical Guide to Building OWL Ontologies Using Protege 4 and CO-ODE Tools" up through Chapter 6, using Protege 4.3, and found two instances where classification inferences did take hold where they should have:  (1) AmericanaPizza did not get subsumed under InterestingPizza in the inferred class hierarchy, and (2) NO pizza's at all showed up under NonVegetarianPizza in the inferred class hierarchy.  This is the case using both FaCT++ and HermiT as reasoners.  I've checked the RDF/XML code to make sure it wasn't a failure of the user interface (and it appears not to be).  Thus, I'm left with a mystery as to why these particular inferences didn't take hold.  (All other class and individual inferences went through.)  Could this be a 4.3 effect?
>
> Attached is the .owl file generated by the tutorial.
>
> Yours,
> Robert Rynasiewicz
_______________________________________________
protege-user mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-user
Reply | Threaded
Open this post in threaded view
|

Re: anomalies with the pizza tutorial

BlackRyno
In reply to this post by Csongor Nyulas
Thanks Csongor and Thomas D, that indeed resolves the mystery.


On Mon 07.04.14, at 9:23 PM, Csongor Nyulas wrote:

Hi Robert,

I started with analyzing the second problem (i.e. why "NO pizza's at all showed up under NonVegetarianPizza in the inferred class hierarchy"?) and after some experimentations with the rewriting of the definition of the NonVegetarianPizza, I realized that for some reason the complement ("not") of "hasTopping only (CheeseTopping or VegetarianTopping)", which was part of the definition of VegetarianPizza, did not include AmericanaPizza, despite the fact that Americana had been defined as a pizza with "hasTopping some PepperoniTopping", where PepperoniTopping is a MeatTopping.
So, I verified whether MeatTopping is disjoint with CheeseTopping and VegetableTopping, and I saw that you declared CheeseTopping as disjoint with MeatTopping, SeafoodTopping and VegetableTopping, one by one. But you did not declare that MeatTopping, SeafoodTopping and VegetableTopping are also disjoint among each other.

You can fix your ontology by (1) either adding the missing disjoint statements between MeatTopping, SeafoodTopping and VegetableTopping, or by (2) converting the current pairwise disjoint axioms that you have on CheeseTopping into a single disjoint axiom, that involves all four PizzaTopping subclasses. To do the later, you can remove the existing three disjointness axioms, and add a new disjoint axiom where you select all 3 sibling classes before you click on OK.

This change will fix both problems that you reported.

Csongor

On 04/07/2014 05:16 PM, Robert Rynasiewicz wrote:
Hi Guys,

I have dutifully followed the pizza tutorial, more precisely, Mathew Horridge's "A Practical Guide to Building OWL Ontologies Using Protege 4 and CO-ODE Tools" up through Chapter 6, using Protege 4.3, and found two instances where classification inferences did take hold where they should have:  (1) AmericanaPizza did not get subsumed under InterestingPizza in the inferred class hierarchy, and (2) NO pizza's at all showed up under NonVegetarianPizza in the inferred class hierarchy.  This is the case using both FaCT++ and HermiT as reasoners.  I've checked the RDF/XML code to make sure it wasn't a failure of the user interface (and it appears not to be).  Thus, I'm left with a mystery as to why these particular inferences didn't take hold.  (All other class and individual inferences went through.)  Could this be a 4.3 effect?

Attached is the .owl file generated by the tutorial.

Yours,
Robert Rynasiewicz



_______________________________________________
protege-user mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-user

_______________________________________________
protege-user mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-user


_______________________________________________
protege-user mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-user