Re: Are properties from a context-constrained class inherited by subclasses?

From: "Jon Hanna" <jon@spin.ie>
Subject: RE: Are properties from a context-constrained class inherited by subclasses?
Date: Thu, 22 May 2003 13:40:56 +0100

> > It *is* permitted to say
> >
> >      <owl:Class rdf:ID="Blah">
> >          <rdfs:subClassOf rdf:resource="#Flueve"/>
> >           <rdfs:subClassOf>
> >                 <owl:Restriction>
> >                         <owl:onProperty rdf:resource="#emptiesInto"/>
> >                         <owl:allValuesFrom rdf:resource="#Lake"/>
> >                 </owl:Restriction>
> >           </rdfs:subClassOf>
> >      </owl:Class>
> >
> > here.  It is not particularly useful, as this ends up meaning that Blah's
> > don't empty into anything and that could more-explicitly be said via
> >
> >      <owl:Class rdf:ID="Blah">
> >           <rdfs:subClassOf>
> >                 <owl:Restriction>
> >                         <owl:onProperty rdf:resource="#emptiesInto"/>
> >                         <owl:cardinality
> > rdfs:datatype="xsd:nonNegativeInteger">0</owl:cardinality>
> >                 </owl:Restriction>
> >           </rdfs:subClassOf>
> >      </owl:Class>
> 
> My Bad. I assumed that a river must empty into something, and that this
> would be expressed by a cardinality constraint on #emptiesInto expressed for
> #River. However this is not given in Roger's example.
> 
> Do you agree with me that with such a cardinality constraint on #River that
> a restriction to #Lake would then implicitly require a cardinality of 0 (as
				    ^^^^^^^^^^^^^^^^^^imply
> you say) which would conflict with the required cardinality of 1, and hence
> not be permitted?

No. This would still be permitted.  It would imply that there could
be no Blahs.  (Even if there was a Blah, it would *still* be permitted, but
would then cause a contradiction.)

> > > #Briney is less clear. It may be that #Briney is a subClassOf
> > #Sea, but we
> > > just don't have the triple stating this, in which case it's
> > clearly allowed.
> > > Likewise it may be that #Briney is disjointWith #Sea, in which case it's
> > > clearly not allowed.
> >
> > This is not correct reasoning.  In the absence of information on whether
> > Briney is a subclass of or disjoint with Sea,
> >
> >      <owl:Class rdf:ID="Blah">
> >          <rdfs:subClassOf rdf:resource="#Flueve"/>
> >           <rdfs:subClassOf>
> >                 <owl:Restriction>
> >                         <owl:onProperty rdf:resource="#emptiesInto"/>
> >                         <owl:allValuesFrom rdf:resource="#Briney"/>
> >                 </owl:Restriction>
> >           </rdfs:subClassOf>
> >      </owl:Class>
> >
> > is not only permitted, but is useful.
> 
> Yes, it's useful because:
> 
> if you are told that a #Blah emptiesInto
> > > #JonsRunOutOfExampleNames then you know that
> > >
> > > <#JonsRunOutOfExampleNames> <rdf:type> <#Briney> .
> > > <#JonsRunOutOfExampleNames> <rdf:type> <#Sea> .
> 
> What's wrong with my reasoning?

Nothing [here].

peter

Received on Thursday, 22 May 2003 09:14:10 UTC