Query: Subclasses or Sibling Disjoint classes?

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

Re: Query: Subclasses or Sibling

Thomas Russ

On Apr 3, 2007, at 1:50 AM, Ronald Cornet wrote:

> William, and others (please see the question in item 2 below),
> ...
> 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?

Sadly, I don't think this is particularly easy to do in OWL.

As far as I know, there isn't any construct that lets you directly  
express number constraints on individuals.  The only method I can  
think of involves creating a class with the number restrictions and  
making the individual in question a member of that class.

In this case, one would need a Pizza-with-exactly-two-toppings class  
and then make your pizza have this as one of its types.  Then it  
would inherit the cardinality restriction and (with appropriate  
disjointness assertions between toppings) it would be possible to  
infer membership in the Margherita pizza class.

In general, any restrictions that rely on the allValuesFrom  
restriction are really difficult to infer, because of the open world  
semantics of OWL.  There is no general mechanism for marking  
instances "closed" with respect to fillers, and therefore no way to  
have this inference proceed without making other very specific  
constructs and using them.  The same problem also applies to  
cardinality and max cardinality restrictions.

Enumerating and testing fillers is only a valid inference technique  
if one uses closed world semantics, or if there are explicit  
cardinality restrictions that match the number of fillers.  The  
latter item is also a bit tricky because OWL doesn't use the unique  
name assumption, so one needs to have made sure that the necessary  
allDifferentFrom assertions have been made at well.


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

Instructions for unsubscribing: http://protege.stanford.edu/doc/faq.html#01a.03 
Reply | Threaded
Open this post in threaded view
|

Re: Query: Subclasses or Sibling

Matthew Horridge
In reply to this post by William Fitzgerald-2
Hi Will,

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

It should be remembered that the Pizza ontology is a slightly adapted  
version of the ontology that results from completing the current  
version of the pizza ontology tutorial.  In some sense the ontology  
is therefore unfinished.  With regards to your comments, I believe it  
does make sense to make the various named pizza classes necessary and  
sufficient (Probably put these under pizza instead of named pizza).  
AmericanHot is a specific type of pizza found on a particular pizza  
menu (there aren't AmericanMild pizzas) - on this menu American and  
AmericanHot pizzas are distinct types of pizza.  If you look at the  
pizza ontology you will see that the definition of AmericanHot is  
incompatible with the definition of American.  It isn't therefore the  
case that all AmericanHot pizzas are American pizzas, hence no  
subclass axiom here.  With regards to the pizza toppings,  there  
could be other types of green pepper toppings (or many other  
toppings), which is why these classes have not been closed.

Cheers,

Matthew



> 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: [hidden email]
>> 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:[hidden email]]
>>> Sent: Monday, April 02, 2007 12:30
>>> To: [hidden email]
>>> 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: [hidden email]
>>>> 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: [hidden email]
>>>>> [mailto:[hidden email]] 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
>>>>>>> [hidden email]
>>>>>>> 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
>>>>> [hidden email]
>>>>> 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
>> [hidden email]
>> 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
> [hidden email]
> https://mailman.stanford.edu/mailman/listinfo/protege-owl
>
> Instructions for unsubscribing: http://protege.stanford.edu/doc/ 
> faq.html#01a.03

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

Instructions for unsubscribing: http://protege.stanford.edu/doc/faq.html#01a.03 
Reply | Threaded
Open this post in threaded view
|

Re: Query: Subclasses or Sibling

Matthew Horridge
In reply to this post by William Fitzgerald-2
>
> I think dealing with individuals is more a rules engine thing than  
> a DL
> reasoner area.

I don't agree with this.  Classification of individuals is one of the  
key inference tasks for DL reasoners. Most reasoners support this  
e.g. Pellet and FaCT++

> So you could use SWRL to reason/infer over individuals. From what I  
> can
> tell SWRL will answer questions like: Ronald has a brother called Bob,
> Ronald has a daughter called Alice. is Bob an uncle? SWRL, i  
> believe can
> answer those questions.

I'm not sure that you should view SWRL as a query language.  It is  
true that some query syntaxes look like some SWRL syntaxes.  In fact,  
Martin O'Conner has developed a very nice query plugin that uses the  
SWRL syntax which is used in Protege-OWL.

With regards to the "uncle example", you can express this directly in  
OWL 1.1 without the need for SWRL.  FaCT++ and Pellet already support  
reasoning with these property chain axioms.

Cheers,

Matthew

>
> Protege has a SWRL plugin tab.
>
> I hope the experts in ontologies can provide you with a definitive
> answer here.
>
> regards,
> Will.
>
>
> Ronald Cornet wrote:
>>> Agree?
>>>
>>
>> Yes and no.
>> I agree it works the way you do it.
>> But I like to do it this way:
>> I instantiate "Pizza" (NOT RonaldPizza) and put cheese and tomato  
>> on it.
>> I want to ask the reasoner: what is the 'name' of this pizza, and  
>> get the answer "RonaldPizza".
>> As long as I don't make explicit that this instantiated Pizza only  
>> contains cheese and tomato, it will not be recognized as a  
>> RonaldPizza.
>>
>> Agree?
>> Anyone knows a solution?
>>
>> Ronald
>>
>>
>>
>>> Hi Ronald,
>>>
>>> I would have thought that you wouldn't need to do this.
>>>
>>> That is, you defined a class of anonymous individuals that
>>> have relationships to other individuals of other classes.
>>> hence any instance of a class then must comply with those
>>> class restrictions in order to be a member.
>>>
>>> so a Class RonaldPizza that has relationship restrictions as  
>>> follows:
>>> \exist hasTopping Cheese \sqcap
>>> \exist hasTopping Tomato \sqcap
>>> \forall hasTopping(Cheese \sqcup Tomato)
>>>
>>> So RonaldPizza is restricted to having Cheese and Tomato and
>>> only those toppings. if an instance or individual is a member
>>> of this class then it must comply with those restrictions.
>>> And it complies with different levels of compliance based on
>>> RoanldPizza been primitive or complete.
>>>
>>> So an instance ronpizza1 of RonaldPizza when placed in your
>>> mouth must only have a taste of tomato and cheese and nothing else.
>>>
>>> Hence no need to close off instances per say.
>>>
>>>
>>>
>>> Ronald Cornet wrote:
>>>
>>>>> I wonder if we have any Pizza developers ie. the Manchester
>>>>> University gurus out there that cans shed some light on
>>>>>
>>> our queries.
>>>
>>>> I hope so!
>>>>
>>>>
>>>>
>>>>> 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?
>>>>>
>>>>>
>>>> No, I understand how to do this with classes, as you describe  
>>>> above.
>>>> I do not understand how to do this with instances.
>>>>
>>>> So I instantiate a pizza, put some ingredients on it, and
>>>>
>>> then want to express there aren't any other ingredients.
>>>
>>>> Ronald
>>>>
>>>>
>>>>
>>> --
>>> 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
>>> [hidden email]
>>> https://mailman.stanford.edu/mailman/listinfo/protege-owl
>>>
>>> Instructions for unsubscribing:
>>> http://protege.stanford.edu/doc/faq.html#01a.03
>>>
>>>
>>>
>>
>> _______________________________________________
>> protege-owl mailing list
>> [hidden email]
>> 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
> [hidden email]
> https://mailman.stanford.edu/mailman/listinfo/protege-owl
>
> Instructions for unsubscribing: http://protege.stanford.edu/doc/ 
> faq.html#01a.03

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

Instructions for unsubscribing: http://protege.stanford.edu/doc/faq.html#01a.03 
Reply | Threaded
Open this post in threaded view
|

Re: Query: Subclasses or Sibling

Thomas Russ
In reply to this post by William Fitzgerald-2

On Apr 3, 2007, at 2:59 AM, william fitzgerald wrote:

>
> Method 2:
>
> I think dealing with individuals is more a rules engine thing than  
> a DL
> reasoner area.

That depends on the particular DL reasoner.

Other DL languages and reasoners have had mechanisms that are quite  
capable of reasoning using combinations of closed world reasoning,  
limited closed world reasoning, and even cardinality restrictions  
asserted directly about instances.  As an existence proof, I can  
point to Loom (<http://www.isi.edu/isd/LOOM>).  Loom differs from OWL  
primarily in being more expressive and not having a complete  
classification reasoner.  So there are some tradeoffs in this process.


Additional reference: <http://www.isi.edu/isd/LOOM/papers/macgregor/ 
Loom_Retrospective.html>

-Tom.
COI Disclosure:  I am one of the Loom implementors.

--
Thomas A. Russ, Ph.D.  Senior Research Scientist             [hidden email]
USC/Information Sciences Institute              WWW:  http://www.isi.edu
4676 Admiralty Way, Marina del Rey, CA 90292              (310) 448-8775


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

Instructions for unsubscribing: http://protege.stanford.edu/doc/faq.html#01a.03 
Reply | Threaded
Open this post in threaded view
|

Re: Query: Subclasses or Sibling

Thomas Russ
In reply to this post by Thomas Russ

On Apr 3, 2007, at 8:50 AM, Thomas Russ wrote:

> As far as I know, there isn't any construct that lets you directly
> express number constraints on individuals.  The only method I can
> think of involves creating a class with the number restrictions and
> making the individual in question a member of that class.

Following up on my own message...

I will note that Matthew Horridge points out the possibility
of using anonymous classes as type restrictions in OWL, which
gives one this possibility in a fairly compact and reasonable
manner.

I had overlooked that possibility.


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

Instructions for unsubscribing: http://protege.stanford.edu/doc/faq.html#01a.03 
Reply | Threaded
Open this post in threaded view
|

Re: Query: Subclasses or Sibling

Timothy Redmond
In reply to this post by Thomas Russ

On Apr 3, 2007, at 9:03 AM, Thomas Russ wrote:

>
> On Apr 3, 2007, at 2:59 AM, william fitzgerald wrote:
>
>>
>> Method 2:
>>
>> I think dealing with individuals is more a rules engine thing than
>> a DL
>> reasoner area.
>
> That depends on the particular DL reasoner.
>
> Other DL languages and reasoners have had mechanisms that are quite
> capable of reasoning using combinations of closed world reasoning,
> limited closed world reasoning, and even cardinality restrictions
> asserted directly about instances.

This thread has been going on for some time so I may be missing some  
context.  But it seems to me that you are making a link between  
reasoning about individuals and closed world reasoning.  I think that  
these are two entirely different issues.

Ian Horrocks, Ulrike Sattler and many others have put a tremendous  
amount of work into finding a reasonable computable description  
logic.  There results include algorithms for deciding questions about  
individuals as well as classes.  Pellet and Fact use the algorithms  
that they have found so these algorithms are able to do "full OWL  
inference" for individuals.  (I am always tempted to use the word  
"complete" here but I don't know if this is one of its technical  
meanings).

Now when you start  talking about closed world reasoning, you are  
talking about a different logic than OWL DL (and even than OWL  
1.1).   There are some suggestions flying around about how OWL can be  
extended to handle the closed world.  Two that I know of are  
autoepistemic logics and default logics.  There are also  
implementations for these. I believe pellet has an implementation of  
an autoepistemic logic and there was a paper recently about an  
implementation for a default logic.

-Timothy

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

Instructions for unsubscribing: http://protege.stanford.edu/doc/faq.html#01a.03 
Reply | Threaded
Open this post in threaded view
|

Re: Query: Subclasses or Sibling

JMiller
In reply to this post by Matthew Horridge

[hidden email] wrote on 04/03/2007 05:48:51 AM:

> > Will the ontology be still in OWL-DL?
>
>
> Yes.
>
> > stating a class is also an individual [Pizza1 = oneOf{pizza1}] I think
> > is out of scope of DL.
>
> This is within the bounds of OWL-DL.


So, is it the case that treating a class as an individual is OWL-DL (in general), or just that this particular usage is OWL-DL?  I was under the (perhaps mistaken) understanding that classes could not be treated as individuals in OWL-DL.


>
> In Protege 3.X you can also try the OWL-DL Individuals Tab, which  
> adds the capability of adding anonymous types to individuals.
>
> Cheers,
>
> Matthew
>
>
>
> > Maybe I am misunderstanding you.
> >
> >
> > John Goodwin wrote:
> >>> I agree that your representations below work.
> >>> But is there any way to do this in protégé?
> >>> If I create an instance of pizza, I get the frames for  
> >>> ingredients (and
> >>> base), but these are only suitable for specifying:
> >>>
> >>>> pizza1 hasTopping cheese1
> >>>> pizza1 hasTopping tomato1
> >>>>
> >>> I wouldn't know how to specify the other parts of your statements.
> >>>
> >>
> >> If you are using Protégé 3.x the only way I can think of (and the  
> >> way I did it) is to create a class:
> >>
> >> Pizza1 subClassOf Pizza
> >>
> >> Create an instance of Pizza called pizza1
> >>
> >> Then say:
> >>
> >> Pizza1 = {pizza1}
> >>
> >> (literally type "{pizza1}" in the necessary and sufficient  
> >> condition block for that class - this is basically saying Pizza1 =  
> >> oneOf{pizza1})
> >>
> >>
> >> The add a necessary condition
> >>
> >> Pizza1 subClassOf hasTopping only (Cheese or Tomato)
> >>
> >> Admittedly it's a bit messy, but it's more a way of getting round  
> >> some of the editing limitations.
> >>
> >> In Protégé 4 alpha you can actually directly assert (under the  
> >> individual tab and in the asserted types box) that
> >>
> >> pizza1 instanceOf hasTopping only (Cheese or Tomato)
> >>
> >> which should do the job.
> >>
> >> John
> >>
> >>
> >> .
> >>
> >>
> >> This email is only intended for the person to whom it is addressed  
> >> and may contain confidential information. If you have received  
> >> this email in error, please notify the sender and delete this  
> >> email which must not be copied, distributed or disclosed to any  
> >> other person.
> >>
> >> Unless stated otherwise, the contents of this email are personal  
> >> to the writer and do not represent the official view of Ordnance  
> >> Survey. Nor can any contract be formed on Ordnance Survey's behalf  
> >> via email. We reserve the right to monitor emails and attachments  
> >> without prior notice.
> >>
> >> Thank you for your cooperation.
> >>
> >> Ordnance Survey
> >> Romsey Road
> >> Southampton SO16 4GU
> >> Tel: 08456 050505
> >> http://www.ordnancesurvey.co.uk
> >>
> >> _______________________________________________
> >> protege-owl mailing list
> >> [hidden email]
> >> 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
> > [hidden email]
> > https://mailman.stanford.edu/mailman/listinfo/protege-owl
> >
> > Instructions for unsubscribing: http://protege.stanford.edu/doc/
> > faq.html#01a.03
>
> _______________________________________________
> protege-owl mailing list
> [hidden email]
> https://mailman.stanford.edu/mailman/listinfo/protege-owl
>
> Instructions for unsubscribing: http://protege.stanford.edu/doc/faq.
> html#01a.03

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

Instructions for unsubscribing: http://protege.stanford.edu/doc/faq.html#01a.03 
Reply | Threaded
Open this post in threaded view
|

Re: Query: Subclasses or Sibling

Matthew Horridge

> Hi James,

> [hidden email] wrote on 04/03/2007  
> 05:48:51 AM:
>
> > > Will the ontology be still in OWL-DL?
> >
> >
> > Yes.
> >
> > > stating a class is also an individual [Pizza1 = oneOf{pizza1}]  
> I think
> > > is out of scope of DL.
> >
> > This is within the bounds of OWL-DL.
>
> So, is it the case that treating a class as an individual is OWL-DL  
> (in general), or just that this particular usage is OWL-DL?  I was  
> under the (perhaps mistaken) understanding that classes could not  
> be treated as individuals in OWL-DL.
>

You are correct that in OWL-DL the set of names of classes must be  
disjoint from the set of names of individuals, so we can't have  
"pizza" refering to both a class and an individual.

However, unless I've misunderstood the above syntax, this doesn't  
state that a class is an individual.  The statement says that the  
class Pizza1 is equivalent to the class containing exactly the  
individual pizza1 (i.e. a nominal).  So, the above statement is an  
OWL-DL axiom

Cheers,

Matthew



>
> >
> > In Protege 3.X you can also try the OWL-DL Individuals Tab, which
> > adds the capability of adding anonymous types to individuals.
> >
> > Cheers,
> >
> > Matthew
> >
> >
> >
> > > Maybe I am misunderstanding you.
> > >
> > >
> > > John Goodwin wrote:
> > >>> I agree that your representations below work.
> > >>> But is there any way to do this in protégé?
> > >>> If I create an instance of pizza, I get the frames for
> > >>> ingredients (and
> > >>> base), but these are only suitable for specifying:
> > >>>
> > >>>> pizza1 hasTopping cheese1
> > >>>> pizza1 hasTopping tomato1
> > >>>>
> > >>> I wouldn't know how to specify the other parts of your  
> statements.
> > >>>
> > >>
> > >> If you are using Protégé 3.x the only way I can think of (and the
> > >> way I did it) is to create a class:
> > >>
> > >> Pizza1 subClassOf Pizza
> > >>
> > >> Create an instance of Pizza called pizza1
> > >>
> > >> Then say:
> > >>
> > >> Pizza1 = {pizza1}
> > >>
> > >> (literally type "{pizza1}" in the necessary and sufficient
> > >> condition block for that class - this is basically saying  
> Pizza1 =
> > >> oneOf{pizza1})
> > >>
> > >>
> > >> The add a necessary condition
> > >>
> > >> Pizza1 subClassOf hasTopping only (Cheese or Tomato)
> > >>
> > >> Admittedly it's a bit messy, but it's more a way of getting round
> > >> some of the editing limitations.
> > >>
> > >> In Protégé 4 alpha you can actually directly assert (under the
> > >> individual tab and in the asserted types box) that
> > >>
> > >> pizza1 instanceOf hasTopping only (Cheese or Tomato)
> > >>
> > >> which should do the job.
> > >>
> > >> John
> > >>
> > >>
> > >> .
> > >>
> > >>
> > >> This email is only intended for the person to whom it is  
> addressed
> > >> and may contain confidential information. If you have received
> > >> this email in error, please notify the sender and delete this
> > >> email which must not be copied, distributed or disclosed to any
> > >> other person.
> > >>
> > >> Unless stated otherwise, the contents of this email are personal
> > >> to the writer and do not represent the official view of Ordnance
> > >> Survey. Nor can any contract be formed on Ordnance Survey's  
> behalf
> > >> via email. We reserve the right to monitor emails and attachments
> > >> without prior notice.
> > >>
> > >> Thank you for your cooperation.
> > >>
> > >> Ordnance Survey
> > >> Romsey Road
> > >> Southampton SO16 4GU
> > >> Tel: 08456 050505
> > >> http://www.ordnancesurvey.co.uk
> > >>
> > >> _______________________________________________
> > >> protege-owl mailing list
> > >> [hidden email]
> > >> 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
> > > [hidden email]
> > > https://mailman.stanford.edu/mailman/listinfo/protege-owl
> > >
> > > Instructions for unsubscribing: http://protege.stanford.edu/doc/
> > > faq.html#01a.03
> >
> > _______________________________________________
> > protege-owl mailing list
> > [hidden email]
> > https://mailman.stanford.edu/mailman/listinfo/protege-owl
> >
> > Instructions for unsubscribing: http://protege.stanford.edu/doc/faq.
> > html#01a.03
> _______________________________________________
> protege-owl mailing list
> [hidden email]
> https://mailman.stanford.edu/mailman/listinfo/protege-owl
>
> Instructions for unsubscribing: http://protege.stanford.edu/doc/ 
> faq.html#01a.03

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

Instructions for unsubscribing: http://protege.stanford.edu/doc/faq.html#01a.03 
Reply | Threaded
Open this post in threaded view
|

Re: Query: Subclasses or Sibling

Thomas Russ
In reply to this post by Timothy Redmond

On Apr 3, 2007, at 10:23 AM, Timothy Redmond wrote:

>
> On Apr 3, 2007, at 9:03 AM, Thomas Russ wrote:
>
>>
>> On Apr 3, 2007, at 2:59 AM, william fitzgerald wrote:
>>
>>>
>>> Method 2:
>>>
>>> I think dealing with individuals is more a rules engine thing than
>>> a DL
>>> reasoner area.
>>
>> That depends on the particular DL reasoner.
>>
>> Other DL languages and reasoners have had mechanisms that are quite
>> capable of reasoning using combinations of closed world reasoning,
>> limited closed world reasoning, and even cardinality restrictions
>> asserted directly about instances.
>
> This thread has been going on for some time so I may be missing some
> context.  But it seems to me that you are making a link between
> reasoning about individuals and closed world reasoning.  I think that
> these are two entirely different issues.

Correct, they are different issues.  In this particular case, the  
context
was reasoning about "all values from" restrictions for instance  
classification
or recognition.

I do think that closed-world reasoning tends to be more of an issue when
dealing with instances than with concept subsumption, since I don't  
think
there are any class subsumption inferences that require knowing that the
current set of fillers is the complete set.  That seems to me to be more
of an instance-level concern.

Are there examples where closed world would be needed in subsumption
reasoning between class definitions?

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

Instructions for unsubscribing: http://protege.stanford.edu/doc/faq.html#01a.03 
Reply | Threaded
Open this post in threaded view
|

Re: Query: Subclasses or Sibling

Timothy Redmond

> I do think that closed-world reasoning tends to be more of an issue  
> when
> dealing with instances than with concept subsumption, since I don't
> think
> there are any class subsumption inferences that require knowing  
> that the
> current set of fillers is the complete set.  That seems to me to be  
> more
> of an instance-level concern.

At first blush this sounds right.  So if you are reasoning about  
instances it is more likely that you actually want to have a closed  
world assumption (as is desired with many queries).

-Timothy

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

Instructions for unsubscribing: http://protege.stanford.edu/doc/faq.html#01a.03 
Reply | Threaded
Open this post in threaded view
|

Re: Query: Subclasses or Sibling

JMiller

[hidden email] wrote on 04/04/2007 09:37:17 AM:

>
> > I do think that closed-world reasoning tends to be more of an issue  
> > when
> > dealing with instances than with concept subsumption, since I don't
> > think
> > there are any class subsumption inferences that require knowing  
> > that the
> > current set of fillers is the complete set.  That seems to me to be  
> > more
> > of an instance-level concern.
>
> At first blush this sounds right.  So if you are reasoning about  
> instances it is more likely that you actually want to have a closed  
> world assumption (as is desired with many queries).
>
> -Timothy


I'm trying to understand the implications of this.  
How does one move from open-world to closed-world?  
I thought that I had understood that OWL is open-world by definition.

Jim

>
> _______________________________________________
> protege-owl mailing list
> [hidden email]
> https://mailman.stanford.edu/mailman/listinfo/protege-owl
>
> Instructions for unsubscribing: http://protege.stanford.edu/doc/faq.
> html#01a.03

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

Instructions for unsubscribing: http://protege.stanford.edu/doc/faq.html#01a.03 
Reply | Threaded
Open this post in threaded view
|

Re: Query: Subclasses or Sibling

Thomas Russ

On Apr 4, 2007, at 8:01 AM, James A Miller wrote:

>
> [hidden email] wrote on 04/04/2007  
> 09:37:17 AM:
>
> >
> > > I do think that closed-world reasoning tends to be more of an  
> issue
> > > when
> > > dealing with instances than with concept subsumption, since I  
> don't
> > > think
> > > there are any class subsumption inferences that require knowing
> > > that the
> > > current set of fillers is the complete set.  That seems to me  
> to be
> > > more
> > > of an instance-level concern.
> >
> > At first blush this sounds right.  So if you are reasoning about
> > instances it is more likely that you actually want to have a closed
> > world assumption (as is desired with many queries).
> >
> > -Timothy
>
> I'm trying to understand the implications of this.
> How does one move from open-world to closed-world?
> I thought that I had understood that OWL is open-world by definition.

OWL is open-world by definition, so there isn't any way (yet)
of moving to closed world assumptions.  In one of the other
replies (by Timothy Redmond) there is mention of some ideas
about future extensions that may allow for such closed-world
reasoning.



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

Instructions for unsubscribing: http://protege.stanford.edu/doc/faq.html#01a.03 
Reply | Threaded
Open this post in threaded view
|

Re: Query: Subclasses or Sibling

Ronald Cornet
In reply to this post by Timothy Redmond
> > I do think that closed-world reasoning tends to be more of an issue
> > when dealing with instances than with concept subsumption, since I
> > don't think there are any class subsumption inferences that require
> > knowing that the current set of fillers is the complete set.  That
> > seems to me to be more of an instance-level concern.

Good point.
One potential counterexample is the VegetarianPizza.
It puts a kind of closure (all toppings are not meat).

In general, it seems as if negation introduces some kind of closure.
I will think of more examples in which closure makes sense in concept definitions...

Ronald

> At first blush this sounds right.  So if you are reasoning
> about instances it is more likely that you actually want to
> have a closed world assumption (as is desired with many queries).
>
> -Timothy
>
> _______________________________________________
> protege-owl mailing list
> [hidden email]
> https://mailman.stanford.edu/mailman/listinfo/protege-owl
>
> Instructions for unsubscribing:
> http://protege.stanford.edu/doc/faq.html#01a.03
>
>

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

Instructions for unsubscribing: http://protege.stanford.edu/doc/faq.html#01a.03 
Reply | Threaded
Open this post in threaded view
|

Re: Query: Subclasses or Sibling

JMiller
In reply to this post by Matthew Horridge

[hidden email] wrote on 04/03/2007 10:58:28 AM:

> >
> > I think dealing with individuals is more a rules engine thing than  
> > a DL
> > reasoner area.
>
> I don't agree with this.  Classification of individuals is one of the  
> key inference tasks for DL reasoners. Most reasoners support this  
> e.g. Pellet and FaCT++
>
> > So you could use SWRL to reason/infer over individuals. From what I  
> > can
> > tell SWRL will answer questions like: Ronald has a brother called Bob,
> > Ronald has a daughter called Alice. is Bob an uncle? SWRL, i  
> > believe can
> > answer those questions.
>
> I'm not sure that you should view SWRL as a query language.  It is  
> true that some query syntaxes look like some SWRL syntaxes.  In fact,  
> Martin O'Conner has developed a very nice query plugin that uses the  
> SWRL syntax which is used in Protege-OWL.
>
> With regards to the "uncle example", you can express this directly in  
> OWL 1.1 without the need for SWRL.  FaCT++ and Pellet already support  
> reasoning with these property chain axioms.
>


Can someone give a quick example showing the Uncle problem in OWL 1.1?

Thanks,
Jim


> Cheers,
>
> Matthew
>
> >
> > Protege has a SWRL plugin tab.
> >
> > I hope the experts in ontologies can provide you with a definitive
> > answer here.
> >
> > regards,
> > Will.
> >
> >
> > Ronald Cornet wrote:
> >>> Agree?
> >>>
> >>
> >> Yes and no.
> >> I agree it works the way you do it.
> >> But I like to do it this way:
> >> I instantiate "Pizza" (NOT RonaldPizza) and put cheese and tomato  
> >> on it.
> >> I want to ask the reasoner: what is the 'name' of this pizza, and  
> >> get the answer "RonaldPizza".
> >> As long as I don't make explicit that this instantiated Pizza only  
> >> contains cheese and tomato, it will not be recognized as a  
> >> RonaldPizza.
> >>
> >> Agree?
> >> Anyone knows a solution?
> >>
> >> Ronald
> >>
> >>
> >>
> >>> Hi Ronald,
> >>>
> >>> I would have thought that you wouldn't need to do this.
> >>>
> >>> That is, you defined a class of anonymous individuals that
> >>> have relationships to other individuals of other classes.
> >>> hence any instance of a class then must comply with those
> >>> class restrictions in order to be a member.
> >>>
> >>> so a Class RonaldPizza that has relationship restrictions as  
> >>> follows:
> >>> \exist hasTopping Cheese \sqcap
> >>> \exist hasTopping Tomato \sqcap
> >>> \forall hasTopping(Cheese \sqcup Tomato)
> >>>
> >>> So RonaldPizza is restricted to having Cheese and Tomato and
> >>> only those toppings. if an instance or individual is a member
> >>> of this class then it must comply with those restrictions.
> >>> And it complies with different levels of compliance based on
> >>> RoanldPizza been primitive or complete.
> >>>
> >>> So an instance ronpizza1 of RonaldPizza when placed in your
> >>> mouth must only have a taste of tomato and cheese and nothing else.
> >>>
> >>> Hence no need to close off instances per say.
> >>>
> >>>
> >>>
> >>> Ronald Cornet wrote:
> >>>
> >>>>> I wonder if we have any Pizza developers ie. the Manchester
> >>>>> University gurus out there that cans shed some light on
> >>>>>
> >>> our queries.
> >>>
> >>>> I hope so!
> >>>>
> >>>>
> >>>>
> >>>>> 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?
> >>>>>
> >>>>>
> >>>> No, I understand how to do this with classes, as you describe  
> >>>> above.
> >>>> I do not understand how to do this with instances.
> >>>>
> >>>> So I instantiate a pizza, put some ingredients on it, and
> >>>>
> >>> then want to express there aren't any other ingredients.
> >>>
> >>>> Ronald
> >>>>
> >>>>
> >>>>
> >>> --
> >>> 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
> >>> [hidden email]
> >>> https://mailman.stanford.edu/mailman/listinfo/protege-owl
> >>>
> >>> Instructions for unsubscribing:
> >>> http://protege.stanford.edu/doc/faq.html#01a.03
> >>>
> >>>
> >>>
> >>
> >> _______________________________________________
> >> protege-owl mailing list
> >> [hidden email]
> >> 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
> > [hidden email]
> > https://mailman.stanford.edu/mailman/listinfo/protege-owl
> >
> > Instructions for unsubscribing: http://protege.stanford.edu/doc/
> > faq.html#01a.03
>
> _______________________________________________
> protege-owl mailing list
> [hidden email]
> https://mailman.stanford.edu/mailman/listinfo/protege-owl
>
> Instructions for unsubscribing: http://protege.stanford.edu/doc/faq.
> html#01a.03

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

Instructions for unsubscribing: http://protege.stanford.edu/doc/faq.html#01a.03 
Reply | Threaded
Open this post in threaded view
|

Re: Query: Subclasses or Sibling

Bert-14
In reply to this post by Timothy Redmond
Timothy Redmond wrote:

> On Apr 3, 2007, at 9:03 AM, Thomas Russ wrote:
>
>  
>> On Apr 3, 2007, at 2:59 AM, william fitzgerald wrote:
>>
>>    
>>> Method 2:
>>>
>>> I think dealing with individuals is more a rules engine thing than
>>> a DL
>>> reasoner area.
>>>      
>> That depends on the particular DL reasoner.
>>
>> Other DL languages and reasoners have had mechanisms that are quite
>> capable of reasoning using combinations of closed world reasoning,
>> limited closed world reasoning, and even cardinality restrictions
>> asserted directly about instances.
>>    
>
> This thread has been going on for some time so I may be missing some  
> context.  But it seems to me that you are making a link between  
> reasoning about individuals and closed world reasoning.  I think that  
> these are two entirely different issues.
>
> Ian Horrocks, Ulrike Sattler and many others have put a tremendous  
> amount of work into finding a reasonable computable description  
> logic.  There results include algorithms for deciding questions about  
> individuals as well as classes.  Pellet and Fact use the algorithms  
> that they have found so these algorithms are able to do "full OWL  
> inference" for individuals.  (I am always tempted to use the word  
> "complete" here but I don't know if this is one of its technical  
> meanings).
>
> Now when you start  talking about closed world reasoning, you are  
> talking about a different logic than OWL DL (and even than OWL  
> 1.1).   There are some suggestions flying around about how OWL can be  
> extended to handle the closed world.  Two that I know of are  
> autoepistemic logics and default logics.  There are also  
> implementations for these. I believe pellet has an implementation of  
> an autoepistemic logic and there was a paper recently about an  
> implementation for a default logic.
>  
A better integration with CWA is ID-logic (as it has been called in the
early 2000) now called FO(ID).
This is a logic with is FOL extended with inductive definitions
originally defined by Marc Denecker, KULeuven.
If you look for a nice semantical integration this logic might be the
one you are looking for.

Bert



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

Instructions for unsubscribing: http://protege.stanford.edu/doc/faq.html#01a.03 
Reply | Threaded
Open this post in threaded view
|

Re: Query: Subclasses or Sibling

Timothy Redmond
In reply to this post by JMiller


Can someone give a quick example showing the Uncle problem in OWL 1.1?


The  short story is that in OWL 1.1  allows you to say that a composition of properties is a sub property of another property.  Thus you can say that 

    hasBrother * hasParent  \subseteq   hasUncle.

This is described in section 6.2 of the owl 1.1 specification (http://owl1_1.cs.manchester.ac.uk/owl_specification.html).  The rub is that you have to make sure that you satisfy the requirements of section 7 (nonstructural restrictions on axioms).  But as I look at these they seem pretty reasonable.  

-Timothy


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

Instructions for unsubscribing: http://protege.stanford.edu/doc/faq.html#01a.03 
Reply | Threaded
Open this post in threaded view
|

Re: Query: Subclasses or Sibling

Timothy Redmond
In reply to this post by Bert-14
>>
>>
> A better integration with CWA is ID-logic (as it has been called in  
> the
> early 2000) now called FO(ID).
> This is a logic with is FOL extended with inductive definitions
> originally defined by Marc Denecker, KULeuven.
> If you look for a nice semantical integration this logic might be the
> one you are looking for.


Thanks for the pointer - I have printed some papers and it looks  
interesting.

-Timothy

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

Instructions for unsubscribing: http://protege.stanford.edu/doc/faq.html#01a.03 
12