- From: David Booth <david@dbooth.org>
- Date: Sat, 25 May 2013 23:03:56 -0400
- To: public-rdf-comments <public-rdf-comments@w3.org>
AFAICT, the current Turtle syntax rules permit a base IRI http://www.w3.org/TR/turtle/#grammar-production-base to include a hash ("#"): BASE <http://example/foo#> However, the URI specification, RFC 3986, http://www.ietf.org/rfc/rfc3986.txt in section 5.1 forbids a hash in a base URI: "A base URI must conform to the <absolute-URI> syntax rule (Section 4.3). If the base URI is obtained from a URI reference, then that reference must be converted to absolute form and stripped of any fragment component prior to its use as a base URI." Turtle spec section 6.3 http://www.w3.org/TR/turtle/#sec-iri-references does refer to other portions of RFC 3986, but not the portion that requires the base URI to be an absolute URI. Please align the Turtle spec with RDF 3986 by requiring that a base URI be an absolute-IRI as defined in RFC 3987. I see that the SPARQL spec does explicitly say: http://www.w3.org/TR/sparql11-query/#iriRefs "Base IRIs declared with the BASE keyword must be absolute IRIs". Therefore, I suggest: - Add the following sentence to section 6.3: "Base IRIs declared with the @base or BASE keyword must be absolute-IRIs as defined in RFC3987." - Add the following comment to syntax rules 5 and 5s: [5] base ::= '@base' IRIREF '.' /* See also Sec. 6.3 */ [5s] sparqlBase ::= "BASE" IRIREF /* See also Sec. 6.3 */ Thanks, David
Received on Sunday, 26 May 2013 03:04:30 UTC