- From: pat hayes <phayes@ai.uwf.edu>
- Date: Fri, 27 Oct 2000 17:36:57 -0500
- To: www-rdf-logic@w3.org
I would like to (re)-raise an issue which came up at the DAML kick-off meeting. Since it questions one of the basic assumptions made by the W3C folk, this is rather like farting in church, but here goes. It concerns names and URIs. There is a basic supposition that all DAML names - nay, all names in *any* web logic - must be URIs. Even my logical friends have told me that this is harmless, since the idea of introducing a 'new' name - one guaranteed distinct from any other name in use - is a familiar one in conventional logic, and the use of URI# is a mechanism to ensure that any new name is globally unique. In this sense, then, URI's provide a foolproof way to prevent accidental clashes of logical constants in a global environment. OK, but what about names which are *not* unique? For example, suppose someone wants to put some information about Boston into DAML- say, that Boston Common has five sides. Never mind whether or how DAML can say thing about numbers of sides; there is a more basic question: how can a web logic in which all names are URIs even *refer* to Boston? "Boston" is not a URI. Well, one answer would be that if one can find a reference to Boston on the web somewhere, say on http://www.boston.com/, then one could use something like http://www.boston.com/Names#Boston (if there were such a thing, and presumably there will be one day, etc.). The problem is that there are thousands of references to Boston on the web, and none of them have any particular claim to be the 'official' reference (and even if they did, there would be no way to enforce usage of that 'official' location for a name). So suppose some people refer to Boston using the above, but others refer to it using http://boston.citysearch.com/Boston/System/Index#boston; how is anyone to know they are referring to the same city? Another answer is that I can write "#Boston"; but this is even worse, since it merely introduces a new name which is guaranteed to be distinct from all other uses of "Boston". We are in the position of people who are trying to talk to each other, but every time one of them uses a name to refer to something, everyone else assumes that it means something entirely new. In effect, every use of a name introduces a new existential quantifier: instead of referring to Boston, I can only say : "something exists which I will now call "Boston".... ". I can imagine all kinds of 'social' ways to deal with this. Maybe huge websites will be devoted entirely to establishing identities between various web-sites' usage of URIs, providing a kind of referential cross-checking service between URIs. Maybe it will become routine for websites maintained by responsible folk to establish a reasonable number of identity cross-links to existing sites, and 'clusters' of mutually referring sites will enable identity of names to be routinely established in a reasonably small number of steps. Maybe some web communities will establish 'official' naming sites which become the standard reference for certain kinds of names, eg the post office for names of US communities, say. Maybe all of the above. But maybe also it would be possible to modify the current doctrine slightly, and allow a more natural use of names, more along the lines that they are used already throughout human society and probably have been ever since living creatures first evolved language. Unlike logical constants, real names are *public*; they are used by a community to tell one another about things, by using the names to refer to the things. Logical 'names' - better called logical constants - are not names in this sense. They are like the 'names' which mathematicians use when they say things like "Let S be a set..."; they are temporary, used for the course of one proof and then abandoned for re-use, and in principle eliminable. In fact, many formal logics do not use constants at all. One can think of such a logical name as shorthand for an existential quantifier (something is known (or assumed) to exist, so let us call it "S" for now.) The logical restrictions on the use of constants (one must use a new name which has not appeared previously in the proof) are designed to protect the reasoner from accidentally conflating two of these existential assumptions and invalidly transferring properties from one to the other. All of this however is a very 'local' matter, and the real use of names does not come up in this world. I might use the name 'S' to mean one thing today and something else tomorrow, and you might use it at the same time as me. Web logic has to be different: we cannot prevent, and I do not think we should try to prevent, the public use of names. As long as people are using content scrapers on open text and trying to represent the content they find there, for example, the use of names in the public sense is inevitable, since this is how names are used in language. They are not logical constants! The uniqueness of the URI constraint means, in effect, that all names on all web pages must be treated by DAML as though all public content had been eliminated. In logical terms, it 'reads' every identifier as being existentially quantified by a quantifier *on that very page*. So when the Boston Globe uses the name "Boston" and CitySearch uses the same name, the identity of these names is to be ignored, and DAML in effect treats these two pages as each making a seperate existential claim, which they happen to have Skolemised using the same logical constant name. But DAML treats this as an accident: they might have well have used different strings, since DAML treats any name on one page as distinct from a name on another page. If all names are attached to URI's, then it is impossible for the logic to even express a public name: there is no social assumption about name usage. This is surely a terrible error. It is worse than the tower of Babel: it assumes that we all mean different things every time we use a word. Why not allow public names, and let our reasoners take the same risks that we all take every time we speak? Suppose that DAML allowed, but did not require, that names be URIs. Then I could refer to Boston and you could refer to Boston, and we would be using the same name; and indeed it would be the same name that is used already on the webpages already referred to (which contain not a shred of DAML but lots of handy information about Boston.) Of course there are potential dangers. It might be that your use of "Boston" and mine might be only a lexicographic accident, and I was referring to the American city while you were referring to the small town in south-east England from which the name of my city was originally derived. If so, we might initially misunderstand each other; and this kind of misunderstanding is always a possibility which a reasoner must be prepared for when using 'public' names like this. On the other hand, the fact that in the ordinary course of human affairs we find it much more convenient to use names unprotected by a kind of 'local use' label (I don't usually say something like "Boston in the sense that Pat uses it", I just say "Boston") suggests that in practice, the advantages might outweigh the disadvantages. And the fact that such public names can be clearly distinguished from URI's means that this modification need take nothing away from the security and confidence in naming which the use of URI's may provide; one would use public names at ones own risk, and any use of a public name in a proof could be detected immediately and the conclusion marked as potentially suspicious, if one were anxious about any such misunderstandings. (Indeed, any public name could be referred to using the URI for the place it occurs, so that one might conduct in 'strict-naming' DAML a discussion whose purpose is to resolve an ambiguity arising from public-name use.) Nevertheless I bet that they would get used, at least by the great multitudes of web citizens, even if less so by the somewhat paranoid B2B and defense communities. (Even in law, public names often have considerable force, eg real-estate deeds often refer to 'the dwelling known as ....') Public web names would probably evolve their own kind of social use. For example, clusters of mutual reference could be used to establish agreement between usages (my sense of "Boston" is the same as these:...) but these could include for example reference to uses in non-DAML sources, including plain text. The result is a messier (for the logician) but socially richer and more robust kind of linkage of names to their use, and one that is also likely to provide a more useful bridge between the 'ordinary' use of the web and the 'semantic web' of the near future. And speaking as a logician, I find the new messy complexities more interesting than disturbing. For example, one way to understand the use of public names in logical terms is that such use amounts to a kind of agreement to a shared existential quantifier whose scope extends beyond one local ontology to encompass an entire community of ontologies. The resulting picture of logical structure transcending the usual lexical boundaries might provide the beginnings of a new way to conceptualise the 'logic of the web'. But until we allow people to use names in a less restrictive mode, we cannot even get started on this new enterprise: we have forced DAML names to be mathematical identifiers rather than real names. Allowing public names seems to me to be a no-brainer. They will be extremely useful and they will not disturb or interfere with anyone who doesn't want to use them. They will provide a way for genuine social uses of 'web logic' to evolve naturally. I can see no cost to allowing them, other than that they violate some kind of doctrine. Arbitrary doctrines which make my life more complicated and awkward than it needs to be are a prime target for being questioned and, if necessary, disobeyed. Anyway, I'd be interested in any comments. Pat Hayes --------------------------------------------------------------------- IHMC (850)434 8903 home 40 South Alcaniz St. (850)202 4416 office Pensacola, FL 32501 (850)202 4440 fax phayes@ai.uwf.edu http://www.coginst.uwf.edu/~phayes
Received on Friday, 27 October 2000 18:33:43 UTC