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-owl] Query: Subclasses or Sibling

Ronald Cornet r.cornet at amc.uva.nl
Tue Apr 3 01:50:17 PDT 2007


William, and others (please see the question in item 2 below),

I agree that it would make much sense to define the named pizzas as complete classes.

There are many reasons why it makes sense.

This also brings me to a question I have for a while....

If I instantiate a pizza, and put some ingredients on it, I would like it to be detected as a NamedPizza, if it is.
So if I make a pizza with mozarella and tomatoes, I would like it to be recognized as a Margherita (I'm doing this by head, maybe the ingredients of Margherita are slightly different).
This requires:
1. Margherita being defined as a "complete class", i.e., with necessary and sufficient conditions. I can handle that, and would prefer this in the Pizza example.
2. I would have to express that the toppings I've put on my pizza are the only toppings. Does anyone know how to do that in Protégé? I.e., how can I "close the world" when I've instantiated a pizza?

Regards, Ronald

###############################################################
Ronald Cornet, PhD                    email: R.Cornet at amc.uva.nl
dept. of Medical Informatics          phone: +31 (0)20 566 5188
Academic Medical Center, Room J1B-115 fax:   +31 (0)20 691 9840
P.O.Box 22700                         www: http://kik.amc.uva.nl/home/rcornet/
1100 DE  Amsterdam
The Netherlands                       'The truth is out there' 

> -----Original Message-----
> From: william fitzgerald [mailto:wfitzgerald at tssg.org] 
> Sent: Monday, April 02, 2007 12:30
> To: R.Cornet at amc.uva.nl
> Cc: User support for the Protege-OWL editor
> Subject: Re: [protege-owl] Query: Subclasses or Sibling 
> Disjoint classes?
> 
> Hi Ronald,
> 
> yes you are correct, i would not be happy getting the mouth 
> burnt off me :-)
> 
> Ok, so there seems to be a reason to create sibling classes 
> as opposed to subclasses in the case of the Pizza ontology.
> 
> However, the question that still begs to be answered is why 
> have we not defined the named pizza's as complete classes, 
> given that we are happy with the membership constraints over them?
> 
> To counter what you have said about our creative pizzaman we 
> could avoid getting the wrong pizza by stating i will have a 
> regular American pizza or i'll have a AmericanMild pizza or 
> AmericanHot pizza.
> 
> they are all kinds of American pizza but are also specalised 
> in their own right.
> 
> So in OWL-DL you would have for example:
> NamedPizza
>                     <--- AmericanPizza (hasTopping only 
> (hasTopping only (MozzarellaTopping or PeperoniSausageTopping 
> or TomatoTopping))
>                                                     <--- 
> AmericanRegular (in fact this class is really redundant but 
> just added it anyway)
>                                                     <--- 
> AmericanHot (hasTopping only ( HotGreenPepperTopping or 
> JalapenoPepperTopping))
>                                                     <--- 
> AmericanMild (hasTopping only (HotGreenPepperTopping))
> 
> Notice for space reasons i have not included the Existential 
> restrictions but you get the idea. i realise that the 
> reasoner would throw and error due to the closure axioms. my 
> point is just to highlight that in a tree like structure it 
> also appears that having SUBCLASSES makes sense rather than 
> DISJOINT SIBLINGS.
> 
> And why not make these classes COMPLETE! I think once we 
> start applying closure axioms you are getting very specific 
> in what you want.
> 
> In java this may be done like this:
> class AmericaPizza{//properties}
> class AmericaPizzaMild extends AmericanPizza{//inherit parent 
> properties and overide methods if needed} class 
> AmericaPizzaHot extends AmericanPizza{} class 
> AmericaPizzaRegular extends AmericanPizza{}
> 
> 
> However sticking with the disjoint siblings method in java 
> you don't optimize your code reuse:
> class AmericaPizza{}
> class AmericaPizzaMild{}
> class AmericaPizzaHot{}
> 
> I suppose what it boils down to is in my root original email, 
>  I compared what we are discussing now with 
> HotGreenPepperTopping and GreenPepperTopping whereby 
> SUBCLASSING comes into play and not DISJOINT SIBLINGS.
> 
> Why is it one way for one concept and another for a different 
> concept!!!
> 
> That is, why have we not defined HotGreenPepperTopping and 
> GreenPepperTopping as DISJOINT SIBLINGS. Back to your 
> "experimental pizzaman" what if i order GreenPepperToppings 
> but he adds HotGreenPepperToppings? So why have we not 
> "disjoint sibling" these classes?
> 
> Its puzzling isn't it, or at least it is too me.
> 
> regards,
> Will.
> 
> 
> Ronald Cornet wrote:
> > Will,
> >
> > Thanks for raising these issues.
> > I've been playing with the pizza ontology, and also ran 
> into some issues, which I do have to write down however.
> >
> > I want to counter your "AmericanHot isa American" suggestion.
> >
> > Support you order an American pizza (thinking you get the 
> mild one), but the creative pizzaman decides to give you an 
> AmericanHot, he will, in your model, satisfy your request, 
> although I'm quite sure you will not be satisfied by what you get...
> >
> > Am I right?
> >
> > Regards, Ronald
> >
> > ###############################################################
> > Ronald Cornet, PhD                    email: R.Cornet at amc.uva.nl
> > dept. of Medical Informatics          phone: +31 (0)20 566 5188
> > Academic Medical Center, Room J1B-115 fax:   +31 (0)20 691 9840
> > P.O.Box 22700                         www: 
> http://kik.amc.uva.nl/home/rcornet/
> > 1100 DE  Amsterdam
> > The Netherlands                       'The truth is out there'
> >
> >
> >> -----Original Message-----
> >> From: protege-owl-bounces at mailman.stanford.edu
> >> [mailto:protege-owl-bounces at mailman.stanford.edu] On Behalf Of 
> >> william fitzgerald
> >> Sent: Monday, April 02, 2007 11:33
> >> To: User support for the Protege-OWL editor
> >> Subject: Re: [protege-owl] Query: Subclasses or Sibling Disjoint 
> >> classes?
> >>
> >> Dear Timothy and OWL users,
> >>
> >> 1) I agree with your first point entirely and the whole point of 
> >> using OWL-DL is to have poly-hierarchies sorted 
> automatically via the 
> >> reasoner.
> >>
> >> 2) You are spotting some issues with the NamedPizza layout also. I 
> >> just fired up protege and made all these NamedPizza's complete 
> >> classes. there is no major difference in the outcome ( alot of 
> >> classes now defined under UnClosedPizza of course) and in fact the 
> >> hierarchy looks more complete.
> >>
> >> 3) yep you are correct. I was only referring to the idea 
> of having a 
> >> AmericanHot defined as a subclass of American but i didn't bother 
> >> thinking about the restrictions. Placing AmericanHot under 
> American 
> >> will cause an error due to the fact that the restrictions 
> >> (hasTopping) on the now parent class American will kick in 
> under the 
> >> reasoner.
> >>
> >> So what we conclude?
> >>
> >> Question 1: it seems that all these NamedPizza's are in themselves 
> >> closed for finalized (disjoint siblings and specific 
> restrictions) to 
> >> what they are made up of, so why not make them complete classes?
> >>
> >> It seems that an AmericanHot pizza is infact quite 
> different in the 
> >> ontology model to American pizza despite the fact they 
> share a lot of 
> >> the same principles! it seems natural and more likely in a 
> >> programming environment to have a class American and a more 
> >> specialised class called AmericanHot which inherits its parents 
> >> qualities plus its own and possibly overrides some of the parent 
> >> restrictions.
> >>
> >> Question 2: hence in OWL-DL, can a sublcass override 
> parent classes 
> >> restrictions in Protege etc.?
> >>
> >> it seems the answer is no, and hence why the Pizza developers make 
> >> both American and AmericanHot disjoint sibling classes.
> >> However given question 2 is probably a NO, then why was Question 1 
> >> not applied?
> >>
> >> maybe alot of the design issues are down to OWL-DL 
> limitations and a 
> >> complete mapping to OO programing does not overlap in a 
> precise way 
> >> (code optimzation).
> >>
> >> hence in java you would have a 2 separate java classes 
> American and 
> >> AmericanHot driven by the Pizza Ontology rather than 
> having 2 classes 
> >> American and AmericanHot with AmericanHot as a subclass of 
> American 
> >> and having AmericanHot override properties of its parent class if 
> >> required.
> >>
> >> that is:
> >> class American{ //class desription}
> >> class AmericanHot {//class description}
> >>
> >> rather than:
> >> class American{ //class desription}
> >> class AmericanHot extends American {//class description}
> >>
> >> I welcome any comments in relation to this or any other 
> features that 
> >> may come to mind?
> >>
> >> All I am trying to do is get into the mind set of correct modeling 
> >> using DL and OWL-DL, and in a correct and formal way. I 
> would like to 
> >> be able to stand over any model I develop and have exact 
> answers to 
> >> why its modeled in a particular way.
> >>
> >> regards,
> >> Will.
> >>
> >>
> >>
> >> Timothy Redmond wrote:
> >>
> >>> I see three issues.  The first thing is that in OWL we
> >>>
> >> shouldn't need
> >>
> >>> to build all possible subclass relationships when we write the 
> >>> ontology because the inference engine will calculate them
> >>>
> >> for us.  I
> >>
> >>> am not a modeling expert but this seems like this is a good
> >>>
> >> principle
> >>
> >>> for OWL modeling.  This doesn't help with primitive
> >>>
> >> concepts but for
> >>
> >>> defined concepts this may be useful.
> >>>
> >>> Second, I have a little trouble with the NamedPizza
> >>>
> >> hierarchy.  It is
> >>
> >>> interesting that all of these guys are primitive - none 
> of them are 
> >>> defined.  This means that there is something about a pizza
> >>>
> >> that makes
> >>
> >>> it an american pizza that is not defined in the ontology.
> >>>
> >> Thus it is
> >>
> >>> unclear whether american pizza's and american hot pizza's 
> should be 
> >>> disjoint because it is not clear to me what is being
> >>>
> >> captured in this
> >>
> >>> distinction.
> >>>
> >>> Finally, and you might view this as nitpicking, even if you
> >>>
> >> ignore the
> >>
> >>> disjointness axioms attached to the american pizza and 
> the american 
> >>> hot pizza, it is impossible for these two types of pizzas to
> >>> intersect.   The american pizza has a restriction axiom 
> that states
> >>> that it can only have mozzarella, peperoni sausage and tomato 
> >>> toppings.  But the american hot pizza has a restriction 
> axiom that 
> >>> states that it must have a JalapenoPepper topping.
> >>>
> >>> -Timothy
> >>>
> >>>
> >>>
> >>> On Mar 30, 2007, at 6:19 AM, william fitzgerald wrote:
> >>>
> >>>
> >>>> Dear OWL Gurus,
> >>>>
> >>>> In developing my own OWL-DL ontology similar in structure to the 
> >>>> PIZZA OWL-DL ontology, I find myself faced with a question
> >>>>
> >> as to why
> >>
> >>>> certain classes have not been defined as subclasses.
> >>>>
> >>>> For example in the NamedPizza class we have 2 subclass siblings 
> >>>> called American and AmericanHot.
> >>>>
> >>>> Clearly the AmericanHot is a more specialized class to 
> that of the 
> >>>> American. So why has it not been classed as a subset of
> >>>>
> >> AmericanPizza?
> >>
> >>>> One argument is that a hot American pizza is not an 
> American pizza 
> >>>> (because one will burn the mouth off you and the other will not) 
> >>>> hence the reason for not subclassing!
> >>>>
> >>>> However if we take another example we can see that under 
> Vegetable 
> >>>> toppings we have defined HotGreenPepperTopping as been a 
> subset of 
> >>>> GreenPepperTopping. In this case we do not create sibling
> >>>>
> >> classes but
> >>
> >>>> rather we subclass.
> >>>>
> >>>> So do you see my predicament!!!
> >>>>
> >>>> Is there a hint of a flaw in the ontology (remembering of
> >>>>
> >> course that
> >>
> >>>> the pizza ontology is only for demonstration purposes) 
> or is there 
> >>>> valid reasons for subclassing in one area and making disjoint 
> >>>> siblings in another?
> >>>>
> >>>> I realize that the structure of the pizza ontology is very
> >>>>
> >> intuitive
> >>
> >>>> and very close to how we naturally visualize the make up
> >>>>
> >> of Pizza's
> >>
> >>>> but taking these principles to other domains can often 
> be trickier.
> >>>>
> >>>> regards,
> >>>> Will.
> >>>>
> >>>> --William M. Fitzgerald,
> >>>> PhD Student,
> >>>> Telecommunications Software & Systems Group, Waterford
> >>>>
> >> Institute of
> >>
> >>>> Technology, Cork Rd.
> >>>> Waterford.
> >>>> Office Ph: +353 51 302937
> >>>> Mobile Ph: +353 87 9527083
> >>>>
> >>>> _______________________________________________
> >>>> protege-owl mailing list
> >>>> protege-owl at lists.stanford.edu
> >>>> https://mailman.stanford.edu/mailman/listinfo/protege-owl
> >>>>
> >>>> Instructions for unsubscribing:
> >>>> http://protege.stanford.edu/doc/faq.html#01a.03
> >>>>
> >> --
> >> William M. Fitzgerald,
> >> PhD Student,
> >> Telecommunications Software & Systems Group, Waterford 
> Institute of 
> >> Technology, Cork Rd.
> >> Waterford.
> >> Office Ph: +353 51 302937
> >> Mobile Ph: +353 87 9527083
> >>
> >> _______________________________________________
> >> protege-owl mailing list
> >> protege-owl at lists.stanford.edu
> >> https://mailman.stanford.edu/mailman/listinfo/protege-owl
> >>
> >> Instructions for unsubscribing:
> >> http://protege.stanford.edu/doc/faq.html#01a.03
> >>
> >>
> >>
> >
> >
> 
> --
> William M. Fitzgerald,
> PhD Student,
> Telecommunications Software & Systems Group, Waterford 
> Institute of Technology, Cork Rd.
> Waterford.
> Office Ph: +353 51 302937
> Mobile Ph: +353 87 9527083
> 
> 
> 




More information about the protege-owl mailing list