W3C home > Mailing lists > Public > www-rdf-logic@w3.org > March 2003

Re: Even more Fuzzy about FunctionalProperty!

From: Jim Hendler <hendler@cs.umd.edu>
Date: Wed, 5 Mar 2003 08:35:57 -0500
Message-Id: <p05200f1cba8babc881ce@[10.0.0.19]>
To: "Roger L. Costello" <costello@mitre.org>, www-rdf-logic@w3.org
Cc: "Costello,Roger L." <costello@mitre.org>

At 8:01 -0500 3/5/03, Roger L. Costello wrote:
>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.

Roger - you can do that just fine in OWL if you can come up with a 
way to say "3937.5 miles" in OWL - Ian was saying you couldn't do 
that (easily) in OWL DL.

>
>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___.

yes, that is correct, but what goes in those blackboxes? - remember 
that in OWL DL, the black box needs to itself be something 
representable in OWL DL.

Further, let' do it a simple way, let's just use a string here, and 
say that the datatype is functional (which is allowed in DL, as long 
as we don't have it inversefunctional)  you would then know that the 
string "6300 kilometers" is logically equivalent to the string 
"3937.5 miles"   -- this is fine, you can do it in OWL, but note that 
you could not now use that to deduce anything else very useful if you 
stay within OWL.  If you passed that to an external mechanism that 
broke apart the strings, did some math, and figured out equivalences 
you'd be happy, but note that an awful lot of your coding would be 
"outside" the OWL DL model.  Ian and I differ to some degree in our 
opinions as to how much of that will go on, and how much is 
desirable, but we are in nearly complete agreement as to what is and 
is not allowable in the OWL DL part  (but don't always describe it 
identically, being human)
  The Guide and Reference documents (latest versions) have some good 
examples of the use of functional and inversefunctional

  -JH


>
>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


-- 
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, 5 March 2003 08:36:04 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Monday, 7 December 2009 10:52:43 GMT