- From: Tim Berners-Lee <timbl@w3.org>
- Date: Fri, 25 Jul 2003 11:10:47 -0400
- To: pat hayes <phayes@ihmc.us>
- Cc: www-rdf-interest@w3.org
- Message-Id: <2B7396DE-BEB2-11D7-B294-000393914268@w3.org>
On Tuesday, Jul 22, 2003, at 12:31 US/Eastern, pat hayes wrote: in http://lists.w3.org/Archives/Public/www-tag/2003Jul/0293.html (in www-tag to which please do NOT crosspost) > [...] > My other, second, point - and this is where I was chuntering about > human communication and lexical ambiguity of "bank" and so on - is > less to do with the TAG and more of a design debate within the SWeb. > It is relevant, however, as I suspect that your position on this > matter is partly what makes you so anxious to insist on single > interpretations. The question is, is our current design assumption - > that all URIs always have the same meaning for all agents, so that RDF > can be freely swapped around from ontology to ontology and processed > by simple inference engines without any kind of checking for > consonance of meaning - really realistic? You seem to think that it > is, that the SWeb will be able to evolve into a global system of clear > and unambiguous concepts, each assigned uniquely to a URI. Actually, I expect the web to have different order at different scales. A fractal system has similar amounts of organization showing up in a similar way at different scales. I think the semantic web will -- must in fact, to be useful -- evolve in this way. I have written about it in general in http://www.w3.org/DesignIssues/Fractal but here let me go over it from the semantic web point of view. There is a process we have been discussing in which two agents using a set of symbols exchange information, and in that way narrow down the set of interpretations they are dealing with such that the interpretations each agent uses are consistent with all the data exchanged. Every time a message sent by one is inconsistent with some interpretation the other had been considering the second agent throws the interpretation away. So we end up with a concept of "means the same thing". When more than two people do it, then we call it a community, or a movement, or whatever. Now, this process is lengthy and expensive. It is difficult to do and even more difficult to maintain. The larger the community which does it the longer it takes. Witness, the time it takes to get web architecture agreed. This is the work of W3C so we know, we feel the pain. Therefore, there will be relatively few symbols where everyone in the world (or every bit of software in the world) means the same thing. Candidates are rdf:type and dt:Integer. There will be many more symbols where that applies to a sub-community. Things like "atomic number", "EAN barcode number", and so on, you can imagine being shared by medium-sized communities. And some concepts, like skolem constants, are dreamed up locally in the course of a chat between two people, and never shared wider. There can be billions and billions of those as they are so cheap. So this is how it works. Each agent finds itself operating as a member of several communities of different sizes. It requires consistency within the data on which it operates. This means it has to do a finite a mount of work. It has to maintain a bunch of local symbols which are cheap, and just a few global symbols which are expensive but where its own share of the participation will be small. And some at several scales in between. The operations of this agent will help consistency between those groups. If every agent were in fact successful, then at close of business the world would indeed be a totally consistent huge system This is of course is not reality. There is no close of business. Just as new understandings are found, and inconsistencies are cleared up, so new people join communities, or people try to exchange more forms of data between existing communities, and the agenda for the work increases. There will never be global consistency. But in mature areas (think Online Financial Exchange, Calendars (ever?! ;-), weights and measures, etc) the terms will be well understood, and interoperability tests will have established that machines use them appropriately. What there will be lots of is the use of many different URIs to mean things which are either the same or very close. This is where different communities name the same concept independently. This causes no breakage: no inconsistencies. It does form an opportunity for more standardization work in the future. > [...] > So, ironically, the issue about agreeing to a common meaning, that you > keep making an inappropriate fuss about, is actually a non-issue: our > current design handles it perfectly, and you don't even need to > mention "resources"; but I am saying that the current design is in > fact broken, for just this reason. It is predicated on a falsehood > that you wish to be made into a principle. You don't need to make it > into a principle; and making it into a principle isn't going to make > it any truer than it is, or make the knowledge integration problem go > away, in any case, as practical SW users will rapidly discover; in > some cases, are already discovering, eg see > http://smi-web.stanford.edu/si2003/ > I think we are talking about different levels of "principle". I am not saying its not going to happen. I am saying don't do it deliberately. The specs are protocols. A protocol design says "if one acts the following way, then the following things become true". They say what people should and should not do, and what certain things mean. They say that rdf:type is a property associated with the binary relation of class membership. What do you take that as? A fact which is true because the owner of the URI said so? a fundamental Principle? a declaration? An assertion others are free to question? Part of a convention? In the spec it i written up as though a fact. If everyone reads and follows the spec, they can communicate using rdf:type. What do you call it when someone says {rdf:type rdf:type animals:Cat .} ? (where Cat means what we expect it to mean, the animal). A statement which may be true in certain interpretations? An alternative and quite reasonable view of life? From the RDF spec's point of view, it is what spec writers would call an "error". So I'm not proposing to declare that people never make errors. But I do want to make sure that things which will stop the protocol working are called errors so that people are encouraged not to do them. There are people who would like to say <http://www.w3.org/> a soc:Consortium. <http://www.w3.org/> a doc:Work. because they say it should be clear from the context what one means. So, while i'm not saying declaring that such documents don't exist, I am saying that we should say that it is an error to use same URI to mean two different things. Then I would like the spec to assert that HTTP URIs (without hashes) denote information resources. This allows anyone who sees the URI of one of those things to use that URI <http://www.example.w3.org/> rdf:type xx:currentlyInaccessable. <http://www.example.com/> xx:textContents """You have reached this web page by typing "example.com", "example.net", or "example.org" into your web browser. These domain names are reserved for use in documentation and are not available for registration. See RFC 2606 , Section 3. """. without having to find some documentation as to whether in fact that URI was designed by the domain name owner to be the identifier of some dog. I have had a huge push-back on this from various people for various quite different reasons, http://www.w3.org/DesignIssues/HTTP-URI.html being a summary of some of the arguments. It follows that anything with "http:" and no "#" is a information resource, and so that means it would be an error to use that URI for a rdf Property. It is good to tell people that sort of thing, so that they don't just follow the spec and then come up with an inconsistency later on through no fault of their own. So I don't know whether that is some wording different from "error" for this sort of circumstance. > Pat > -- > --------------------------------------------------------------------- > IHMC (850)434 8903 or (650)494 3973 home > 40 South Alcaniz St. (850)202 4416 office > Pensacola (850)202 4440 fax > FL 32501 (850)291 0667 cell > phayes@ihmc.us http://www.ihmc.us/users/phayes >
Attachments
- text/enriched attachment: stored
Received on Friday, 25 July 2003 11:10:42 UTC