Reasoning individuals

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

Reasoning individuals

warmonga
Hi,

sorry in case this question already came up before but I couldn't find
the answer in the list archive.
I am just wondering why the Reasoner (Racer Pro) doesn't report an
inconsistency when an individual doesn't match the requirements. Im my
test case I have created two classes ClassA and classB and one
property "hasClassB". All individuals of ClassA are supposed to have
"SomeValuesOf" the property "hasClassB", hence I created an
existential restriction.
Then I created an individiual of ClassA called "ClassA_2" but I did
NOT create any property for this individual. So I thought the reasoner
would report an inconsistancy due to the missing "hasClassB" property.

The test ontology including the individual are posted below. Many
thanks in advance for your help.
Best regards,
Maurice

SAMPLE ONTOLOGY:

<?xml version="1.0"?>
<rdf:RDF
  xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns:xsd="http://www.w3.org/2001/XMLSchema#"
  xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
  xmlns:owl="http://www.w3.org/2002/07/owl#"
  xmlns="http://www.owl-ontologies.com/unnamed.owl#"
 xml:base="http://www.owl-ontologies.com/unnamed.owl">
 <owl:Ontology rdf:about=""/>
 <owl:Class rdf:ID="ClassB">
  <owl:disjointWith>
    <owl:Class rdf:ID="ClassA"/>
  </owl:disjointWith>
 </owl:Class>
 <owl:Class rdf:about="#ClassA">
  <rdfs:subClassOf rdf:resource="http://www.w3.org/2002/07/owl#Thing"/>
  <owl:disjointWith rdf:resource="#ClassB"/>
  <rdfs:subClassOf>
    <owl:Restriction>
      <owl:someValuesFrom rdf:resource="#ClassB"/>
      <owl:onProperty>
        <owl:ObjectProperty rdf:ID="hasClassB"/>
      </owl:onProperty>
    </owl:Restriction>
  </rdfs:subClassOf>
 </owl:Class>
 <owl:ObjectProperty rdf:about="#hasClassB">
  <rdfs:range rdf:resource="#ClassB"/>
  <rdfs:domain rdf:resource="#ClassA"/>
 </owl:ObjectProperty>
 <ClassA rdf:ID="ClassA_2"/>
</rdf:RDF>
-------------------------------------------------------------------------
To unsubscribe go to http://protege.stanford.edu/community/subscribe.html

Reply | Threaded
Open this post in threaded view
|

Re: Reasoning individuals

Matthew Horridge
Hi Maurice,


> sorry in case this question already came up before but I couldn't find
> the answer in the list archive.
> I am just wondering why the Reasoner (Racer Pro) doesn't report an
> inconsistency when an individual doesn't match the requirements. Im my
> test case I have created two classes ClassA and classB and one
> property "hasClassB". All individuals of ClassA are supposed to have
> "SomeValuesOf" the property "hasClassB", hence I created an
> existential restriction.
> Then I created an individiual of ClassA called "ClassA_2" but I did
> NOT create any property for this individual. So I thought the reasoner
> would report an inconsistancy due to the missing "hasClassB" property.

This is the correct behaviour and it is due to the open world  
assumption.  It will be assumed that a relationship from ClassA_2  
along hasClassB exists -- you haven't explicitly said that this  
relationship doesn't exist for this particular individual.  In other  
words, just because you haven't stated something to be true doesn't  
necessarily mean it's false - contrast this with databases.

Cheers,

Matthew


> The test ontology including the individual are posted below. Many
> thanks in advance for your help.
> Best regards,
> Maurice
>
> SAMPLE ONTOLOGY:
>
> <?xml version="1.0"?>
> <rdf:RDF
>  xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
>  xmlns:xsd="http://www.w3.org/2001/XMLSchema#"
>  xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
>  xmlns:owl="http://www.w3.org/2002/07/owl#"
>  xmlns="http://www.owl-ontologies.com/unnamed.owl#"
> xml:base="http://www.owl-ontologies.com/unnamed.owl">
> <owl:Ontology rdf:about=""/>
> <owl:Class rdf:ID="ClassB">
>  <owl:disjointWith>
>    <owl:Class rdf:ID="ClassA"/>
>  </owl:disjointWith>
> </owl:Class>
> <owl:Class rdf:about="#ClassA">
>  <rdfs:subClassOf rdf:resource="http://www.w3.org/2002/07/owl#Thing"/>
>  <owl:disjointWith rdf:resource="#ClassB"/>
>  <rdfs:subClassOf>
>    <owl:Restriction>
>      <owl:someValuesFrom rdf:resource="#ClassB"/>
>      <owl:onProperty>
>        <owl:ObjectProperty rdf:ID="hasClassB"/>
>      </owl:onProperty>
>    </owl:Restriction>
>  </rdfs:subClassOf>
> </owl:Class>
> <owl:ObjectProperty rdf:about="#hasClassB">
>  <rdfs:range rdf:resource="#ClassB"/>
>  <rdfs:domain rdf:resource="#ClassA"/>
> </owl:ObjectProperty>
> <ClassA rdf:ID="ClassA_2"/>
> </rdf:RDF>
> ----------------------------------------------------------------------
> ---
> To unsubscribe go to http://protege.stanford.edu/community/ 
> subscribe.html
>

-------------------------------------------------------------------------
To unsubscribe go to http://protege.stanford.edu/community/subscribe.html

Reply | Threaded
Open this post in threaded view
|

Re: Reasoning individuals

absk2007-equipe
In reply to this post by warmonga
Hi,
It is normally that the resonner doesn't report an incosistence, because when dont't find a hasClassB member dosn't mean that it is not possible to exist !
It's the constraint of the Open World Assumption (OWA)
The solution is to add a type to individu of class A, indicating that this individu has no classB
Thanks

Maurice <[hidden email]> a écrit :
Hi,

sorry in case this question already came up before but I couldn't find
the answer in the list archive.
I am just wondering why the Reasoner (Racer Pro) doesn't report an
inconsistency when an individual doesn't match the requirements. Im my
test case I have created two classes ClassA and classB and one
property "hasClassB". All individuals of ClassA are supposed to have
"SomeValuesOf" the property "hasClassB", hence I created an
existential restriction.
Then I created an individiual of ClassA called "ClassA_2" but I did
NOT create any property for this individual. So I thought the reasoner
would report an inconsistancy due to the missing "hasClassB" property.

The test ontology including the individual are posted below. Many
thanks in advance for your help.
Best regards,
Maurice

SAMPLE ONTOLOGY:


xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:xsd="http://www.w3.org/2001/XMLSchema#"
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
xmlns:owl="http://www.w3.org/2002/07/owl#"
xmlns="http://www.owl-ontologies.com/unnamed.owl#"
xml:base="http://www.owl-ontologies.com/unnamed.owl">
























-------------------------------------------------------------------------
To unsubscribe go to http://protege.stanford.edu/community/subscribe.html



Faites de Yahoo! votre page d'accueil sur le web pour retrouver directement vos services préférés : vérifiez vos nouveaux mails, lancez vos recherches et suivez l'actualité en temps réel. Cliquez ici.
Reply | Threaded
Open this post in threaded view
|

Re: Reasoning individuals

warmonga
Hi Matthew,
hi absk2007,

many thanks for the fast and detailed answers! Now I see what's going
on. Thanks again.

Best regards from Germany,

Maurice


On 5/2/06, [hidden email] <[hidden email]> wrote:

>
> Hi,
> It is normally that the resonner doesn't report an incosistence, because
> when dont't find a hasClassB member dosn't mean that it is not possible to
> exist !
> It's the constraint of the Open World Assumption (OWA)
> The solution is to add a type to individu of class A, indicating that this
> individu has no classB
> Thanks
>
> Maurice <[hidden email]> a écrit :
> Hi,
>
> sorry in case this question already came up before but I couldn't find
> the answer in the list archive.
> I am just wondering why the Reasoner (Racer Pro) doesn't report an
> inconsistency when an individual doesn't match the requirements. Im my
> test case I have created two classes ClassA and classB and one
> property "hasClassB". All individuals of ClassA are supposed to have
> "SomeValuesOf" the property "hasClassB", hence I created an
> existential restriction.
> Then I created an individiual of ClassA called "ClassA_2" but I did
> NOT create any property for this individual. So I thought the reasoner
> would report an inconsistancy due to the missing "hasClassB" property.
>
> The test ontology including the individual are posted below. Many
> thanks in advance for your help.
> Best regards,
> Maurice
>
> SAMPLE ONTOLOGY:
>
>
> xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
> xmlns:xsd="http://www.w3.org/2001/XMLSchema#"
> xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
> xmlns:owl="http://www.w3.org/2002/07/owl#"
> xmlns="http://www.owl-ontologies.com/unnamed.owl#"
> xml:base="http://www.owl-ontologies.com/unnamed.owl">
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
> -------------------------------------------------------------------------
>
> To unsubscribe go to
> http://protege.stanford.edu/community/subscribe.html
>
>
>
>
>
> ________________________________
> Faites de Yahoo! votre page d'accueil sur le web pour retrouver directement
> vos services préférés : vérifiez vos nouveaux mails, lancez vos recherches
> et suivez l'actualité en temps réel. Cliquez ici.
>
>
-------------------------------------------------------------------------
To unsubscribe go to http://protege.stanford.edu/community/subscribe.html