RE: Need a test -- inverse and oneOf

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.

<rdf:RDF 
    xmlns:my="http://eu.org/owl#"
    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"
    >
    
    <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" -->

> -----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
> >
> >
> >--
> >Sean Bechhofer
> >seanb@cs.man.ac.uk
> >http://www.cs.man.ac.uk/~seanb
> 
> -- 
> Professor James Hendler				  
> hendler@cs.umd.edu
> Director, Semantic Web and Agent Technologies	  301-405-2696
> Maryland Information and Network Dynamics Lab.	  
> 301-405-6707 (Fax)
> Univ of Maryland, College Park, MD 20742	  240-731-3822 (Cell)
> http://www.cs.umd.edu/users/hendler
> 
> 

Received on Wednesday, 11 June 2003 14:31:36 UTC