Re: OWL class restriction

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).

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
> 
> 
> 
> 

Received on Thursday, 14 January 2010 08:51:27 UTC