BASE absolute IRIs

Hi all,

   Firstly, an editorial erratum I just noticed in 2.1.1:

"come from a an encapsulating..."
=>
"come from an encapsulating..."


   Secondly, a thorny issue. Benjamin Nowack just raised an  
interesting point in #swig.

   BASE <> is a valid part of a SPARQL query (grammar productions 3,  
66). However:

"The BASE keyword defines... per RFC3986..."

   now, the cited RFC states that "A base URI must conform to the  
<absolute-URI> syntax rule (Section 4.3)." (RFC3986, §5.1) -- i.e.,  
if BASE is provided, it *must* be an absolute URI. If BASE is not  
provided, then either it must be drawn from the environment as per  
RFC3986 §5.1.2, or all IRI references must be absolute.

   So, two conclusions:

1.a) The grammar should state that the BASE production must yield an  
absolute IRIref, not just an IRIref.
   b) Mention this in the text.
2.   Expand 2.1.1 to suggest ways in which the environment might  
yield a BASE IRI.
      I suggest the following as a partial list:

   - HTTP URI of the query service (particularly services which are  
also URIQA-capable). E.g., if I POST a SPARQL query to

http://example.com/sparql/

and the query includes BASE <>, then the base IRI should be <http:// 
example.com/sparql/>.

   If I GET a query:

http://example.com/sparql/?q=PREFIX...

I would expect the same base IRI.

   - A command-line parameter
   - Referer or other HTTP headers
   - Surrounding XML environments, such as SOAP envelopes
   - Other content types with relevant headers, such as MIME  
multipart documents.

-R

Received on Saturday, 10 December 2005 07:36:24 UTC