- From: Booth, David (HP Software - Boston) <dbooth@hp.com>
- Date: Mon, 3 Mar 2008 00:39:14 +0000
- To: Pat Hayes <phayes@ihmc.us>, "ashok.malhotra@oracle.com" <ashok.malhotra@oracle.com>
- CC: John Cowan <cowan@ccil.org>, "www-tag@w3.org" <www-tag@w3.org>
> 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