Subject: [urn] Review of rfc2141bis-16 and semantics-clarif-03, Part 1

From: Sean Leonard <[email-masked]>
Date: Wed, 4 May 2016 09:23:49 -0700

I have reviewed draft-ietf-urnbis-rfc2141bis-urn-16 and draft-ietf-urnbis-semantics-clarif-03. Here is concise feedback. (It is intended to be my opinion, rather than a neutral summary. But my opinion takes into account the other expressed opinions over the years in this WG.)

Stuff I hope we can agree on:

Syntactically, a URN is a URI that has a “urn” scheme. It has the URI’s path-rootless production only. It’s not specific to any location on the network. It has a path (p-component), query (q-component and r-component), and fragment (f-component).

The fragment behaves the way it does with RFC 3986. When a urn: URI is successfully dereferenced, everything up to # is taken, and a resource representation (hopefully with some media type) is returned. Then a client can deal with the fragment part. Since it’s possible that a resource representation doesn’t exist, the fragment is *unconstrained* (using Henry Thompson and RFC 3986’s terms), rather than undefined.

The path is the p-component and that includes the NID and the NSS. The NSS can contain “/”; it cannot contain “?” or “#”. The NSS is UTF-8 percent-encoded. The NID (registration) says how the NSS is formatted and how names get generated & assigned. This part is unique, persistent, etc.

The query (r-component, q-component) is NOT part of the unique, persistent, etc. guarantees. It’s *not* part of the “name”. It’s separate information that is sent to URN services to help resolve and/or dereference the pieces into a resource. It can contain “?”; it cannot contain “#”.

Stuff inconsistent with these statements, needs to be removed from the draft(s). Stuff that is expressed in more words than above, can be simplified to the words above.

***

Stuff that is controversial or that the WG is still struggling to conclude:

How much to specify how the query production (r-component, q-component) works. This includes ABNF and syntactic issues.

How much “semantically” URNs are URIs.

These will be covered in Part 2.

Additionally:
What “resources” versus “services” are. -- now has its own active thread
“Equivalence” issues. -- also has its own active thread

Sean