Namespaces wihtout "#" Was: Few CWM Bugs

----- Original Message ----- 
From: "Sean B. Palmer" <sean@mysterylights.com>
To: "Dan Connolly" <connolly@w3.org>
Cc: "Tim Berners-Lee" <timbl@w3.org>; <www-archive+n3bugs@w3.org>
Sent: Thursday, November 22, 2001 3:27 PM
Subject: Re: Few CWM Bugs


Sean:
;  2) URI-views without a "#" don't have a prefix applied to them on the
; o utput, so you end up with something like:-
;
;   @prefix :e <http://example.org/> .
;   <http://example.org/x> <http://example.org/y>
;     <http://example.org/z> .

DanC:
> > yup; that's by design. Notation3 encourages folks
> > to use namespace names that end with #.

Sean:
> Well, at least we're not stuck with "bind" now... but it does seem to
> be a strange inconvenience to build it into the parser, rather than to
> convince people that namespaces sans trailing "#" are not a good thing
> for the Semantic Web (although having said that, I did actually once
> change a "namespace" to use a trailing hash so that CWM would give me
> neat QNames... TimBL's plan worked!).

It isn't built into the parser. It is built into the serializer.  And there
is more to it than that.  From the outputter's point of view,
when there is a hash, it takes the URI on the left and just 
looks it up in the prefix dictionary.  When there is no hash,
it doen't know where to make the break - you are allowed
in principle to break half-way through a word.  I *suppose* one
could just have "/" as another option, but the optimum would be,
I assumed, to search for the longest match. Which would be
slower, but the serializer doen't need to be fast.

The second issue is more significant.   In my worldview,
(which I claim to be (a) consistent and (b) useful)
http://example.org/x is a document.  You can't reuse
its URI for an abstract thing without a change to HTTP.

Tim

Received on Saturday, 24 November 2001 23:36:08 UTC