- From: Nathan <nathan@webr3.org>
- Date: Mon, 17 Jan 2011 16:52:32 +0000
- To: Dave Reynolds <dave.e.reynolds@gmail.com>, Sandro Hawke <sandro@w3.org>
- CC: Martin Hepp <martin.hepp@ebusiness-unibw.org>, public-lod@w3.org
Dave Reynolds wrote: > On Mon, 2011-01-17 at 16:51 +0100, Martin Hepp wrote: >> Dear all: >> >> RFC 2616 [1, section 3.2.3] says that >> >> "When comparing two URIs to decide if they match or not, a client >> SHOULD use a case-sensitive octet-by-octet comparison of the entire >> URIs, with these exceptions: >> >> - A port that is empty or not given is equivalent to the default >> port for that URI-reference; >> - Comparisons of host names MUST be case-insensitive; >> - Comparisons of scheme names MUST be case-insensitive; >> - An empty abs_path is equivalent to an abs_path of "/". >> >> Characters other than those in the "reserved" and "unsafe" sets (see >> RFC 2396 [42]) are equivalent to their ""%" HEX HEX" encoding. >> >> For example, the following three URIs are equivalent: >> >> http://abc.com:80/~smith/home.html >> http://ABC.com/%7Esmith/home.html >> http://ABC.com:/%7esmith/home.html >> " >> >> Does this also hold for identifying RDF resources >> >> a) in theory and > > No. RDF Concepts defines equality of RDF URI References [1] as simply > character-by-character equality of the %-encoded UTF-8 Unicode strings. > > Note the final Note in that section: > > """ > Note: Because of the risk of confusion between RDF URI references that > would be equivalent if derefenced, the use of %-escaped characters in > RDF URI references is strongly discouraged. > """ > > which explicitly calls out the difference between URI equivalence > (dereference to the same resource) and RDF URI Reference equality. I'd suggest that it's a little more complex than that, and that this may be an issue to clear up in the next RDF WG (it's on the charter I believe). For example: When a URI uses components of the generic syntax, the component syntax equivalence rules always apply; namely, that the scheme and host are case-insensitive and therefore should be normalized to lowercase. For example, the URI <HTTP://www.EXAMPLE.com/> is equivalent to <http://www.example.com/>. - http://tools.ietf.org/html/rfc3986#section-6.2.2.1 However, that's only for URIs which use the generic syntax (which most URIs we ever touch do use). It would be great if a normalized-IRI with specific normalization rules could be drafted up as part of the next WG charter - after all they are a pretty pivotal part of the sem web setup, and it would be relatively easy to clear up these issues. Best, Nathan
Received on Monday, 17 January 2011 16:53:21 UTC