Does a reasoner catch non-compliant individuals?

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

Does a reasoner catch non-compliant individuals?

Meunier, Jean-Luc

Hi,

 

I expected the reasoner coming with Owl 4.1 to point out any individual that is not fulfilling the constraints imposed by its class.

 

So I created a class A, with a mandatory functional property “linksTo” from A to A. (A has a superclass defined by “linksTo exactly 1 A”)

Then I created an individual of A without any such property.

The reasoner does not complain.

 

I’m surprised, but maybe I miss the point... (I’m newcomer to OWL)

 

Thanks for any help/comment.

 

JL

 

--- Versions:

Dlquery

1.1.0

2010_10_26_0330

Owlviz Plug-in

4.1.1

2010_10_26_0330

The Protege 4 OWL Editor

4.1.0

b213_2010_10_26_0330

OntoGraf Plug-in

1.0.1

2010_10_26_0330

HermiT Reasoner

1.3.1

The OWL API

3.1.0

Svn_1620_3_1_0_release_2010_10_26_0330

 

--------------------------------------------------------------------------------------------------------------------------------------------

 

<?xml version="1.0"?>

 

 

<!DOCTYPE rdf:RDF [

    <!ENTITY owl "http://www.w3.org/2002/07/owl#" >

    <!ENTITY xsd "http://www.w3.org/2001/XMLSchema#" >

    <!ENTITY rdfs "http://www.w3.org/2000/01/rdf-schema#" >

    <!ENTITY rdf "http://www.w3.org/1999/02/22-rdf-syntax-ns#" >

    <!ENTITY Ontology1294240749675 "http://www.semanticweb.org/ontologies/2011/0/Ontology1294240749675.owl#" >

]>

 

 

<rdf:RDF xmlns="http://www.semanticweb.org/ontologies/2011/0/Ontology1294240749675.owl#"

     xml:base="http://www.semanticweb.org/ontologies/2011/0/Ontology1294240749675.owl"

     xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"

     xmlns:owl="http://www.w3.org/2002/07/owl#"

     xmlns:xsd="http://www.w3.org/2001/XMLSchema#"

     xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"

     xmlns:Ontology1294240749675="http://www.semanticweb.org/ontologies/2011/0/Ontology1294240749675.owl#">

    <owl:Ontology rdf:about="http://www.semanticweb.org/ontologies/2011/0/Ontology1294240749675.owl"/>

   

 

 

    <!--

    ///////////////////////////////////////////////////////////////////////////////////////

    //

    // Object Properties

    //

    ///////////////////////////////////////////////////////////////////////////////////////

     -->

 

   

 

 

    <!-- http://www.semanticweb.org/ontologies/2011/0/Ontology1294240749675.owl#linksTo -->

 

    <owl:ObjectProperty rdf:about="&Ontology1294240749675;linksTo">

        <rdf:type rdf:resource="&owl;FunctionalProperty"/>

        <rdfs:range rdf:resource="&Ontology1294240749675;A"/>

        <rdfs:domain rdf:resource="&Ontology1294240749675;A"/>

    </owl:ObjectProperty>

   

 

 

    <!--

    ///////////////////////////////////////////////////////////////////////////////////////

    //

    // Classes

    //

    ///////////////////////////////////////////////////////////////////////////////////////

     -->

 

   

 

 

    <!-- http://www.semanticweb.org/ontologies/2011/0/Ontology1294240749675.owl#A -->

 

    <owl:Class rdf:about="&Ontology1294240749675;A">

        <rdfs:subClassOf>

            <owl:Restriction>

                <owl:onProperty rdf:resource="&Ontology1294240749675;linksTo"/>

                <owl:onClass rdf:resource="&Ontology1294240749675;A"/>

                <owl:qualifiedCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:qualifiedCardinality>

            </owl:Restriction>

        </rdfs:subClassOf>

    </owl:Class>

   

 

 

    <!--

    ///////////////////////////////////////////////////////////////////////////////////////

    //

    // Individuals

    //

    ///////////////////////////////////////////////////////////////////////////////////////

     -->

 

   

 

 

    <!-- http://www.semanticweb.org/ontologies/2011/0/Ontology1294240749675.owl#a -->

 

    <owl:NamedIndividual rdf:about="&Ontology1294240749675;a">

        <rdf:type rdf:resource="&Ontology1294240749675;A"/>

    </owl:NamedIndividual>

</rdf:RDF>

 

 

 

<!-- Generated by the OWL API (version 3.1.0.20069) http://owlapi.sourceforge.net -->

 


_______________________________________________
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: Does a reasoner catch non-compliant individuals?

Timothy Redmond

This is an open world issue.  If you google for "closed world assumption" you will get some hits.

The reasoner is seeing your linksTo axiom and is using it to derive conclusions.  It knows that your individual must link to some other member of A but is not troubled by the fact that you have not asserted what that link is.  It checks that it is possible to satisfy the requirement.  Finding that it is possible, the reasoner reports that the ontology is consistent.

I believe that there is some work by the pellet group (and probably many others) to allow for some closed world reasoning.

-Timothy



On 01/05/2011 07:35 AM, Meunier, Jean-Luc wrote:

Hi,

 

I expected the reasoner coming with Owl 4.1 to point out any individual that is not fulfilling the constraints imposed by its class.

 

So I created a class A, with a mandatory functional property “linksTo” from A to A. (A has a superclass defined by “linksTo exactly 1 A”)

Then I created an individual of A without any such property.

The reasoner does not complain.

 

I’m surprised, but maybe I miss the point... (I’m newcomer to OWL)

 

Thanks for any help/comment.

 

JL

 

--- Versions:

Dlquery

1.1.0

2010_10_26_0330

Owlviz Plug-in

4.1.1

2010_10_26_0330

The Protege 4 OWL Editor

4.1.0

b213_2010_10_26_0330

OntoGraf Plug-in

1.0.1

2010_10_26_0330

HermiT Reasoner

1.3.1


The OWL API

3.1.0

Svn_1620_3_1_0_release_2010_10_26_0330

 

--------------------------------------------------------------------------------------------------------------------------------------------

 

<?xml version="1.0"?>

 

 

<!DOCTYPE rdf:RDF [

    <!ENTITY owl "http://www.w3.org/2002/07/owl#" >

    <!ENTITY xsd "http://www.w3.org/2001/XMLSchema#" >

    <!ENTITY rdfs "http://www.w3.org/2000/01/rdf-schema#" >

    <!ENTITY rdf "http://www.w3.org/1999/02/22-rdf-syntax-ns#" >

    <!ENTITY Ontology1294240749675 "http://www.semanticweb.org/ontologies/2011/0/Ontology1294240749675.owl#" >

]>

 

 

<rdf:RDF xmlns="http://www.semanticweb.org/ontologies/2011/0/Ontology1294240749675.owl#"

     xml:base="http://www.semanticweb.org/ontologies/2011/0/Ontology1294240749675.owl"

     xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"

     xmlns:owl="http://www.w3.org/2002/07/owl#"

     xmlns:xsd="http://www.w3.org/2001/XMLSchema#"

     xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"

     xmlns:Ontology1294240749675="http://www.semanticweb.org/ontologies/2011/0/Ontology1294240749675.owl#">

    <owl:Ontology rdf:about="http://www.semanticweb.org/ontologies/2011/0/Ontology1294240749675.owl"/>

   

 

 

    <!--

    ///////////////////////////////////////////////////////////////////////////////////////

    //

    // Object Properties

    //

    ///////////////////////////////////////////////////////////////////////////////////////

     -->

 

   

 

 

    <!-- http://www.semanticweb.org/ontologies/2011/0/Ontology1294240749675.owl#linksTo -->

 

    <owl:ObjectProperty rdf:about="&Ontology1294240749675;linksTo">

        <rdf:type rdf:resource="&owl;FunctionalProperty"/>

        <rdfs:range rdf:resource="&Ontology1294240749675;A"/>

        <rdfs:domain rdf:resource="&Ontology1294240749675;A"/>

    </owl:ObjectProperty>

   

 

 

    <!--

    ///////////////////////////////////////////////////////////////////////////////////////

    //

    // Classes

    //

    ///////////////////////////////////////////////////////////////////////////////////////

     -->

 

   

 

 

    <!-- http://www.semanticweb.org/ontologies/2011/0/Ontology1294240749675.owl#A -->

 

    <owl:Class rdf:about="&Ontology1294240749675;A">

        <rdfs:subClassOf>

            <owl:Restriction>

                <owl:onProperty rdf:resource="&Ontology1294240749675;linksTo"/>

                <owl:onClass rdf:resource="&Ontology1294240749675;A"/>

                <owl:qualifiedCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:qualifiedCardinality>

            </owl:Restriction>

        </rdfs:subClassOf>

    </owl:Class>

   

 

 

    <!--

    ///////////////////////////////////////////////////////////////////////////////////////

    //

    // Individuals

    //

    ///////////////////////////////////////////////////////////////////////////////////////

     -->

 

   

 

 

    <!-- http://www.semanticweb.org/ontologies/2011/0/Ontology1294240749675.owl#a -->

 

    <owl:NamedIndividual rdf:about="&Ontology1294240749675;a">

        <rdf:type rdf:resource="&Ontology1294240749675;A"/>

    </owl:NamedIndividual>

</rdf:RDF>

 

 

 

<!-- Generated by the OWL API (version 3.1.0.20069) http://owlapi.sourceforge.net -->

 

_______________________________________________ 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: Does a reasoner catch non-compliant individuals?

Olivier Dameron
In reply to this post by Meunier, Jean-Luc
Hello,

On 01/05/2011 04:35 PM, Meunier, Jean-Luc wrote:

> I expected the reasoner coming with Owl 4.1 to point out any individual
> that is not fulfilling the constraints imposed by its class.
>
> So I created a class A, with a mandatory functional property “linksTo”
> from A to A. (A has a superclass defined by “linksTo exactly 1 A”)
>
> Then I created an individual of A without any such property.
>
> The reasoner does not complain.
>
> I’m surprised, but maybe I miss the point... (I’m newcomer to OWL)

Indeed. The catch here is the open world assumption: The property does
hold for your instance of A (so the reasoner knows that the property
must have a value) but the value of the property is not known (so the
reasoner knows that the property must have a value but does not which
one - which is different from "the property has no value")

olivier
_______________________________________________
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: Does a reasoner catch non-compliant individuals?

Meunier, Jean-Luc
In reply to this post by Meunier, Jean-Luc
Ok, I understand now - thank you!

JL

> -----Original Message-----
> From: [hidden email] [mailto:protege-owl-
> [hidden email]] On Behalf Of protege-owl-
> [hidden email]
> Sent: Wednesday, January 05, 2011 5:05 PM
> To: [hidden email]
> Subject: protege-owl Digest, Vol 54, Issue 10
>
> Send protege-owl mailing list submissions to
> [hidden email]
>
> To subscribe or unsubscribe via the World Wide Web, visit
> https://mailman.stanford.edu/mailman/listinfo/protege-owl
> or, via email, send a message with subject or body 'help' to
> [hidden email]
>
> You can reach the person managing the list at
> [hidden email]
>
> When replying, please edit your Subject line so it is more specific
> than "Re: Contents of protege-owl digest..."
>
>
> Today's Topics:
>
>    1. Re: Does a reasoner catch non-compliant individuals?
>       (Timothy Redmond)
>    2. Re: Does a reasoner catch non-compliant individuals?
>       (Olivier Dameron)
>
>
> ----------------------------------------------------------------------
>
> Message: 1
> Date: Wed, 05 Jan 2011 07:43:36 -0800
> From: Timothy Redmond <[hidden email]>
> To: [hidden email]
> Subject: Re: [protege-owl] Does a reasoner catch non-compliant
> individuals?
> Message-ID: <[hidden email]>
> Content-Type: text/plain; charset="iso-8859-1"; Format="flowed"
>
>
> This is an open world issue.  If you google for "closed world
> assumption" you will get some hits.
>
> The reasoner is seeing your linksTo axiom and is using it to derive
> conclusions.  It knows that your individual must link to some other
> member of A but is not troubled by the fact that you have not asserted
> what that link is.  It checks that it is possible to satisfy the
> requirement.  Finding that it is possible, the reasoner reports that
> the
> ontology is consistent.
>
> I believe that there is some work by the pellet group (and probably
> many
> others) to allow for some closed world reasoning.
>
> -Timothy
>
>
>
> On 01/05/2011 07:35 AM, Meunier, Jean-Luc wrote:
> >
> > Hi,
> >
> > I expected the reasoner coming with Owl 4.1 to point out any
> > individual that is not fulfilling the constraints imposed by its
> class.
> >
> > So I created a class A, with a mandatory functional property
> "linksTo"
> > from A to A. (A has a superclass defined by "linksTo exactly 1 A")
> >
> > Then I created an individual of A without any such property.
> >
> > The reasoner does not complain.
> >
> > I'm surprised, but maybe I miss the point... (I'm newcomer to OWL)
> >
> > Thanks for any help/comment.
> >
> > JL
> >
> > _______________________________________________
> > 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
>
> -------------- next part --------------
> An HTML attachment was scrubbed...
> URL: <http://mailman.stanford.edu/pipermail/protege-
> owl/attachments/20110105/4f7ea343/attachment-0001.htm>
>
> ------------------------------
>
> Message: 2
> Date: Wed, 05 Jan 2011 17:04:33 +0100
> From: Olivier Dameron <[hidden email]>
> To: User support for the Protege-OWL editor
> <[hidden email]>
> Subject: Re: [protege-owl] Does a reasoner catch non-compliant
> individuals?
> Message-ID: <[hidden email]>
> Content-Type: text/plain; charset=windows-1252; format=flowed
>
> Hello,
>
> On 01/05/2011 04:35 PM, Meunier, Jean-Luc wrote:
> > I expected the reasoner coming with Owl 4.1 to point out any
> individual
> > that is not fulfilling the constraints imposed by its class.
> >
> > So I created a class A, with a mandatory functional property
> ?linksTo?
> > from A to A. (A has a superclass defined by ?linksTo exactly 1 A?)
> >
> > Then I created an individual of A without any such property.
> >
> > The reasoner does not complain.
> >
> > I?m surprised, but maybe I miss the point... (I?m newcomer to OWL)
>
> Indeed. The catch here is the open world assumption: The property does
> hold for your instance of A (so the reasoner knows that the property
> must have a value) but the value of the property is not known (so the
> reasoner knows that the property must have a value but does not which
> one - which is different from "the property has no value")
>
> olivier
>
>
> ------------------------------
>
> _______________________________________________
> protege-owl mailing list
> [hidden email]
> https://mailman.stanford.edu/mailman/listinfo/protege-owl
>
>
> End of protege-owl Digest, Vol 54, Issue 10
> *******************************************
_______________________________________________
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