- From: pat hayes <phayes@ai.uwf.edu>
- Date: Tue, 31 Oct 2000 12:06:45 -0600
- To: Lynn Andrea Stein <las@ai.mit.edu>
- Cc: www-rdf-logic@w3.org
LAS> >I must be missing something here. I understand your concern to be: > >PJH> Allowing public names seems to me to be a no-brainer. > >Agreed, and I also understand > >Pierre-Antoine CHAMPIN writes: >PAC> URIs are actually intended to be public names : > >I don't see the problem. The problem is that (with my understanding of the intended logic of URI's, which may be a faulty understanding: if so I welcome correction) names prefixed by URI's are *not* public in the sense I was trying to explain. Perhaps 'public' was a poor choice of terminology: of course URIs are public in the sense that everyone is supposed to know and use them, I understand that. Perhaps 'shared name' or 'common name' would be a better term. I will use the familiar but loaded term 'proper name' from now on. When you or I use a proper name like 'Boston' in everyday life, we rely on the form of the name itself to provide the necessary identification between one usage and another. The 'scope' (speaking loosely, but with the intention of making it tighter) of the name extends over a community, so that whenever anyone uses the name everyone understands it to mean the same thing without further explanation. Of course there may be misunderstandings, but the default assumption is that different tokens of the same name denote the same thing. That is what proper names are for; without that assumption, they play no real logical role in a language, and in fact can be eliminated without changing the expressive power of the language. Logic, right now, does not use proper names, but I think that a web logic must (and can) face up to the need to do so. >In fact, the stuff on the left side of the # is the "public" portion >of the name (perhaps better called global, though this means something >slightly different) and the stuff on the right hand side of the # is >local. Precisely. But (to make my point once again) what is the intended logical role of that stuff on the left hand side? If it is merely a locator, then I have no problem with it. In that case it is the part on the right hand side which constitutes the actual name: the stuff on the left hand side tells you where that particular token of that name was found. But if it is (logically) *part of the name itself* (as was my impression from the discussion at the DAML kick-off), then it acts as a kind of universal forcing function which gurantees that it is logically impossible to use the same name on two different web locations. With this understanding of the logical force of the URI prefix, it is literally impossible for you and I (for example) to use the same name for something. You may call it "Boston" and I may also call it "Boston", but unless we place our names on the same webpage, we might as well be calling it respectively "foo" and "mickey mouse"; our mutual usage is rendered logically invisible by the distinctness of our URIs. >Now, at any one point in time there is at most one resolution to a >global name (i.e., at most one value returned by a get on that URI). >In addition, the resource addressed by that URI (if it exists) is >responsible for providing (at most one) value for any local names >using that global name as a prefix. Notice you are talking here about 'value', as though these things were identifiers in a programming language. Tim Berners-Lee makes a similar analogy in http://www.w3.org/DesignIssues/Webize.html, and even quotes Dijsktra. But names in a logic are NOT like identifiers in a programming language, and the reason why they are not bears exactly on this issue. Identifiers are names of things *in the computer*; the process of evaluating them is supposed to take one to the place in memory where they thing they denote is stored (I know this is an oversimplification, but it works if one is sufficiently blurry about "place in memory".) URIs and namespaces are a great idea for extending this notion to the web: they are a webized kind of identifier, a route map to the very place where you can *find* the thing. But names in an ontology often - usually - do not denote things inside computers. Boston is not stored somewhere on a disc drive, and neither is Ghengis Kahn or my grandmother's pet cat or the element sodium. Ontologies are about THINGS, and most things in heaven and earth are not found on the web and never will be. They may be mentioned on the web, to be sure; but they are mentioned in many places on the web, and if we are logically forced to choose one of the many tokens as the unique one we are using to denote that thing, and if our logic insists that every distinct token is a logically distinct name, then we have made more trouble for ourselves than we really needed to. >So local names are, as you say, existentially quantified within a >page. Specifically, they are existentially quantified within the page >named by the local name's global URI prefix. The are not, in general, >existentially quantified within the REFERRING page. (Of course, a >local reference within a page may omit any global URI prefix, but then >it is a local reference within the containing and hence also scoping >page.) Quite. So, since local names are essentially only quantified variables, they may be locally replaced by any other symbol without change of meaning (with the usual caveats about accidentally using a name twice, etc.). So the fact the Boston Globe website refers to "Boston" has literally no meaning at all, in this way of understanding web logic. That name "Boston" is just a gensym: it could be replaced by, say, G234098267, and the Boston Globe website would have literally the same meaning as it has now. Is that even remotely plausible? Because that is a *logical consequence* of the assumption that local occurrences of names are locally quantified. The tragedy of taking this route is that it misses a wonderful opportunity which we have here of codifying a genuinely new idea. Think what happens in ordinary life when you use a name and I understand what you are saying. That kind of communication amounts to an agreement to put an existential claim in what is often called the 'common ground' of shared belief which underlies all natural conversation and dialog. You say that Joe is tall; I have no idea who Joe is (yet), but I believe you: in effect I have accepted a mutual belief that something exists called "Joe" (and he is tall) . What is the scope of this quantifier? The only reasonable answer is that it has a *social* scope: it encompasses both our systems of belief. We have agreed to use a shared namespace, one might say. These mutually accepted systems of names amount to a kind of social web of quantifications whose scopes intersect and bind our beliefs together, and when this 'existential web' (if I can coin another phrase) gets large and richly enough connected, it can be the defining characteristic of an entire community. The W3eb is surely the vehicle through which this kind of process can be taken in new ways, creating new kinds of community. But if our logic cannot sanction any kind of shared namespace, then it will forever be unable to take part in this kind of activity, and forever unable to understand it. URIs have a scope which is the entire Web, as global as it can possibly be. Local names are restricted in scope to a single location. (Tim is thinking about even smaller 'scopes' where one dives deeper into structured web pages.) Neither of these extremes is a proper basis for analysing a 'common ground'. >Global names are not existentially quantified at all; multiple >references (on multiple pages) to the same global URI refer to the >same resource. Actually I think it is more useful to say that they are quantified but the scope of the quantifier is the entire web. If we allow social quantifiers, then all names can be thought of (logically) as Skolem constants, and the differences between them arise from the various social scopes of their existential quantifiers. >Public is, as noted above, somewhat different from global. Your use >of the phrase public indicates concern for the social conventions >surrounding usage of names. But the same holds true for URIs. For >example, there's a name that is socially constrained to be the URI for >the RDF M&S document. Now, I haven't lately done an http GET on that >URI to determine that M&S is still there, but there's one heck of a >social community that's build around the presumption that that URI >will continue to be a reasonable public name for M&S. So I'd say >URIs are doing just what you want Boston and other public names to >do. Of course, there's the minor issue of who gets to decide how to >spell the public names :0) That is a minor issue, but one that is less minor is, who decides which of the millions of tokens of each name on the web is the One True Name? ----- I think that what I am urging can be phrased as the idea that namespaces should be allowed to extend across a larger region of the web than that indicated by a single URL (all the URI's I have seen are in fact URLs, though I am assured that there could be other kinds.). In http://www.w3.org/DesignIssues/Webize.html, Tim seems to be focussing on the issue of 'webizing' in the sense of making sure that when c uses "foo" (in a purely private sense) and d also happens to use "foo" in a similarly private way, that everyone else doesnt get these two private uses confused with each other. Of course this needs to be done; but (my point is) we should also allow for the possibility that both c and d were using "foo" not in purely private ways, but were in fact intending the name to have a public meaning which could be read and understood by anyone (or anyone in a certain community, or sharing certain assumptions), and our logic should also admit this possibility (since this is in fact the most usual case, and one without which human discourse would in practice be impossible.). Maybe the 'namespace' idea is already general-purpose enough to allow for this kind of wider usage of names; if so, my concerns have already been addressed (I welcome any corrections or pointers to where this issue is discussed). Certainly some of the responses to my earlier message: from Pierre-Antoine CHAMPIN <champin@bat710.univ-lyon1.fr> >The ideal URI for boston would be > city:/USA/Massachusets/Boston >It assumes that the "city:" scheme is commonly agreed on, >but any kind of public name has to do that agreement assumption. > >....The problem you raise doesn't come, IMO, from URIs themselves -- >it is easy to imagine new kinds of URIs -- but from the fact that >URI schemes do not exist yet to describe cities or persons, and that >web logics need them already. and jos.deroo.jd@belgium.agfa.com: > >Why not just declare city as a namespaceprefix? You can have as many >as you want (commonly agreed on or not) and scoped just as you want.) seem to indicate this. If so, then I am sorry to have made so much fuss over nothing; but in this case (1) DAML needs to worry a bit more about the logical role of namespaces and (2) we have to provide a mechanism which allows namespaces to emerge from shared use, rather than be legislated. For example, maybe someone could 'publish' a namespace and others 'join' it (?? I am making this up and really have no idea what this would mean in practice... comments welcome.) Pat Hayes PS. Let me sketch a scenario to illustrate the thing I have in mind. Suppose a content-scraper uses a simple NL parser to try to get as much out of the plaintext paragraphs it finds in an HTML page at http://www.bostonishstuff.com. It manages to discover that something called "Boston" has a thing called "Boston Common" which has five sides. What is the best way for this to be represented in DAML? Should it say that the thing called http://www.bostonishstuff.com#BostonCommon has five sides? Or should it assume that there is a thing *widely known* (in some community) by the name "Boston Common" which has five sides? And now suppose that the proprietors of http://www.bostonishstuff.com decide to mark themselves up in DAML, and want to tell the world that they are using the name "Boston" not in a private sense, but in the sense most everyone else uses it; how can they do that? How can they project their existential quantifier into some common ground? --------------------------------------------------------------------- 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 Tuesday, 31 October 2000 13:03:55 UTC