[Pellet-users] does ‘allValuesFrom' restriction makes sense in an Open (and therefore potentially cruel ;-) World ?

Alejandro Sanchez ale at iist.unu.edu
Mon Feb 18 11:45:28 UTC 2008


Hi Raphael,

The inference can be obtained after telling the reasoner what he does 
not know. In this case, that the only instance related to 
individual4_Class2 through the 'requires' property is 
individual2_Class11. Then, the reasoner could infer that all values of 
the property are from Class11 and classify the individual as Class21.

The OWL code is ...

<Class2 rdf:about="#individual4_Class2">
   <rdf:type>
     <owl:Restriction>
       <owl:onProperty rdf:resource="#requires"/>
         <owl:cardinality 
rdf:datatype="&xsd;nonNegativeInteger">1</owl:cardinality>
             </owl:Restriction>
         </rdf:type>
         <requires rdf:resource="#individual2_Class11"/>
     </Class2>

cheers, Ale.

Raphael Coulonvaux wrote:
>    Hi,
> 
> I would like Pellet (1.5.1) to infer that some individuals belong to a 
> class whose definition contains both a 'someValuesFrom' and a 
> 'allValuesFrom' restriction (closure axiom pattern) but unfortunately it 
> does not.
> 
> Remark : the individuals type inference gives the expected result if I 
> remove the 'allValuesFrom' restriction from the class definition.
> 
> So my question is : with the Open World Assumption, is it possible or 
> not to infer that an individual belongs to a class whose definition says 
> that it contains individuals that may be related by a specified object 
> property to ONLY individuals belonging to another given class ?
> 
> I attached a tiny test ontology 'only_test.owl' showing the problem.
> 
> Here is the Pellet inference result when the "Class2" definition does 
> NOT contain the 'allValuesFrom' restriction (look at the last inference 
> result line) :
> 
> owl:Thing
>     test_only:Class1 - (test_only:individual1_Class1)
>        test_only:Class11 - (test_only:individual2_Class11)
>     test_only:Class2 - (test_only:individual3_Class2)
>        test_only:Class21 - (test_only:individual4_Class2)
> 
> Here is the Pellet inference result when the "Class2" definition DOES 
> contain the 'allValuesFrom' restriction :
> 
> owl:Thing
>     test_only:Class1 - (test_only:individual1_Class1)
>        test_only:Class11 - (test_only:individual2_Class11)
>     test_only:Class2 - (test_only:individual3_Class2, 
> test_only:individual4_Class2)
>        test_only:Class21
> 
> As you may see on the second inference result last line, 
> "individual4_Class2" (that is asserted to belong to "Class2") is not 
> anymore inferred as belonging to "Class21" while it was in the first 
> inference result.
> The "individual4_Class2" is related by the "requires" object property to 
> "individual2_Class11" (asserted to belong to "Class11").
> The "individual4_Class2" is NOT related to any other individual and 
> therefore we could consider that it is ONLY related by the "requires" 
> object property to individual(s) belonging to "Class11", but Pellet does 
> not infer so.
> Any idea ?
> 
> Raphaël Coulonvaux



More information about the Pellet-users mailing list