Re: URIs quack like a duck

Paul W. Abrahams scripsit:
> OK.  Perhaps there's a way through the issue that's been
> troubling me: in some
> contexts (namespace spec, XPath as it should be and probably
> will be fixed), the
> literal treatment of namespaces names works and is
> appropriate; in other contexts
> (RDF at least) it's inappropriate because you're talking
> about a resource, not just
> the identifier of that resource.

Correct.

> The two contexts where namespaces are best viewed as
> uninterpreted character strings
> are comparisons (attribute uniqueness in the namespace spec,
> attribute matching test
> in XPath) where retrieval is neither necessary nor useful. 
> The question we're asking is, "Are these two namespaces the
> same?". What "same" means has been the subject of much
> discussion and little agreement here; but literal string
> comparison is simple, appropriate, and well understood.

Just so.

> The other contexts involve retrieval, not comparison.

Not necessarily!  RDF does not require retrieval; it requires
RFC 2396 comparison.  In other words, you use RDF to say
something *about* a resource which can be identified (not
necessarily retrieved) by a URI.  The URI doesn't even have
to refer to a resource that *can* be received, as in these
examples:

	<rdf:Description about="brick:us/ny/nyc/13%20E.%203rd%20St?course=3;serial=20">
		<xx:color>red</xx:color>
	</rdf:Description>

	<rdf:Description about="mailto:cowan@ccil.org">
		<yy:cost>free</yy:cost>
	</rdf:Description>

These say that a certain brick is red and that a certain mailbox is
free of charge.  In neither case does it make sense to try to access
the URI.

>  In some contexts URIs serve as
> meaningless unique strings; in
> other contexts we attach meaning to them as identifiers of
> resources.

I would rather say that in some cases we desire unique strings, and
we can make them unique by giving them the syntax of URI references.

> There's something here that boggles my mind.  What is the
> difference between the
> following namespace names:
> 
>      http://www.sushi.edu/octopi
>     data:,http://www.sushi.edu/octopi
>     data:,data,http://www.sushi.edu/octopi
> 
> if there's any kind of implicit dereferencing going on?  

They are all different as namespace names, and I'm *not* suggesting
magic implicit dereferencing.

Consider the following namespace resources:

	Resource R1 has the name "http://www.sushi.edu/octopi"
	and is identified by the URI "data:,http://www.sushi.edu/octopi".

	Resource R2 has the name "data:,http://www.sushi.edu/octopi",
	and is identified by the URI "data:,data:,http://www.sushi.edu/octopi".

	The name and URI of resource R3 are left to the student....

> If we treat "data:," as a benediction that we place on URIs
> to make them kosher for
> use as namespace names and discourage the use of all others,

What I am recommending is leaving namespace *names* alone, and
prefixing them with "data:," when we need to create *URIs* for
namespaces.

-- 
John Cowan                                   cowan@ccil.org
	Yes, I know the message date is bogus.  I can't help it.
		--me, on far too many occasions

Received on Friday, 2 June 2000 19:35:47 UTC