Even more Fuzzy about FunctionalProperty!

Hi Folks,

The more that I ponder FunctionalProperty the more convinced that I
don't understand what it means.  Below I give an example of a property
which I figured to be a prime candidate for being declared as a
FunctionalProperty:

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.

If lengthOf has been declared "functional" then we can infer that:

    6300 kilometers = 3937.5 miles.

However, Ian Horrocks wrote that making such an inference is not
supported by OWL (see Ian's message below).  Ergo, I am confused.  

I thought that for a FunctionalProperty the value could be treated as a
"black box".  Thus, in my example we can treat the value of lengthOf as
a "black box", e.g.,

    The Yangtze has a lengthOf ___black box 1___.
    The Yangtze has a lengthOf ___black box 2___.

Therefore we can infer that:

    ___black box 1___ is equivalent to ___black box 2___.

That is, since lengthOf is a FunctionalProperty we can "blindly" infer
that the two values are equivalent.

Ian seems to suggest (if I understand his message) that the inference
must "peek inside" these "black boxes" and determine if their values can
be reconciled.  If this is indeed the case then I have great doubts
about the utility to FunctionalProperty, as it will be rare indeed that
such reconciling can ever be made, unless the values are exactly
equivalent.

So, my question is this: Are inferences on a FunctionalProperty done in
this fashion:

   "You can blindly infer that the values are equal."

Or, is there some "reconciling" done on the values?

Thanks!  /Roger


Ian Horrocks wrote:
> 
> > If lengthOf has been declared "functional" then we can infer that:
> >
> >     6300 kilometers = 3937.5 miles.
> 
> Unfortunately, I don't believe that we can capture this in OWL, as
> there is no way to apply a unit to an XML Schema data type, and
> certainly not to specify the relationship between two values having
> different units.
> 
> If OWL supported binary datatype predicates (in fact it only supports
> unary datatype predicates), then one way we could do this would be to
> define a pair of functional datatype properties called something like
> kLength and mLength, and a binary datatype predicate called something
> like ratio1.6:1. Then we could make the assertion that
> allValuesFrom((kLength,mLength),ratio1.6:1) must be true in all cases
> (i.e., subsumes Thing).
> 
> Even this doesn't exactly give you the inference you suggested - it
> tells you that anything having both a kLength and an mLength that are
> not in the ratio 1.6:1 is logically inconsistent.
> 
> Regards, Ian

Received on Wednesday, 5 March 2003 08:00:22 UTC