[Pellet-users] instance recognition when using owl:complementOf does not succeed

Ibach, Brandon L brandon.l.ibach at lmco.com
Wed Jan 17 15:54:06 UTC 2007


	Actually, I interpreted the OWL snippet differently, though I'm
happy to be set straight if I'm off track. :)  Because the
owl:complementOf is around the outer (hasStage) restriction, any
individual that might be classified as a member of ClassToRecognize must
provably NOT have a Stage which is a ClassOne that involves an object
which is an ObjectC (paraphrasing the property meanings, a bit).
	Unfortunately, as Evren points out, proving the non-existence of
something, especially something fairly complicated such as this, tends
to be rather tedious in OWL due to the OWA, as it generally requires (so
far as I'm aware, unless there's an easier way) the use of class
descriptions with cardinality restrictions to overcome the "there might
be other facts that we aren't aware of" problem.  In this case, you'd
need to make a statement that the individual you want classified has no
other Stages, the ClassOne individuals that it does have as Stages
involve no other objects and the objects that are involved with the
ClassOne individuals are absolutely NOT of type ObjectC.
	I ran into some problems with Pellet in trying to construct a
minimal case of an individual that would get classified with this
description, so I'm afraid I don't have a working example of what would
be required, but I hope the above gives you a starting point.

-Brandon :)


-----Original Message-----
From: pellet-users-bounces at lists.owldl.com
[mailto:pellet-users-bounces at lists.owldl.com] On Behalf Of Evren Sirin
Sent: Tuesday, January 16, 2007 10:12 PM
To: Andreas Lohmann
Cc: pellet-users at lists.owldl.com
Subject: Re: [Pellet-users] instance recognition when using
owl:complementOf does not succeed

On 1/12/07 12:40 PM, Andreas Lohmann wrote:
> Hi ,
>
> I'm stuck with a problem regarding instance recognition using pellet
1.4RC1.
> Since I have tried to use the owl:complementOf  property to to make 
> class description sufficient, reasoning does not work any more.
> I've tried heaps of combinations to include complementOf just to see 
> if I can get reasoning running at all while having this property in 
> the ontology, but no success.
> No I'm wondering if there is a general issue on this I didn't get.
>
> Here is what I want to do:
> I want to recognize an instance of #ClassToRecognize.
> Its property #hasStage has an object #ClassOne which in turn has a 
> property #involvesObject.
> Objects allowed for #involvesObject are (among others)  #ObjectA + 
> #ObjectB and their children. (sufficient) Objects NOT allowed for 
> #involvesObject are #ObjectC and their children.
>
> So when I remove the "Class ... complementOf" part, reasoning works 
> well, if I use  the ontology like below the instance is not
recognized.
> (naturally there is no #involvesObject property which #ObjectC as an 
> object in the model which is sent to the reasoner)
>   
It is hard to tell something definitely without seeing the other
relevant parts of the ontology, e.g. the description of the individual
that you think should be classified under ClassToRecognize. I suspect
the problem might be related to open world assumption of OWL. When you
use complementOf(ObjectC) in your definition, the value you use for
involvesObject should be proven to be an instance of ObjectC's negation.

Not having (x rdf:type ObjectC) would not be enough to prove that
because with OWA the reasoner will conclude it is still possible but we
don't know (x rdf:type ObjectC). On the other hand, if you have (x
rdf:type SomeClass) and (SomeClass disjointWith ObjectC) then the
reasoner will infer x is an instance of complementOf(ObjectC).

Sorry if I'm pointing out something obvious for you. With a more
complete ontology example, it would be easier to see what is wrong.

Cheers,
Evren
>
> I hope someone can help me with this
> Thanks in advance, Andy
>
> <owl:Class rdf:about="#ClassToRecognize"> <owl:equivalentClass> 
> <owl:Class>
> <owl:intersectionOf rdf:parseType="Collection">    
>     <owl:Restriction>
>             <owl:onProperty>
>               <owl:ObjectProperty rdf:about="#hasStage"/>
>             </owl:onProperty>
>             <owl:someValuesFrom>
>               <owl:Class>
>                 <owl:intersectionOf rdf:parseType="Collection">
>                   <owl:Class rdf:about="#ClassOne"/>
>                   <owl:Restriction>
>                     <owl:onProperty>
>                       <owl:ObjectProperty
rdf:about="#involvesObject"/>
>                     </owl:onProperty>
>                     <owl:someValuesFrom>
>                       <owl:Class>
>                         <owl:unionOf rdf:parseType="Collection">
>                           <owl:Class rdf:about="#ObjectA"/>
>                           <owl:Class rdf:about="#ObjectB"/>
>                         </owl:unionOf>
>                       </owl:Class>
>                     </owl:someValuesFrom>
>                   </owl:Restriction>
>                 </owl:intersectionOf>
>               </owl:Class>
>             </owl:someValuesFrom>
>           </owl:Restriction>
>           <owl:Class>
>             <owl:complementOf>
>               <owl:Restriction>
>                 <owl:someValuesFrom>
>                   <owl:Class>
>                     <owl:intersectionOf rdf:parseType="Collection">
>                       <owl:Class rdf:about="#ClassOne"/>
>                       <owl:Restriction>
>                         <owl:someValuesFrom rdf:resource="#ObjectC"/>
>                         <owl:onProperty>
>                           <owl:ObjectProperty
rdf:about="#involvesObject"/>
>                         </owl:onProperty>
>                       </owl:Restriction>
>                     </owl:intersectionOf>
>                   </owl:Class>
>                 </owl:someValuesFrom>
>                 <owl:onProperty>
>                   <owl:ObjectProperty rdf:about="#hasStage"/>
>                 </owl:onProperty>
>               </owl:Restriction>
>             </owl:complementOf>
>           </owl:Class>
>         </owl:intersectionOf>
>     </owl:equivalentClass>
>   </owl:Class>
> </owl:Class>
>
> _______________________________________________
> Pellet-users mailing list
> Pellet-users at lists.owldl.com
> http://lists.owldl.com/mailman/listinfo/pellet-users
>
>   

_______________________________________________
Pellet-users mailing list
Pellet-users at lists.owldl.com
http://lists.owldl.com/mailman/listinfo/pellet-users
_______________________________________________

Sponsored by Clark & Parsia, LLC http://clarkparsia.com/


More information about the Pellet-users mailing list