RE: URI Declarations [Usage scenarios 4 and 5]

> From: Pat Hayes [mailto:phayes@ihmc.us]
> [ . . . ]
> BUt take this (actual) example: I recently found
> an entry on a site which listed interesting facts
> about various numbers:
>
> 30.48  ....  By convention, the number of inches in a foot.
>
> Hmm. Seemed to me like a typo (which it was, of
> course.) But following the logic used by David,
> what I should have done was assume that the site
> didn't mean what it seemed to mean by the numeral
> "30.48", and in fact it meant that to denote 12.
> Or maybe, it meant "foot" to denote a yard, or a
> meter; or, maybe, that it meant "inch" to denote
> centimeter. None of which seem like sensible
> strategies to me.

No, that's not the logic I'm suggesting.  Let me make your example more concrete to better illustrate what I'm suggesting.

SCENARIO 4: Gary publishes a lumber ontology at http://gary.example/lumber.  The ontology includes the concept of a standard 8-foot "2x4", which is denoted by the URI http://gary.example/lumber#2x4x8.  Pat is writing a set of assertions to describe the house he plans to build, and he is interested in Gary's #2x4x8 URI, but during testing he notices that Gary's ontology (erroneously) asserts that "30.49 inches = 1 foot".  For perhaps obvious reasons, Pat does NOT wish to accept that assertion.

Question: Should Pat use http://gary.example/lumber#2x4x8 to denote a standard 8-foot "2x4" anyway?

My answer: No.  Pat should either find a different ontology to use, or mint a new URI and indicate its relationship to Gary's URI.  For example, Pat could make a copy of Gary's ontology (with Gary's permission, of course), delete the offending assertion, change every occurrence of "http://gary.example/lumber" to "http://pat.example/lumber" and publish the new ontology at http://pat.example/lumber.    The assertions for his house should then use http://pat.example/lumber#2x4x8 instead of http://gary.example/lumber#2x4x8.

SCENARIO 5: Helen is writing some assertions about the color of concrete, and is also interested in using a URI from Gary's ontology to denote concrete: http://gary.example/lumber#concrete.  Helen's application makes no use whatsoever of linear dimensions, so although she is aware of the erroneous assertion that Pat discovered, it does not interfere with her application.

Question: Should Helen use http://gary.example/lumber#concrete to make assertions about concrete?

My answer: She may, but she probably shouldn't, because it would severely restrict the reuse of her assertions.   Helen's assertions presume that the "core assertions" in Gary's URI declaration at http://gary.example/lumber have been accepted -- including the erroneous assertion that "30.49 inches = 1 foot".  So if an application using Helen's assertions makes use of linear dimensions, and it recursively pulls in Gary's ontology, then Gary's erroneous assertion about the number of inches to a foot is likely to cause havoc.  If the application is lucky enough to have other information indicating that "12 inches = 1 foot" then it may detect a logical inconsistency.  If it is unlucky, it may silently produce absurd conclusions, such as "David Booth is over 180 inches tall".

SCENARIO 6: Helen is lazy and publishes her color assertions at http://helen.example/colors anyway, using http://gary.example/lumber#concrete to denote concrete.  Ian finds Helen's assertions and wishes to use them, but he notices that Gary's ontology at http://gary.example/lumber erroneously asserts that "30.49 inches = 1 foot", and Ian's application cannot withstand that erroneous assertion.  Ian is aware that Pat has published an ontology at http://pat.example/lumber that is equivalent to Gary's ontology except that it does not contain this erroneous assertion.

Question: What should Ian do?

My answer: Ian should effectively rewrite Helen's assertions to use  http://pat.example/lumber#concrete instead of http://gary.example/lumber#concrete throughout.  He can either do this by modifying a copy of Helen's assertions, or by reference, using special expressions to indicate proper URI substitution in Helen's graph.  (I intend to describe this further at
http://dbooth.org/2007/splitting/#urisub .)



David Booth, Ph.D.
HP Software
+1 617 629 8881 office  |  dbooth@hp.com
http://www.hp.com/go/software

Opinions expressed herein are those of the author and do not represent the official views of HP unless explicitly stated otherwise.

Received on Monday, 3 March 2008 00:39:55 UTC