Re: SPARQL: BASE IRI resolution

* Dan Connolly wrote:
>In what way is the same document reference not allowed? Is that
>something special to SVG?  I don't see how it's relevant to SPARQL.

For a query at http://example.org/foo.rq my understanding is that
there is no difference between

  BASE <http://example.org/bar.rdf>
  SELECT ...
  FROM <http://example.org/bar.rdf>

and

  BASE <http://example.org/bar.rdf>
  SELECT ...
  FROM <bar.rdf>

and

  BASE <http://example.org/bar.rdf>
  SELECT ...
  FROM <>

and

  SELECT ...
  FROM <http://example.org/foo.rq>

and

  BASE <http://example.org/foo.rq>
  SELECT ...
  FROM <http://example.org/foo.rq>

All refer to the same RDF dataset in the FROM clause, since in each
case the resolved reference in the FROM clause is equivalent to the
base resource identifier, which means all of them are same document
references, so these are queries against the SPARQL document rather
than some external document. Such a query cannot yield in results.

>All of the whole RFC must be considered; it's cited normatively.
>Aren't the implications of 5.1.2 and 5.1.3 clear enough with the text
>as is? The SPARQL QL spec is just saying "if the BASE isn't
>given explicitly, it's taken from somewhere else; somewhere that's
>not constrained by this specification."
>
>If it's not clear enough as is, we'd appreciate it if you would
>suggest some wording that you might find acceptable.

I think the note

  This specification does not define the value of the base IRI
  for SPARQL queries with no BASE directive.

is redundant; removing it would address my concern. Changing it
to something like

  For SPARQL queries with no BASE directive the base resource
  identifier is established according to section 5.1/RFC 3986.

would, too; Something like

  Base resource identifiers are established per 5.1/RFC 3986,
  where the base resource identifier embedded in content is
  determined by the BASE declaration.

instead of some of the current text might also work. The main
problem with the current

  This specification does not define the value of the base IRI
  for SPARQL queries with no BASE directive.

is that it leaves open where this is defined; I read it as if base
resource identifiers are implementation-defined if there is no BASE
declaration (which is not true if RFC 3986 5.1.2/5.1.3 apply).
-- 
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 03:24:36 UTC