Re: SPARQL: BASE IRI resolution

On Wed, 2005-09-07 at 02:46 +0200, Bjoern Hoehrmann wrote:
> * Eric Prud'hommeaux wrote:
> >Thank you for your comment. Please see if
> >[[
> >SPARQL provides an abbreviation mechanism for IRIs. Prefixes can be
> >defined and a QName-like syntax [NAMESPACE] provides shorter
> >forms. Prefixes may be used anywhere after they are declared;
> >redefining a prefix causes the new definition to be used from that
> >point in the query syntax. The base IRI for the resolution of relative
> >IRIs may be explicitly declared with the BASE keyword. This
> >specification does not define the value of the base IRI for SPARQL
> >queries with no BASE directive.
> >
> >QNames are transformed into IRIs by appending the local name to the
> >namespace name. Relative IRIs are combined with base IRIs as per
> >Uniform Resource Identifier (URI): Generic Syntax [RFC3986] using only
> >the basic algorithm in Section 5.2 . Neither Syntax-Based
> >Normalization nor Scheme-Based Normalization (described in sections
> >6.2.2 and 6.2.3 of RFC3986) is performed. Characters additionally
> >allowed in IRI references are treated in the same way that unreserved
> >characters are treated in URI references, per section 6.5 of
> >Internationalized Resource Identifiers (IRIs) [RFC3987].
> >]]
> >addresses your comment.
> 
> I am not comfortable with the "abbreviation mechanism", see e.g.
> http://lists.w3.org/Archives/Public/uri/2004Jan/0009.html for why.

There I see Fielding answering some questions about URI references.
I don't see anything that should make one uncomfortable. Please
elaborate or be more specific?

> I am not sure whether it's good idea to name the BASE mechanism a
> "directive"; is there no better term? From the grammar it seems
> it should be "declaration".
> 
> I am not sure what the remark about the lack of BASE is about; does
> it mean that SPARQL implementations may ignore (parts of) section
> 5.1 of RFC 3986?

No; it just re-states 5.1.4 "If none of the conditions described
above apply, then the base URI is defined by the context of
the application."

> It seems use of relative resource identifiers for BASE is not
> allowed, but 
> 
>   [3] BaseDecl ::= 'BASE' Q_IRI_REF
> 
> the grammar does not reflect this. What does this mean exactly?

Ah.. good question. I'm not sure.

We'll have to look into that.

-- 
Dan Connolly, W3C http://www.w3.org/People/Connolly/
D3C2 887B 0F92 6005 C541  0875 0F91 96DE 6E52 C29E

Received on Wednesday, 7 September 2005 01:20:55 UTC