BASE IRI resolution: syntax-based normalization and/or scheme-based normalization?

A commentor points out in

that we're not explicit about whether section
6.2.2. "Syntax-Based Normalization" and/or
6.2.3. "Scheme-Based Normalization" of are applied
to base IRIs in SPARQL. Consider this
input data:

  @prefix : <http://example/vocab#>.

  :s1 :p <example://a/b/c/%7Bfoo%7D#xyz>.
  :s2 :p <eXAMPLE://a/./b/../b/%63/%7bfoo%7d#xyz>.

and this query:

  PREFIX : <http://example/vocab#>
  PREFIX p1: <eXAMPLE://a/./b/../b/%63/%7bfoo%7d#>

  SELECT ?S WHERE { ?S :p p1:xyz }

It seems to me that the simplest answer is that no,
nothing gets canonicalized, and the answer is that
?S binds to :s2 only.

Then re scheme-based normalization, here's another test:

  @prefix : <http://example/vocab#>.
  :s3 :p <>.
  :s4 :p <>.
  :s5 :p <>.

  PREFIX : <http://example/vocab#>
  PREFIX p2: <>

  SELECT ?S WHERE { ?S :p p2:abc }

Let's see what current DawgShows say...
SPARQLer ( ) binds to
s2 only in the 1st case and to s3 only in the 2nd case.

Likewise the rasqal demo

So I suggest adding those two tests to the test suites,
and clarifying the spec: after

 They stand for IRIs, either directly, or relative to a base IRI.

we add

 Relative IRIs are combined with base IRIs as per section
 6.5.  Relative IRI References of [19], using only the
 basic algorithm in section 5.  Reference Resolution
 of [rfc3986], without the optional Syntax-Based Normalization
 nor Scheme-Based Normalization.

Dan Connolly, W3C
D3C2 887B 0F92 6005 C541  0875 0F91 96DE 6E52 C29E

Received on Friday, 22 July 2005 14:02:23 UTC