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

william fitzgerald wfitzgerald at tssg.org
Tue Apr 3 02:03:36 PDT 2007


Hi Robert,

I wonder if we have any Pizza developers ie. the Manchester University 
gurus out there that cans shed some light on our queries.

I am not sure if I fully understand item 2 of your request, but when I 
build my ontology in Protege, weather a class is primitive or complete I 
use the closure axiom (\forall) across the properties that I want to 
restrict to certain classes. In the Classes GUI on the left are a 
hierarchy of classes and on the right you have property restrictions. 
right click on a \exists property for example \exists hasTopping XYX and 
then scroll to option for axiom closure.

Has this answered your question?

Will.
 

Ronald Cornet wrote:
> 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
>>
>>
>>
>>     
>
> _______________________________________________
> 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