Re: OWL class restriction

On 14 Jan 2010, at 13:14, Rinke Hoekstra wrote:

> On 14 jan 2010, at 13:30, Uli Sattler wrote:
>> ...but do you really need (2)? I think having all the rest should  
>> do the trick? Cheers, Uli
>
> For inferring the has_object relation, (1) alone is enough. But you  
> need some form of cardinality constraint (or functional property) if  
> you want to be able to raise a red flag whenever anyone asserts for  
> some action that it has two has_object relations to two distinct  
> objects.
>

do you really need to raise this flag? What if an action has 2 goals,  
say, to 'heat water' and 'to boil water'...then this shouldn't matter?  
I guess what you need to check is that an action of a certain kind has  
a certain goal (and that might be implied by virtue of the goals of  
its sub-actions) and that it has no subactions with some other kind of  
goal (like 'throwing the water out')?

Cheers, Uli

> Bottom line: it can't really be done in OWL 2.
>
> -Rinke
>
>>
>> On 14 Jan 2010, at 12:00, Thomas Schneider wrote:
>>
>>>
>>> On 14 Jan 2010, at 08:50, Rinke Hoekstra wrote:
>>>
>>>> Hi Thomas, Alessandro,
>>>>
>>>> Doesn't your (2) violate the global constraints on complex  
>>>> properties? You cannot have cardinality constraints on complex  
>>>> properties (such as chains and transitive properties).
>>>
>>> Oops ... *blush*
>>>
>>> Sorry
>>>
>>> Thomas
>>>
>>>> I myself have struggled with these kinds of modelling problems  
>>>> while working on my PhD. Chapter 7 of my dissertation describes  
>>>> ways of 'coping' with the limitations of OWL 2. See [1,2] if  
>>>> you're interested.
>>>>
>>>> Best,
>>>>
>>>> Rinke
>>>>
>>>> [1] http://www.leibnizcenter.org/~hoekstra/wordpress/
>>>> [2] http://dare.uva.nl/document/144868
>>>>
>>>> On 13 jan 2010, at 20:04, Thomas Schneider wrote:
>>>>
>>>>> Oh, just now I've read Uli's email properly ... and her  
>>>>> suggestion shows that this three-variable statement might be  
>>>>> possible. Would it be enough for your purposes if you say the  
>>>>> following?
>>>>>
>>>>> (1) The composition of has_action_goal and  
>>>>> inverse(has_object_goal) implies has_object
>>>>> (2) Every action can have at most one object (Action subClassOf  
>>>>> has_object max 1 Thing)
>>>>> (3) All individuals of type object are distinct
>>>>>
>>>>> If (2) clashes with your scenario, it seems to me that you will  
>>>>> need closed world reasoning.
>>>>>
>>>>> Cheers
>>>>>
>>>>> Thomas
>>>>>
>>>>>
>>>>> On 13 Jan 2010, at 17:52, Thomas Schneider wrote:
>>>>>
>>>>>> Hi Alessandro,
>>>>>>
>>>>>> On 13 Jan 2010, at 11:09, Alessandro Maccagnan wrote:
>>>>>>
>>>>>>> Hi Uli,
>>>>>>>
>>>>>>> thanks for your reply.
>>>>>>> We are trying to define a propertyChain but we realize that  
>>>>>>> what we need to say is as follows.
>>>>>>>
>>>>>>> defining these properties:
>>>>>>> Action has_object Some Object
>>>>>>> Action has_action_goal Some Goal
>>>>>>> Object has_object_goal Some Goal
>>>>>>>
>>>>>>> at the individuals level we would like to say:
>>>>>>>
>>>>>>> a1 has_action_goal g1
>>>>>>> o1 has_object_goal g1
>>>>>>> o2 has_object_goal g2
>>>>>>> =>
>>>>>>> a1 CAN HAVE has_object o1
>>>>>>>
>>>>>>> BUT
>>>>>>> a1 CANNOT HAVE has_object o2
>>>>>>>
>>>>>>> So this means that only the objects (o) that have the same  
>>>>>>> goal (g) of the
>>>>>>> action (a) can be used in that action.
>>>>>>
>>>>>> I don't think that this can be said in OWL because you will  
>>>>>> have to say that every individual x that is related to an  
>>>>>> individual y via has_object must also have another link to y  
>>>>>> via the chain has_action_goal o inverse(has_object_goal). This  
>>>>>> statement requires three variables in first-order logic, hence  
>>>>>> it's unlikely that it can be expressed in OWL. (Or does anyone  
>>>>>> here see a clever trick?) You might be more lucky with a rule  
>>>>>> language, but that is not my domain.
>>>>>>
>>>>>> Second, together with the rule you stated in your last  
>>>>>> sentence, the ontology you gave is not sufficient to conclude  
>>>>>> that a1 cannot have o2 as an object: the individuals g1 and g2  
>>>>>> can be the same, and actions and objects are not prevented from  
>>>>>> having other goals than the ones stated. You will at least have  
>>>>>> to make all individuals different and close the "some"  
>>>>>> restrictions with corresponding "only" restrictions. Even then,  
>>>>>> the open world assumption might play a trick on you in the  
>>>>>> cases where you haven't said anything about certain  
>>>>>> individuals, so you might require closed world reasoning here.
>>>>>>
>>>>>> Cheers
>>>>>>
>>>>>> Thomas
>>>>>>
>>>>>>> Any suggestions?
>>>>>>>
>>>>>>> Cheers
>>>>>>> Alessandro
>>>>>>>
>>>>>>> On Tue, Jan 12, 2010 at 5:51 PM, Uli Sattler <sattler@cs.man.ac.uk 
>>>>>>> > wrote:
>>>>>>> Hi Alessandro,
>>>>>>>
>>>>>>> this is a tricky think to be done. What you can do is use a  
>>>>>>> propertychain to ensure that
>>>>>>>
>>>>>>> the composition of  has_object with has_Goal implies has_Goal.
>>>>>>>
>>>>>>> This would require the usage of a dedicated 'has_Goal' (rather  
>>>>>>> than a less specific has_information) property, but this  
>>>>>>> shouldn't be a problem (make has_information a superproperty  
>>>>>>> of has_Goal if you like).
>>>>>>>
>>>>>>> Does this suffice? Cheers, Uli
>>>>>>>
>>>>>>>
>>>>>>> On 12 Jan 2010, at 14:54, Alessandro Maccagnan wrote:
>>>>>>>
>>>>>>> Hello,
>>>>>>>
>>>>>>> we are developing an ontology for the description of a general  
>>>>>>> Action structure. The Action Structure is composed of:
>>>>>>>
>>>>>>> Subject (that performs the action)
>>>>>>> Object_complement (that undergoes the action)
>>>>>>> Complement (that helps in the execution of the action)
>>>>>>> Goal of Action (the effect of the action)
>>>>>>>
>>>>>>> We have already defined that:
>>>>>>>
>>>>>>> Action has_information one Goal_of_action
>>>>>>> Action has_object some Object
>>>>>>> Object is_object_in some Action
>>>>>>> Object has_information some Goal_of_action (because an object  
>>>>>>> can be used in several distinct actions)
>>>>>>>
>>>>>>> Now we would like to say that an Action can have as its  
>>>>>>> objects only those that have the same goal of the related  
>>>>>>> action.
>>>>>>>
>>>>>>> Action has_object some Object where Object.Goal=Action.Goal
>>>>>>>
>>>>>>> Unfortunately we are stuck because we do not know how to  
>>>>>>> formalize it in OWL. Does anybody have any suggestions to help  
>>>>>>> us?
>>>>>>>
>>>>>>>
>>>>>>> Kind regards,
>>>>>>>
>>>>>>> Alessandro Maccagnan
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> -- 
>>>>>>> Alessandro
>>>>>>> Maccagnan
>>>>>>
>>>>>> + 
>>>>>> ----------------------------------------------------------------------+
>>>>>> |  Dr Thomas Schneider                    schneider (at)  
>>>>>> cs.man.ac.uk  |
>>>>>> |  School of Computer Science       http://www.cs.man.ac.uk/~schneidt 
>>>>>>   |
>>>>>> |  Kilburn Building, Room 2.114                 phone +44 161  
>>>>>> 2756136  |
>>>>>> |  University of  
>>>>>> Manchester                                            |
>>>>>> |  Oxford Road                                             _/// 
>>>>>> _       |
>>>>>> |  Manchester M13 9PL                                       
>>>>>> (o~o)       |
>>>>>> +-----------------------------------------------------oOOO-- 
>>>>>> (_)--OOOo--+
>>>>>>
>>>>>> Jubones (pl.n.)
>>>>>> Awful things bought in Nairobi which never look good at home.
>>>>>>
>>>>>>             Douglas Adams, John Lloyd: The Deeper Meaning of Liff
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>> + 
>>>>> ----------------------------------------------------------------------+
>>>>> |  Dr Thomas Schneider                    schneider (at)  
>>>>> cs.man.ac.uk  |
>>>>> |  School of Computer Science       http://www.cs.man.ac.uk/~schneidt 
>>>>>   |
>>>>> |  Kilburn Building, Room 2.114                 phone +44 161  
>>>>> 2756136  |
>>>>> |  University of  
>>>>> Manchester                                            |
>>>>> |  Oxford Road                                             _/// 
>>>>> _       |
>>>>> |  Manchester M13 9PL                                       
>>>>> (o~o)       |
>>>>> +-----------------------------------------------------oOOO--(_)-- 
>>>>> OOOo--+
>>>>>
>>>>> Jubones (pl.n.)
>>>>> Awful things bought in Nairobi which never look good at home.
>>>>>
>>>>>              Douglas Adams, John Lloyd: The Deeper Meaning of Liff
>>>>>
>>>>>
>>>>>
>>>>>
>>>>
>>>
>>> + 
>>> ----------------------------------------------------------------------+
>>> |  Dr Thomas Schneider                    schneider (at)  
>>> cs.man.ac.uk  |
>>> |  School of Computer Science       http://www.cs.man.ac.uk/~schneidt 
>>>   |
>>> |  Kilburn Building, Room 2.114                 phone +44 161  
>>> 2756136  |
>>> |  University of  
>>> Manchester                                            |
>>> |  Oxford Road                                             _/// 
>>> _       |
>>> |  Manchester M13 9PL                                       
>>> (o~o)       |
>>> +-----------------------------------------------------oOOO--(_)-- 
>>> OOOo--+
>>>
>>> Jubones (pl.n.)
>>> Awful things bought in Nairobi which never look good at home.
>>>
>>>                Douglas Adams, John Lloyd: The Deeper Meaning of Liff
>>>
>>>
>>>
>>>
>>
>
>

Received on Thursday, 14 January 2010 13:53:05 UTC