W3C home > Mailing lists > Public > public-rdf-comments@w3.org > August 2012

Re: RDF 1.1 IRIs and %-escaping

From: Graham Klyne <GK@ninebynine.org>
Date: Tue, 21 Aug 2012 12:39:14 +0100
Message-ID: <50337362.7020002@ninebynine.org>
To: Richard Cyganiak <richard@cyganiak.de>
CC: Dan Brickley <danbri@danbri.org>, Andy Seaborne <andy.seaborne@epimorphics.com>, public-rdf-comments Comments <public-rdf-comments@w3.org>, Giovanni Tummarello <giovanni.tummarello@deri.org>

While I support the thrust and direction of the change to %-escaping of spaces, 
I think you're being too dismissive of the (possible) legacy base.  Given that 
the current RDF specification does allow spaces in RDF URI references, I think 
it would be appropriate to invoke the Postel Principle ("be conservative in what 
you do, be liberal in what you accept from others").

In this case, I'd suggest something like:
RDF applications SHOULD generate IRIs in which spaces are %-encoded, but MAY 
accept RDF containing RDF URI references in which spaces are not %-escaped.

The rest of this message offers some small comments on the details of your response.

On 08/08/2012 12:01, Richard Cyganiak wrote:
> Dan,
> On 8 Aug 2012, at 00:14, Dan Brickley wrote:
>> Does Sindice keep a cache of raw crawled RDF somewhere?
> My understanding is that there are caches of raw bytes.
>> I know this would be extra work for someone though :(
> I can't speak for Giovanni, but I think this might be a slight understatement given that the standard Sindice infrastructure cannot be used, and given that the behaviour of normal off-the-shelf components and of the whole SPARQL stack with regard to spaces in URIs would need to be carefully looked into to analyze this (in other words, this isn't a job for an intern). It may not be worth it.
> Some points:
> 1. RDF 2004 is the only standard on the planet that allows spaces in URIs/IRIs


> 2. This is the result of historical accident and WG timing (the IRI spec was still in draft status, and the 2004 RDF-WG thought it important to remain compatible with early IRI drafts)

It may be, but there is now code that is based on this historical accident.  I 
came across this as a problem precisely because I was working with an RDF 
library, trying to follow specifications in good faith, and ended up generating 
URIs with spaces that are rejected by other applications.

> 3. Spaces in URIrefs don't actually work interoperably in implementations of RDF 2004
> 4. Spaces in URIrefs don't work within the broader RDF stack (SPARQL doesn't support them)
> 5. Not a single instance where spaces in URIrefs are used intentionally has been shown

I did this in a mapping from file names to URIs.  (I can change my code, but it 
counts as a single instance, and others may have done something similar.)

> 6. Not a single instance where SPARQL's non-support for spaces in IRIs has led to user complaints has been shown
> 7. The RDF-WG charter asks the WG to update RDF to follow SPARQL with regard to IRIs

The charter also says: "any valid RDF graphs (in terms of the RDF 2004 version) 
should remain valid in terms of a new version of RDF" and "Care should be taken 
to not jeopardize exisiting RDF deployment efforts and adoption. In case of 
doubt, the guideline should be not to include a feature in the set of additions 
if doing so might raise backward compatibility issues."

Received on Tuesday, 21 August 2012 11:39:44 UTC

This archive was generated by hypermail 2.3.1 : Tuesday, 6 January 2015 20:29:53 UTC