Re: Even more Fuzzy about FunctionalProperty!

Thanks for bearing with me Peter.  I believe that I am starting to
understand it.

You are saying that by declaring length to be a FunctionalProperty then
I can infer this:

     6300 kilometers = 3937.5 miles

However, I am equating one "string" against another "string", and the
strings are not "equal".  Thus, it is inconsistent.  I now understand
that.

The lesson that I have learned is this: 

   If the range of a FunctionalProperty is a Literal or 
   XML Schema datatype then all instances must have the 
   same, identical value.

Do you agree? 

If so, then this seems to make FunctionalProperty for Literals and XML
Schema datatypes to be rather uninteresting (since no useful inferencing
is possible).

UNLESS ... the following is legal:

Consider these two "typed literals":

<River rdf:ID="Yangtze">
     <length rdf:datatype="http://uom.org#kilometers">6300</length>
</River>

and this:

<River rdf:ID="Yangtze">
     <length rdf:datatype="http://uom.org#miles">3937.5</length>
</River>

[Lets suppose that kilometers and miles are xsd:simpleTypes that
restrict xsd:decimal]  

Here's how length is defined:

<owl:DatatypeProperty rdf:ID="length">
   <owl:type rdf:resource="http://.../owl#FunctionalProperty"/>
   <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#decimal"/>
   <rdfs:domain rdf:resource="#Stream"/>
</owl:DatatypeProperty>

Is it legal for me to infer this:

   http://uom.org/miles^3937.5 equals http://uom.org/kilometers^6300

Would that be a legitimate inference?  /Roger


>
"Peter F. Patel-Schneider" wrote:
> 
> From: "Roger L. Costello" <costello@mitre.org>
> Subject: Re: Even more Fuzzy about FunctionalProperty!
> Date: Wed, 05 Mar 2003 10:48:59 -0500
> 
> >
> > "Peter F. Patel-Schneider" wrote:
> > >
> > > > Let the property be: lengthOf
> > > >   - it maps a River to a Distance
> > > >
> > > > Suppose that one instance document asserts this:
> > > >
> > > >     The Yangtze has a lengthOf 6300 kilometers.
> > > >
> > > > A second instance document then asserts this:
> > > >
> > > >     The Yangtze has a lengthOf 3937.5 miles.
> > >
> > > Well, the above is English, not OWL.  I suggest that you represent the
> > > above in OWL, if possible, and then redo the example.
> >
> > It seems like perfectly good OWL to me.  Here's the definition of
> > lengthOf:
> >
> > <owl:DatatypeProperty rdf:ID="lengthOf">
> >     <owl:type rdf:resource="http://.../owl#FunctionalProperty"/>
> >     <rdfs:range rdf:resource="http://.../rdf-schema#Literal"/>
> >     <rdfs:domain rdf:resource="#Stream"/>
> > </owl:DatatypeProperty>
> >
> > Here's an instance document that uses the lengthOf property:
> >
> > <River rdf:ID="Yangtze">
> >      <length>6300 kilometers</length>
> > </River>
> >
> > And here's a second instance document which uses the lengthOf property:
> >
> > <River rdf:ID="Yangtze">
> >      <length>3937.5 miles</length>
> > </River>
> >
> > Since lengthOf has been declared to be a FunctionalProperty I can infer:
> >
> >      6300 kilometers = 3937.5 miles
> >
> > Why is this not OWL?  Thanks!  /Roger
> 
> Ok, you have now represented the above information in OWL.  The particular
> method that you used, however, results in an inconsistency under your
> example.  You have said that an object is related to two different strings
> via a functional property.
> 
> So, yes, you can infer that the two strings above co-denote, but you can
> also infer that they don't.
> 
> A different representation would have different consequences.
> 
> peter

Received on Wednesday, 5 March 2003 16:14:11 UTC