RE: Need a test -- inverse and oneOf

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 17:27:34 UTC