transitive properties cannot be used in number restrictions

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

transitive properties cannot be used in number restrictions

Fedner
Hi all!

I’m new to Protégé and OWL and i’m facing some important issues. One of these is described by the topic’s title. I’ll expose immediately an example to better introduce my specific problem.

I’m using an ontology to describe a pellet stove by a structural point of view. Two of the object properties i want to specify are:
hasComponent
contains
For instance, let’s talk about “contains”: the stove body contains a combustion chamber, and the combustion chamber contains a burnpot. I can say that the containment property is a transitive property, thus i tick the Transitive tick box on the ‘Property Characteristics View’ so that the reasoner can infer that the stove body contains a burnpot. Till here no problems, but… furthermore, i’d like to assert that every instance of the class StoveBody contains exactly one instance of the class CombustionChamber and, moreover, every instance of the class CombustionChamber contains exactly one instance of the class Burnpot. To do this, as far as I know, i should add a cardinality restriction by selecting the ‘Add’ icon next to the ‘Superclasses’ header in the class description view, and typing “contains exactly 1 CombustionChamber (or Burnpot)”. Unfortunately, cardinality restrictions don’t agree with transitive properties for decidability reasons (that are not so clear to me). On the contrary, the reasoner doesn’t throw any exception if i use the “same” keyword instead of “exactly 1”, but this implies that, for example, a CombustionChamber can contain more than one Burnpot. Exactly what i want to avoid.

So, is there any way to keep the transitive property and, at the same time, assert a generic cardinality restriction?

Thanks in advance
Reply | Threaded
Open this post in threaded view
|

Re: transitive properties cannot be used in number restrictions

Timothy Redmond

I don't know how to answer this with mathematical precision but the
obvious answer is that you are stuck.  You have to decide whether it is
more important that the property is transitive or if it is more
important to have the cardinality restrictions.  You are running into
the constraints on composite properties defined in [1].

-Timothy

[1]http://www.w3.org/TR/2009/REC-owl2-syntax-20091027/#Global_Restrictions_on_Axioms_in_OWL_2_DL


On 05/04/2011 11:03 AM, Fedner wrote:

> Hi all!
>
> I’m new to Protégé and OWL and i’m facing some important issues. One of
> these is described by the topic’s title. I’ll expose immediately an example
> to better introduce my specific problem.
>
> I’m using an ontology to describe a pellet stove by a structural point of
> view. Two of the object properties i want to specify are:
> hasComponent
> contains
> For instance, let’s talk about “contains”: the stove body contains a
> combustion chamber, and the combustion chamber contains a burnpot. I can say
> that the containment property is a transitive property, thus i tick the
> Transitive tick box on the ‘Property Characteristics View’ so that the
> reasoner can infer that the stove body contains a burnpot. Till here no
> problems, but… furthermore, i’d like to assert that every instance of the
> class StoveBody contains exactly one instance of the class CombustionChamber
> and, moreover, every instance of the class CombustionChamber contains
> exactly one instance of the class Burnpot. To do this, as far as I know, i
> should add a cardinality restriction by selecting the ‘Add’ icon next to the
> ‘Superclasses’ header in the class description view, and typing “contains
> exactly 1 CombustionChamber (or Burnpot)”. Unfortunately, cardinality
> restrictions don’t agree with transitive properties for decidability reasons
> (that are not so clear to me). On the contrary, the reasoner doesn’t throw
> any exception if i use the “same” keyword instead of “exactly 1”, but this
> implies that, for example, a CombustionChamber can contain more than one
> Burnpot. Exactly what i want to avoid.
>
> So, is there any way to keep the transitive property and, at the same time,
> assert a generic cardinality restriction?
>
> Thanks in advance
>
> --
> View this message in context: http://protege-ontology-editor-knowledge-acquisition-system.136.n4.nabble.com/transitive-properties-cannot-be-used-in-number-restrictions-tp3496357p3496357.html
> Sent from the Protege OWL mailing list archive at Nabble.com.
> _______________________________________________
> 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: transitive properties cannot be used in number restrictions

Thomas Russ
In reply to this post by Fedner
As Timothy said, you are encountering a restriction in the OWL  
language, so you can't directly have both of these.

Perhaps you can work around this by using subproperties.
You would create the transitive contains property and then a non-
transitive sub-property called directlyContains.
You could then impose the exactly 1 restriction on the non-transitive  
sub-property directlyContains.

Since it is a subproperty of contains, you would get the inference that
   x directlyContains y => x contains y
and from that the transitive values as well.

What I'm not completely sure about is whether this will run afoul of  
some other language restriction.




On May 4, 2011, at 11:03 AM, Fedner wrote:

> Hi all!
>
> I’m new to Protégé and OWL and i’m facing some important issues. One  
> of
> these is described by the topic’s title. I’ll expose immediately an  
> example
> to better introduce my specific problem.
>
> I’m using an ontology to describe a pellet stove by a structural  
> point of
> view. Two of the object properties i want to specify are:
> hasComponent
> contains
> For instance, let’s talk about “contains”: the stove body contains a
> combustion chamber, and the combustion chamber contains a burnpot. I  
> can say
> that the containment property is a transitive property, thus i tick  
> the
> Transitive tick box on the ‘Property Characteristics View’ so that the
> reasoner can infer that the stove body contains a burnpot. Till here  
> no
> problems, but… furthermore, i’d like to assert that every instance  
> of the
> class StoveBody contains exactly one instance of the class  
> CombustionChamber
> and, moreover, every instance of the class CombustionChamber contains
> exactly one instance of the class Burnpot. To do this, as far as I  
> know, i
> should add a cardinality restriction by selecting the ‘Add’ icon  
> next to the
> ‘Superclasses’ header in the class description view, and typing  
> “contains
> exactly 1 CombustionChamber (or Burnpot)”. Unfortunately, cardinality
> restrictions don’t agree with transitive properties for decidability  
> reasons
> (that are not so clear to me). On the contrary, the reasoner doesn’t  
> throw
> any exception if i use the “same” keyword instead of “exactly 1”,  
> but this
> implies that, for example, a CombustionChamber can contain more than  
> one
> Burnpot. Exactly what i want to avoid.
>
> So, is there any way to keep the transitive property and, at the  
> same time,
> assert a generic cardinality restriction?
>
> Thanks in advance
>
> --
> View this message in context: http://protege-ontology-editor-knowledge-acquisition-system.136.n4.nabble.com/transitive-properties-cannot-be-used-in-number-restrictions-tp3496357p3496357.html
> Sent from the Protege OWL mailing list archive at Nabble.com.
> _______________________________________________
> 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: transitive properties cannot be used in number restrictions

Fedner
Thank you Timothy and Thomas, your answers have been very useful! Using the subproperties trick the reasoner now doesn’t throw errors but, before that, i had to deactivate the Asymmetric and Irreflexive tick-boxes for the superproperty (the transitive one). If i correctly understood the document linked by Timothy, asymmetric and irreflexive properties are simple object properties, while transitive properties are composite because of the transitive closure. So, if an object property is transitive, it is not simple and therefore it can’t be asymmetric nor irreflexive, nor have cardinality restrictions… and this is an OWL (and maybe before a Description Logic) restriction.
I’m trying to figure out the reason for this restriction, and i’d like to know if the following argument is good.

The pellet stove is represented by the PelletStove class. CombustionChamber and Burnpot are subclasses of the Component class. Component is a sibling of PelletStove.

Class tree:
Thing
  |- PelletStove
  |- Component
       |- CombustionChamber
       |- Burnpot

Object properties tree:
topObjectProperty
  |- contains (transitive)
       |- directlyContains (may be asymmetric and irreflexive, but not transitive)

Class descriptions:
PelletStove directlyContains exactly 1 CombustionChamber
CombustionChamber directlyContains exactly 1 Burnpot

From class descriptions, the reasoner can infer the following idea:
pellet stove ---contains---> combustion chamber ---contains---> burnpot
but, being both combustion chamber and burnpot a component, from the above idea can be inferred the following:
pellet stove ---contains---> component ---contains---> component
Thus, component ---contains---> component is reflexive (and symmetric).

Is this correct? Is this the reason for the incompatibility of transitive and simple (asimmetric, irreflexive, cardinality restriction...) properties? (al least in this case)
Reply | Threaded
Open this post in threaded view
|

Re: transitive properties cannot be used in number restrictions

Timothy Redmond

> I’m trying to figure out the reason for this restriction, and i’d like to
> know if the following argument is good.

I don't know if there is an easy source for this.  An example of the
need for this type of requirement is proved in [1] (section 4).  You can
read this section in isolation from the rest of the paper.  Here Ian
Horrocks et al. reduce the problem of showing that a concept is
consistent to a known undecidable problem - the domino problem [2].  
They take the grid defined by the domino problem and divides it into
four disjoint classes depending on whether the x or y coordinate of the
grid location is even or odd.  They then use a qualified cardinality
restriction on some properties to capture the constraint that you get
the same domino if you go across and up as you do if you go up and across.

The proof is clever but can be followed with a bit of work.  Other
variations of this problem are described in later papers.

-Timothy


[1]http://www.comlab.ox.ac.uk/people/ian.horrocks/Publications/download/1999/lpar99.pdf
[2]http://en.wikipedia.org/wiki/Domino_problem


On 05/05/2011 10:32 AM, Fedner wrote:

> Thank you Timothy and Thomas, your answers have been very useful! Using the
> subproperties trick the reasoner now doesn’t throw errors but, before that,
> i had to deactivate the Asymmetric and Irreflexive tick-boxes for the
> superproperty (the transitive one). If i correctly understood the document
> linked by Timothy, asymmetric and irreflexive properties are simple object
> properties, while transitive properties are composite because of the
> transitive closure. So, if an object property is transitive, it is not
> simple and therefore it can’t be asymmetric nor irreflexive, nor have
> cardinality restrictions… and this is an OWL (and maybe before a Description
> Logic) restriction.
> I’m trying to figure out the reason for this restriction, and i’d like to
> know if the following argument is good.
>
> The pellet stove is represented by the PelletStove class. CombustionChamber
> and Burnpot are subclasses of the Component class. Component is a sibling of
> PelletStove.
>
> Class tree:
> Thing
>    |- PelletStove
>    |- Component
>         |- CombustionChamber
>         |- Burnpot
>
> Object properties tree:
> topObjectProperty
>    |- contains (transitive)
>         |- directlyContains (may be asymmetric and irreflexive, but not
> transitive)
>
> Class descriptions:
> PelletStove directlyContains exactly 1 CombustionChamber
> CombustionChamber directlyContains exactly 1 Burnpot
>
>  From class descriptions, the reasoner can infer the following idea:
> pellet stove ---contains--->  combustion chamber ---contains--->  burnpot
> but, being both combustion chamber and burnpot a component, from the above
> idea can be inferred the following:
> pellet stove ---contains--->  component ---contains--->  component
> Thus, component ---contains--->  component is reflexive (and symmetric).
>
> Is this correct? Is this the reason for the incompatibility of transitive
> and simple (asimmetric, irreflexive, cardinality restriction...) properties?
> (al least in this case)
>
> --
> View this message in context: http://protege-ontology-editor-knowledge-acquisition-system.136.n4.nabble.com/transitive-properties-cannot-be-used-in-number-restrictions-tp3496357p3498972.html
> Sent from the Protege OWL mailing list archive at Nabble.com.
> _______________________________________________
> 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: transitive properties cannot be used in number restrictions

Thomas Russ
In reply to this post by Fedner

On May 5, 2011, at 10:32 AM, Fedner wrote:

> So, if an object property is transitive, it is not
> simple and therefore it can’t be asymmetric nor irreflexive, nor have
> cardinality restrictions… and this is an OWL (and maybe before a  
> Description
> Logic) restriction.
> I’m trying to figure out the reason for this restriction, and i’d  
> like to
> know if the following argument is good.

Timothy gave you a great reference on this.

The general justification for restrictions in OWL is that they lead to  
decidability problems.  Some other, less expressive DLs also don't  
allow constructs that are intractable.  (OWL does have constructs that  
are theoretically intractable, but decidable.  It relies on them not  
actually exhibiting this behavior in practice.)

You argument doesn't really work, since it relies on a contradiction  
issue, and that doesn't stop constructs from being part of the OWL  
language.  In fact, the existence of inconsistent ontologies indicates  
that one is certainly able to write such ontologies.

> PelletStove directlyContains exactly 1 CombustionChamber
> CombustionChamber directlyContains exactly 1 Burnpot
>
>> From class descriptions, the reasoner can infer the following idea:
> pellet stove ---contains---> combustion chamber ---contains--->  
> burnpot
> but, being both combustion chamber and burnpot a component, from the  
> above
> idea can be inferred the following:
> pellet stove ---contains---> component ---contains---> component
> Thus, component ---contains---> component is reflexive (and  
> symmetric).

But your example of a potential asymmetry is also not correct, since  
symmetry and asymmetry are defined on the individual and not the class  
level.  So one can legitimately have a property  P: C -> C with the  
same domain and range and have it be asymmetric.  An example would be  
the "biological-parent" property, which maps Animal to Animal but is  
asymmetric.  In that sense, an "biological-ancestor" property would  
also be asymmetric and transitive, although you can't have it be both  
in OWL.

That is one of the consequences of having decidability of  
classification be a design constraint.  There are other representation  
languages, for example, first order logic, that are not decidable.  
Some other description logics were not concerned with decidability  
either, and allowed more expressive constructs as well.

-Tom.

_______________________________________________
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: transitive properties cannot be used in number restrictions

Fedner
In reply to this post by Timothy Redmond
Thank you both for your useful and exhaustive answers.


Timothy Redmond wrote
I don't know if there is an easy source for this.  An example of the
need for this type of requirement is proved in [1] (section 4).  You can
read this section in isolation from the rest of the paper.  Here Ian
Horrocks et al. reduce the problem of showing that a concept is
consistent to a known undecidable problem - the domino problem [2].  
They take the grid defined by the domino problem and divides it into
four disjoint classes depending on whether the x or y coordinate of the
grid location is even or odd.  They then use a qualified cardinality
restriction on some properties to capture the constraint that you get
the same domino if you go across and up as you do if you go up and across.

The proof is clever but can be followed with a bit of work.  Other
variations of this problem are described in later papers.

-Timothy


[1]http://www.comlab.ox.ac.uk/people/ian.horrocks/Publications/download/1999/lpar99.pdf
[2]http://en.wikipedia.org/wiki/Domino_problem
Thank you for the reference, very useful for my thesis.
Reply | Threaded
Open this post in threaded view
|

Re: transitive properties cannot be used in number restrictions

Fedner
In reply to this post by Thomas Russ
Thomas Russ wrote
As Timothy said, you are encountering a restriction in the OWL  
language, so you can't directly have both of these.

Perhaps you can work around this by using subproperties.
You would create the transitive contains property and then a non-
transitive sub-property called directlyContains.
You could then impose the exactly 1 restriction on the non-transitive  
sub-property directlyContains.

Since it is a subproperty of contains, you would get the inference that
   x directlyContains y => x contains y
and from that the transitive values as well.

What I'm not completely sure about is whether this will run afoul of  
some other language restriction.
Hi, sorry if I open this discussion again. I've made my first steps with SWRL and I found that another possible solution to this issue is to create a non transitive property and assert the transitivity via an SWRL rule. I mean: I create the rule directlyContains non transitive, then I write the following rule:

directlyContains(?x1, ?x2), directlyContains(?x2, ?x3) -> directlyContains(?x1, ?x3)

This way the reasoner makes inferences like if directlyContains was transitive, and no exceptions are thrown because of cardinality restrictions. What I'm asking to the experts is if this solution may have drawbacks.

Thank you

Fedner
Reply | Threaded
Open this post in threaded view
|

Re: transitive properties cannot be used in number restrictions

Timothy Redmond

> Hi, sorry if I open this discussion again. I've made my first steps with
> SWRL and I found that another possible solution to this issue is to create a
> non transitive property and assert the transitivity via an SWRL rule

This seems like a reasonable approach.  The SWRL rule (with dl-safe
semantics) is not as strong as a transitive property assertion because
it can only be applied to named individuals.  Thus for instance if it is
deduced that some individuals must exist but they don't have names in
your ontology, an inference engine will not apply your rule to those
individuals.

-Timothy



On 09/16/2011 02:28 AM, Fedner wrote:

> Thomas Russ wrote:
>> As Timothy said, you are encountering a restriction in the OWL
>> language, so you can't directly have both of these.
>>
>> Perhaps you can work around this by using subproperties.
>> You would create the transitive contains property and then a non-
>> transitive sub-property called directlyContains.
>> You could then impose the exactly 1 restriction on the non-transitive
>> sub-property directlyContains.
>>
>> Since it is a subproperty of contains, you would get the inference that
>>     x directlyContains y =>  x contains y
>> and from that the transitive values as well.
>>
>> What I'm not completely sure about is whether this will run afoul of
>> some other language restriction.
>>
> Hi, sorry if I open this discussion again. I've made my first steps with
> SWRL and I found that another possible solution to this issue is to create a
> non transitive property and assert the transitivity via an SWRL rule. I
> mean: I create the rule directlyContains non transitive, then I write the
> following rule:
>
> directlyContains(?x1, ?x2), directlyContains(?x2, ?x3) ->
> directlyContains(?x1, ?x3)
>
> This way the reasoner makes inferences like if directlyContains was
> transitive, and no exceptions are thrown because of cardinality
> restrictions. What I'm asking to the experts is if this solution may have
> drawbacks.
>
> Thank you
>
> Fedner
>
> --
> View this message in context: http://protege-ontology-editor-knowledge-acquisition-system.136.n4.nabble.com/transitive-properties-cannot-be-used-in-number-restrictions-tp3496357p3817694.html
> Sent from the Protege OWL mailing list archive at Nabble.com.
> _______________________________________________
> 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: transitive properties cannot be used in number restrictions

Fedner
This post was updated on .
Timothy Redmond wrote
This seems like a reasonable approach.  The SWRL rule (with dl-safe
semantics) is not as strong as a transitive property assertion because
it can only be applied to named individuals.  Thus for instance if it is
deduced that some individuals must exist but they don't have names in
your ontology, an inference engine will not apply your rule to those
individuals.
Thanks a lot for your explanation, precise as usual :-)

Bye

Fedner
Reply | Threaded
Open this post in threaded view
|

Re: transitive properties cannot be used in number restrictions

Martin O'Connor

A discussion of DL-safe SWRL can be found here:

http://protege.cim3.net/cgi-bin/wiki.pl?SWRLLanguageFAQ#nid9VC

In practice, the restriction to DL-safe inference with SWRL does not typically have significant practical consequences.

No SWRL-supporting OWL reasoner that I am aware of provides the full unrestricted interpretation, i.e., all support
DL-safe inference only.

Martin

On 9/16/2011 9:45 AM, Fedner wrote:

> This seems like a reasonable approach.  The SWRL rule (with dl-safe
> semantics) is not as strong as a transitive property assertion because
> it can only be applied to named individuals.  Thus for instance if it is
> deduced that some individuals must exist but they don't have names in
> your ontology, an inference engine will not apply your rule to those
> individuals.
>
>
> Thanks a lot for your explanation, precise as usual :-)
>
> Bye
>
> Fedner
>
> --
> View this message in context: http://protege-ontology-editor-knowledge-acquisition-system.136.n4.nabble.com/transitive-properties-cannot-be-used-in-number-restrictions-tp3496357p3818566.html
> Sent from the Protege OWL mailing list archive at Nabble.com.
> _______________________________________________
> 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: transitive properties cannot be used in number restrictions

Fedner
Martin O'Connor wrote
A discussion of DL-safe SWRL can be found here:

http://protege.cim3.net/cgi-bin/wiki.pl?SWRLLanguageFAQ#nid9VC

In practice, the restriction to DL-safe inference with SWRL does not typically have significant practical consequences.

No SWRL-supporting OWL reasoner that I am aware of provides the full unrestricted interpretation, i.e., all support
DL-safe inference only.
Thank you for the useful reference.

Fedner