W3C home > Mailing lists > Public > www-webont-wg@w3.org > June 2003

RE: Need a test -- inverse and oneOf

From: Jos De_Roo <jos.deroo@agfa.com>
Date: Thu, 12 Jun 2003 00:53:57 +0200
To: Charles.White@networkinference.com
Cc: "Dan Connolly" <connolly@w3.org>, "Jim Hendler" <hendler@cs.umd.edu>, "Sean Bechhofer" <seanb@cs.man.ac.uk>, "webont" <www-webont-wg@w3.org>, www-webont-wg-request@w3.org
Message-ID: <OFA8B31BB5.0E0ECF4C-ONC1256D42.007D120F-C1256D42.007DCA1F@agfa.be>


that's also how I understood it

after we added an inference rule like
{: rdfs:fyi :rule9r3. ?R owl:onProperty ?P; owl:someValuesFrom owl:Thing.
 ?P owl:inverseOf ?Q; rdfs:range ?O. ?Y ?Q ?X; a ?O} => {?X a ?R}.

we were able to prove that the query
?X a <http://eu.org/owl#EuroMP>.

gives
<http://eu.org/owl#Kinnock> a <http://eu.org/owl#EuroMP>


--
Jos De Roo, AGFA http://www.agfa.com/w3c/jdroo/


                                                                                                                               
                    "Charles White"                                                                                            
                    <Charles.White@networkinfe       To:     "Dan Connolly" <connolly@w3.org>                                  
                    rence.com>                       cc:     "Jim Hendler" <hendler@cs.umd.edu>, "Sean Bechhofer"              
                    Sent by:                          <seanb@cs.man.ac.uk>, "webont" <www-webont-wg@w3.org>                    
                    www-webont-wg-request@w3.o       Subject:     RE: Need a test -- inverse and oneOf                         
                    rg                                                                                                         
                                                                                                                               
                                                                                                                               
                    2003-06-11 11:27 PM                                                                                        
                                                                                                                               
                                                                                                                               





The note about querying could be dropped. It is just a note to remind us of
the query and what results it will return.

chas

> -----Original Message-----
> From: Dan Connolly [mailto:connolly@w3.org]
> Sent: 11 June 2003 12:38
> To: Charles White
> Cc: Jim Hendler; Sean Bechhofer; webont
> Subject: RE: Need a test -- inverse and oneOf
>
>
> On Wed, 2003-06-11 at 13:31, Charles White wrote:
> > All,
> >
> > I just sent a message to Chris and Jim about a combined
> test. Here is one we have put together at Network Inference,
> and that we can handle with our engine.
>
> Many thanks for the detail work...
>
> > <rdf:RDF
> >     xmlns:my="http://eu.org/owl#"
>
> pls change to example.org.
>
> >     xmlns:owl="http://www.w3.org/2002/07/owl#"
> >     xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
> >     xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
> >     xml:base="http://eu.org/owl"
>
> I expect the test editor will tweak that line too.
>
> >     >
> >
> >     <owl:Class rdf:ID="EuropeanCountry" />
> >     <owl:Class rdf:ID="Person" />
> >
> >     <owl:Class rdf:ID="EUCountry">
> >       <owl:oneOf rdf:parseType="Collection">
> >          <my:EuropeanCountry rdf:ID="UK"/>
> >          <my:EuropeanCountry rdf:ID="BE"/>
> >          <my:EuropeanCountry rdf:ID="ES"/>
> >          <my:EuropeanCountry rdf:ID="FR"/>
> >          <my:EuropeanCountry rdf:ID="NL"/>
> >          <my:EuropeanCountry rdf:ID="PT"/>
> >       </owl:oneOf>
> >     </owl:Class>
> >
> >     <owl:ObjectProperty rdf:ID="hasEuroMP" >
> >       <rdfs:domain rdf:resource="#EUCountry"/>
> >     </owl:ObjectProperty>
> >
> >     <owl:ObjectProperty rdf:ID="isEuroMPFrom" >
> >       <owl:inverseOf rdf:resource="#hasEuroMP"/>
> >     </owl:ObjectProperty>
> >
> >     <owl:Class rdf:ID="EuroMP">
> >       <owl:equivalentClass>
> >         <owl:Restriction>
> >           <owl:onProperty rdf:resource="#isEuroMPFrom" />
> >           <owl:someValuesFrom
> rdf:resource="http://www.w3.org/2002/07/owl#Thing" />
> >         </owl:Restriction>
> >       </owl:equivalentClass>
> >     </owl:Class>
> >
> >     <my:Person rdf:ID="Kinnock" />
> >
> >     <my:EuropeanCountry rdf:about="#UK">
> >       <my:hasEuroMP rdf:resource="#Kinnock" />
> >     </my:EuropeanCountry>
> >
> > </rdf:RDF>
> >
> > <!--querying for all subconcepts of EuroMP should return 
> "Kinnock"
-->
>
> I don't quite understand that last line.
>
> Is this still an inconsistency test?
>
>
> > > -----Original Message-----
> > > From: Jim Hendler [mailto:hendler@cs.umd.edu]
> > > Sent: 11 June 2003 05:20
> > > To: Sean Bechhofer
> > > Cc: webont
> > > Subject: Re: Need a test -- inverse and oneOf
> > >
> > >
> > >
> > > That would serve my needs.  Jeremy.could we turn this
> into a proposed
> > > incocnsistency test?
> > >
> > > At 1:14 PM +0100 6/11/03, Sean Bechhofer wrote:
> > > >On Wed, 11 Jun 2003, Jim Hendler wrote:
> > > >
> > > >>
> > > >>  To be able to close some of our LC comments, there must
> > > be a test in
> > > >>  our test suite that includes both inverse and oneOf.  In
> > > an earlier
> > > >>  message I outlined a simple one, but perhaps someone
> in the WG can
> > > >>  come up with a better one.  It is my opinion that without
> > > such a test
> > > >>  we will have trouble convincing some people that OWL DL is
> > > >>  implementable (cf the comments from Jena and HP).  Can we
> > > please get
> > > >>  such a test at least proposed??
> > > >>    thanks
> > > >>    JH
> > > >
> > > >How about the following?
> > > >
> > > >Ontology(
> > > >
> > > >  Class(a:NiceCorporation partial
> > > >   restriction(a:employs allValuesFrom a:NiceGuy)
> > > >   restriction(a:employs someValuesFrom oneOf(a:tom a:dick)))
> > > >
> > > >  Class(a:NiceGuy)
> > > >
> > > >  ObjectProperty(a:employedBy
> > > >   inverseOf(a:employs))
> > > >  ObjectProperty(a:employs)
> > > >
> > > >  Individual(a:dick
> > > >   type(complementOf(a:NiceGuy)))
> > > >
> > > >  Individual(a:niceCorp
> > > >   type(a:NiceCorporation))
> > > >
> > > >  Individual(a:tom
> > > >   type(restriction(a:employedBy allValuesFrom
> > > >complementOf(a:NiceCorporation))))
> > > >
> > > >)
> > > >
> > > >The interaction of the oneof and the assertion that dick
> > > isn't a Nice Guy
> > > >allows us to conclude that niceCorp must employ tom. But
> > > then we know that
> > > >anything that employs tom cannot be a NiceCorporation (due to the
> > > >inverse), so we get an inconsistency.
> > > >
> > > >It's pretty trivial, but I think you do need both one-of and
> > > inverse to be
> > > >able to state it.
> > > >
> > > >         Sean
> > > >
> > > >
>
> --
> Dan Connolly, W3C http://www.w3.org/People/Connolly/
>
>
>
Received on Wednesday, 11 June 2003 18:54:24 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Monday, 7 December 2009 10:58:01 GMT