- From: David G. Durand <david@dynamicdiagrams.com>
- Date: Fri, 9 Jun 2000 10:01:40 -0400
- To: XML-uri@w3.org
At 5:41 PM -0500 6/8/00, Dan Connolly wrote: >It seems to me that it does. I am at a loss for words to clarify... >can we switch from English to the language of logic/math? > >The URI spec (http://www.ietf.org/rfc/rfc2396.txt) >essentially establishes > identifies: URI -> Resource >so that "The URI i identifies the resource r" can be written > identifies(i) = r > >OK so far? Just dandy. > >Then, looking at "I pick a URI as a namespace name" ... let's >call that URI i1, so that "what the URI stands for" >can be written > identifies(i1) > >Let's call "the namespace" n1. Then you're saying >that it's not necessarily the case that > identifies(i1) = n > >That means there's some other function > namespace-named-by: URI -> Namespace >so that > namespace-named-by(i) = n >but > namespace-named-by(i) != identifies(i) > > >That's a logically coherent viewpoint, but at the >cost of introducing this distinct >namespace-named-by function, which has not >been necessary for any of the previous >specs (HTML, HTTP, URIs, ...) and doesn't >seem necessary now. Ah, but it is, and some of the other messages have described why. I'll also note that namespace-named-by can be the identity function, because a namespace itself is a _purely_ abstract resource that has only self-identity and uniqueness as properties. We have had various proposals that the resource resulting from an application of identifies(I) to a URI I _is_ the namespace, and therefore that the result of that application should be an entity body representing a Schema S. However, schema-of: Namespace -> Schema is a relation, and not a function, since a single namespace may have several schemas depending on its applications. This is something that we have seen as a practical matter in SGML/XML encoding for decades. This whole issue has become clearer in the last 10 years since HyTime's invention of the "architectural form." Architectural forms are one way of achieving the semantic invariance provided by namespaces, while preserving the ability to have multiple incompatible schemas applying to the same elements. Much of the work that I've seen from XML Schemas seems to be addressing these kinds of issues, in the guise of modularity and re-use of Schema fragments. I've not followed Schema as closely as I might, due to misgivings about standardizing a radical new mechanism in advance of practical experience with a variety of experimental systems, but the issues are quite clear. As several people have pointed out, content-type negotiation is not sufficient to select one of several different schemas in a single schema language, since the relation: identifies: URI x MIME-type -> Entity-body is a function. Note that I generalized your identifies function a bit, and even that generalization is not sufficient to solve the schema-selection problem. The problem is that in a given schema language, there may be multiple schemas for documents using a given namespace. Without defining a proper MIME-type for mapping namespaces to multiple schemas, the identifies function is not going to be able to return something useful. I believe that retrieval of namespace descriptions from namespace URIs has great potential usefulness, but that without a MIME-type corresponding defining a transmission format for an abstract "namespace" object, that we are endorsing a fundamental typing error in the resulting web architecture -- and I think fixing a misunderstanding about the input and output types of basic functions is much harder than living without an admittedly future-oriented feature until we can get the infrastructure in place. In other words, I think we need to stick to literal, forbid, or deprecate, in order to save the "semantic web" from misjudgments in our haste to make it real. >Up to the namespace spec, there's been just one >thing that each URI identifies in the Web. >That is, there has been just one Web. >It's logically coherent to consider splitting >the Web between Namespaces >and Everything Else, but I find it hard >to imagine why anybody would want to do that. We're better off leaving namespaces unretrievable until we have defined the proper type of what that retrieval is. As a final note, for the applications of namespaces currently going on, the key operation is comparison, _not_ dereferencing (as modeled by your "identifies" function). For namespaces the critical relation is equal: namespaceURI x namespaceURI -> boolean This should be transitive, reflexive, and symmetric. The absolutizing proposals draw on a well-known notion of identity for URIs, but this notion of identity is often modified in practical use: for instance browsers and web spiders will frequently rewrite URIs under a much looser effective notion of identity, in order to compensate for user errors and well-known properties of common server software. While it's important for the people who write the code to know that ./ may be significant in a URI, and that trailing slashes on URIs are significant too, it's also true that non-canonical URI rewriting is often used to improve access, or enhance cache hit rates, even at the cost of occasional errors according to the specification. While not defending these practices, I can observe that empirically, there's a lot more variation in URI transformation practice than one would think from reading the relevant RFCs. >Everything else has fit into the Web of >Resources: text documents, images, objects >with methods, mailboxes, mail messages, >concepts identified by UUID or OID, and >on and on. Why splinter Namespaces out >from this space? I don't think we need to. But we do need to hold off on defining over-the-wire retrieval of an abstract object (the namespace) that is not yet fully defined. And we need to ensure that comparison, the fundamental namespace operation, works, even with experimental applications that use some form of retrieval. > > Sure, but I would argue that http://www.w3.org is not necessarily the right >> place to do experiments like that. If it can't be avoided, I would still >> prefer that the schema document returned actually comes with a statement > > that this is just experimental usage of namespaces / schema. > >Fair enough. I certainly agree! -- David -- _________________________________________ David Durand dgd@cs.bu.edu \ david@dynamicDiagrams.com http://cs-people.bu.edu//dgd/ \ Chief Technical Officer Graduate Student no more! \ Dynamic Diagrams --------------------------------------------\ http://www.dynamicDiagrams.com/ \__________________________
Received on Friday, 9 June 2000 10:02:44 UTC