W3C home > Mailing lists > Public > public-rdf-dawg-comments@w3.org > September 2005

Re: [OK?] SPARQL: BASE IRI resolution

From: Bjoern Hoehrmann <derhoermi@gmx.net>
Date: Wed, 07 Sep 2005 02:46:34 +0200
To: Eric Prud'hommeaux <eric@w3.org>
Cc: public-rdf-dawg-comments@w3.org
Message-ID: <5idsh1178boack79sb9j0j4agbrjabiupb@hive.bjoern.hoehrmann.de>

* 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.

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?

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?
-- 
Björn Höhrmann · mailto:bjoern@hoehrmann.de · http://bjoern.hoehrmann.de
Weinh. Str. 22 · Telefon: +49(0)621/4309674 · http://www.bjoernsworld.de
68309 Mannheim · PGP Pub. KeyID: 0xA4357E78 · http://www.websitedev.de/ 
Received on Wednesday, 7 September 2005 00:46:13 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Tuesday, 8 January 2008 14:14:49 GMT