2.3.1. r-component
The r-component is intended to pass parameters to a URN resolution service (broadly speaking, see Section 1.2) and to be interpreted by such services. (In contrast, passing parameters to the resource identified by a URN or to an application managing such a resource is handled by the q-component, as described in the next section.)
The URN r-component has no syntactic counterpart in any other known URI scheme.
The sequence "?+" introduces the r-component. The r-component ends with the sequence "?=" (beginning the q-component) or with the "#" character (number sign, beginning the f-component). If neither of these appears, the r-component extends to the end of the URN. Note that characters outside the ASCII range [RFC20] must be percent-encoded using the method defined in Section 2.1 of the generic URI specification [RFC3986].
As described in Section 3, the r-component should not be considered when determining URN-equivalence. However, when submitting a request to a URN resolution service, the r-component should be provided along with the URN.
This document defines only the syntax of the r-component and reserves it for future use. The exact semantics of the r-component and its use in URN resolution protocols are matters for potential standardization in separate specifications, possibly including specifications defining conventions and registries for resolution service identifiers.
Consider a hypothetical example of passing parameters to a resolution service (e.g., an ISO alpha-2 country code [ISO.3166-1], to select a preferred country in which to search for a physical copy of a book entity). This might be accomplished by specifying the country code in the r-component, resulting in URNs such as the following:
urn:example:foo-bar-baz-qux?+CCResolve:cc=uk
While the foregoing should be taken as a general interpretation and illustration of the intent of the r-component, there are numerous open questions about them, including their relationship with resolution mechanisms associated with a particular URN namespace at the time of registration. Therefore, the r-component should not be used in URNs until its semantics are standardized.