RE: [rdfmsQnameUriMapping-6] Algorithm for creating a URI from a QName in RDF Model?

> From: www-tag-request@w3.org [mailto:www-tag-request@w3.org]On Behalf Of
> Mark Baker
> Sent: Wednesday, May 22, 2002 9:31 PM
> To: Julian Reschke
> Cc: Brian McBride; Tim Bray; www-tag@w3.org
> Subject: Re: [rdfmsQnameUriMapping-6] Algorithm for creating a URI from
> a QName in RDF Model?
>
>
> On Wed, May 22, 2002 at 08:35:08PM +0200, Julian Reschke wrote:
> > As far as I understand the issue, *any* algorithm that attempts to map
> >
> > (uriref, name) -> (uri)
> >
> > will be unreasonable if it attempts to produce a URI in the
> same URI schema
> > as the namespace name. This is because for an arbitrary URI
> scheme, there
> > will be no obvious way to produce new valid URIs without having a priori
> > knowledge about this URI scheme's syntax (and semantics).
>
> What if the algorithm were general to all hierarchical URI?

Well, then it won't work for all QNames. For instance, WebDAV (RFC2518) uses
qualified names to identify properties, and WebDAV versioning (RFC3253) uses
qnames to identify pre/postconditions. The namespace names may be any valid
XML namespace, in particular, the specs uses the "DAV:" URI scheme for the
RFC-defined names (and "DAV:" isn't an hierarchical scheme).

So restricting the algorithm to a specific subset of qnames will make it
unusable for many specs.

> (uri,name) -> treat "name" as a relative URI, and "uri" as the base
> per RFC 2396 section 5.

What if the namespace name isn't a URI (but a URI reference like
"http://foo/bar#test")?

> This seems entirely consistent with the meaning of hierarchy in 2396.
> It doesn't solve all problems, for example, what to do with existing
> namespace URI that don't end in "/"?  But it appears to me to be a good
> way forward.
>
> BTW, I would also really like to see consistent use of "URI" versus
> "URI reference" in these discussions.  They are very different things,
> and confusing the two seems to me to be one of the reasons why RDF is
> in such a mess (IMHO) with respect to its use of "#".

Agreed.

Proposal:

define a new schema like "qn:" and map

	(uriref, name)

to something like

	qn:uri-escaped-utf8(name):uri-escaped(uriref)

Received on Wednesday, 22 May 2002 15:54:02 UTC