- From: Dan Connolly <connolly@w3.org>
- Date: Fri, 22 Jul 2005 09:02:18 -0500
- To: RDF Data Access Working Group <public-rdf-dawg@w3.org>
A commentor points out in http://lists.w3.org/Archives/Public/public-rdf-dawg-comments/2005Jul/0042.html that we're not explicit about whether section 6.2.2. "Syntax-Based Normalization" and/or 6.2.3. "Scheme-Based Normalization" of http://www.ietf.org/rfc/rfc3986.txt 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 <http://example.com:80/#abc>. :s4 :p <http://example.com/#abc>. :s5 :p <http://example.com/#abc>. query: PREFIX : <http://example/vocab#> PREFIX p2: <http://example.com:80/#> SELECT ?S WHERE { ?S :p p2:abc } Let's see what current DawgShows say... SPARQLer ( http://sparql.org/query.html ) binds to s2 only in the 1st case and to s3 only in the 2nd case. Likewise the rasqal demo http://librdf.org/query?language=sparql 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 http://www.w3.org/People/Connolly/ D3C2 887B 0F92 6005 C541 0875 0F91 96DE 6E52 C29E
Received on Friday, 22 July 2005 14:02:23 UTC