Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Uniform Resource Name
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{short description|Uniform Resource Identifier (URI) that uses the urn scheme}} {{Redirect|URN}} <!-- NOTE: All mentions of "RFC xxxx" are entered as "<nowiki>RFC</nowiki> xxxx" because otherwise they get auto-converted by MediaWiki into hyperlinks to the IETF website, making the article a mess. --> A '''Uniform Resource Name''' ('''URN''') is a [[Uniform Resource Identifier]] (URI) that uses the {{code|urn}} [[URI scheme|scheme]]. URNs are globally unique [[persistent identifier]]s assigned within defined [[namespace]]s so they will be available for a long period of time, even after the resource which they identify ceases to exist or becomes unavailable.{{sfnp|RFC 8141|2017}} URNs cannot be used to directly locate an item and need not be resolvable, as they are simply templates that another parser may use to find an item. ==URIs, URNs, and URLs== URNs were originally conceived to be part of a three-part [[information architecture]] for the Internet, along with [[Uniform Resource Locator|Uniform Resource Locators (URLs)]] and [[Uniform Resource Characteristic|Uniform Resource Characteristics (URCs)]], a [[metadata]] framework. As described in {{IETF RFC|1737}},{{sfnp|RFC 1737|1994}} and later in {{IETF RFC|2141|link=no}},{{sfnp|RFC 2141|1997}} URNs were distinguished from URLs, which identify resources by specifying their locations in the context of a particular access protocol, such as [[HTTP]] or [[FTP]]. In contrast, URNs were conceived as [[Persistent identifier|persistent]], location-independent identifiers assigned within defined [[namespace]]s, typically by an authority responsible for the namespace, so that they are globally unique and persistent over long periods of time, even after the resource which they identify ceases to exist or becomes unavailable.{{sfnp|RFC 8141|2017}} URCs never progressed past the conceptual stage,{{sfnp|W3C/IETF|2001}} and other technologies such as the [[Resource Description Framework]] later took their place. Since {{IETF RFC|3986|link=no}}{{sfnp|RFC 3986|2005}} in 2005, use of the terms "Uniform Resource Name" and "Uniform Resource Locator" has been deprecated in technical standards in favor of the term Uniform Resource Identifier (URI), which encompasses both, a view proposed in 2001 by a joint working group between the [[World Wide Web Consortium]] (W3C) and [[Internet Engineering Task Force]] (IETF).{{sfnp|W3C/IETF|2001}} A URI is a [[character string (computer science)|string]] of [[character (computing)|character]]s used to [[identifier|identify]] or [[name]] a [[web resource|resource]] on the internet. URIs are used in many Internet protocols to refer to and access information resources. URI schemes include the <code>http</code> and <code>ftp</code> protocols, as well as hundreds of others. In the "contemporary view", as it is called, all URIs identify or name resources, perhaps uniquely and persistently, with some of them also being "locators" which are resolvable in conjunction with a specified protocol to a representation of the resources. Other URIs are not locators and are not necessarily resolvable within the bounds of the systems where they are found. These URIs may serve as names or identifiers of resources. Since resources can move, opaque identifiers which ''are not'' locators and are not bound to particular locations are arguably more likely than identifiers which ''are'' locators to remain unique and persistent over time. But whether a URI is resolvable depends on many operational and practical details, irrespective of whether it is called a "name" or a "locator". In the contemporary view, there is no bright line between "names" and "locators". In accord with this way of thinking, the distinction between Uniform Resource ''Names'' and Uniform Resource ''Locators'' is now no longer used in formal [[Internet Engineering Task Force]] technical standards, though the latter term, URL, is still in wide informal use. The term "URN" continues now as one of more than a hundred URI "schemes", <code>urn:</code>, paralleling <code>http:</code>, <code>ftp:</code>, and so forth. URIs of the <code>urn:</code> scheme are not locators, are not required to be associated with a particular protocol or access method, and need not be resolvable. They should be assigned by a procedure which provides some assurance that they will remain unique and identify the same resource persistently over a prolonged period. Some namespaces under the <code>urn:</code> scheme, such as <code>[[UUID|urn:uuid:]]</code> assign identifiers in a manner which does not require a registration authority, but most of them do. A typical URN namespace is <code>[[ISBN|urn:isbn]]</code>, for International Standard Book Numbers. This view is continued in {{IETF RFC|8141|link=no}} (2017).{{sfnp|RFC 8141|2017}} There are other URI schemes, such as <code>[[Tag URI scheme|tag:]]</code>, <code>[[Info URI scheme|info:]]</code> (now largely deprecated), and <code>ni:</code>{{sfnp|RFC 6920|2013}} which are similar to the <code>urn:</code> scheme in not being locators and not being associated with particular resolution or access protocols. ==Syntax== The syntax of a <code>urn:</code> scheme URI is represented in the [[augmented Backus–Naur form]] as:{{sfnp|RFC 3986|2005}}{{sfnp|RFC 8141, section 2|2017}} <syntaxhighlight lang="abnf"> namestring = assigned-name [ rq-components ] [ "#" f-component ] assigned-name = "urn" ":" NID ":" NSS NID = (alphanum) 0*30(ldh) (alphanum) ldh = alphanum / "-" NSS = pchar *(pchar / "/") rq-components = [ "?+" r-component ] [ "?=" q-component ] r-component = pchar *( pchar / "/" / "?" ) q-component = pchar *( pchar / "/" / "?" ) f-component = fragment ; general URI syntax rules (RFC3986) fragment = *( pchar / "/" / "?" ) pchar = unreserved / pct-encoded / sub-delims / ":" / "@" pct-encoded = "%" HEXDIG HEXDIG unreserved = ALPHA / DIGIT / "-" / "." / "_" / "~" sub-delims = "!" / "$" / "&" / "'" / "(" / ")" / "*" / "+" / "," / ";" / "=" alphanum = ALPHA / DIGIT ; obsolete, usage is deprecated </syntaxhighlight> or, in the form of a [[syntax diagram]], as: [[File:URN_syntax_diagram_-_namestring.png|URN syntax diagram{{snd}} namestring]] * The leading scheme ({{code|urn:}}) is case-insensitive. * {{code|<NID>}} is the namespace identifier, and may include letters, digits, and <code>-</code>. * The NID is followed by the namespace-specific string {{code|<NSS>}}, the interpretation of which depends on the specified namespace. The NSS may contain ASCII letters and digits, and many punctuation and special characters. Disallowed ASCII and [[Unicode]] characters may be included if [[percent-encoded]]. In 2017, the syntax for URNs was updated:{{sfnp|RFC 8141|2017}} * The slash character (<code>/</code>) is now allowed in the NSS to represent names containing slashes from non-URN identifier systems. * The q-component was added to enable passing of parameters to named resources. * The r-component was added to enable passing of parameters to resolvers. However, the updated specification notes that it should not be used until its semantics are defined via further standardization. ==Namespaces== In order to ensure the global uniqueness of URN namespaces, their identifiers (NIDs) are required to be registered with the [[Internet Assigned Numbers Authority|IANA]]. Registered namespaces may be "formal" or "informal". An exception to the registration requirement was formerly made for "experimental namespaces",{{sfnp|RFC 3406|2002}} since rescinded by <nowiki>RFC</nowiki> 8141.{{sfnp|RFC 8141|2017}} ===Formal=== Approximately sixty formal URN namespace identifiers have been registered. These are namespaces where Internet users are expected to benefit from their publication,{{sfnp|RFC 8141|2017}} and are subject to several restrictions. They must: * Not be an already-registered NID * Not start with {{code|urn-}} * Be more than two letters long * Not start with {{code|XY-}}, where XY is any combination of two [[ASCII]] letters * Not start with {{code|x-}} (see "Experimental namespaces", below) ===Informal=== Informal namespaces are registered with IANA and assigned a number sequence (chosen by IANA on a first-come-first-served basis) as an identifier,{{sfnp|RFC 8141|2017}} in the format :<code>"urn-" {{angbr|number}}</code> Informal namespaces are fully fledged URN namespaces and can be registered in global registration services.{{sfnp|RFC 8141|2017}} ===Experimental=== An exception to the registration requirement was formerly made for "experimental namespaces".{{sfnp|RFC 3406|2002}} However, following the deprecation of the "X-" notation for new identifier names,{{sfnp|RFC 6648|2012}} {{IETF RFC|8141|link=no}}{{sfnp|RFC 8141|2017}} did away with experimental URN namespaces, indicating a preference for use of the <code>urn:example</code> namespace where appropriate.{{sfnp|RFC 6963|2013}} ==Examples== {| class="wikitable" |- ! style="width:43%;"| URN ! style="width:57%;"| corresponds to |- | {{code|urn:isbn:0451450523}} | The 1968 book ''[[The Last Unicorn]]'', identified by its [[ISBN|International Standard Book Number]]. |- | {{code|urn:isan:0000-0000-2CEA-0000-1-0000-0000-Y}} | The 2002 film ''[[Spider-Man (2002 film)|Spider-Man]]'', identified by its [[International Standard Audiovisual Number]]. |- | {{code|urn:ISSN:0167-6423}} | The scientific journal ''Science of Computer Programming'', identified by its [[International Standard Serial Number]]. |- | {{code|urn:ietf:rfc:2648}} | The [[IETF]]'s <nowiki>RFC</nowiki> 2648. |- | {{code|urn:mpeg:mpeg7:schema:2001}} | The default namespace rules for [[MPEG-7]] video metadata. |- | {{code|urn:oid:2.16.840}} | The [[Object identifier|OID]] for the [[United States]]. |- | {{code|urn:uuid:6e8bc430-9c3a-11d9-9669-0800200c9a66}} | A version 1 [[Universally unique identifier|UUID]]. |- | {{code|urn:nbn:de:bvb:19-146642}} | A [[National Bibliography Number]] for a document, indicating country ([[ISO 3166-2:DE|{{code|de}}]]), regional network ({{code|bvb}} = ''[[Bibliotheksverbund Bayern]]''), library number (19) and document number. |- | {{code|urn:lex:eu:council:directive:2010-03-09;2010-19-UE}} | A [[Directive (European Union)|directive of the European Union]], using the proposed [[Lex (URN)|Lex URN namespace]]. |- | {{code|urn:lsid:zoobank.org:pub:CDC8D258-8F57-41DC-B560-247E17D3DC8C}} | A [[LSID|Life Science Identifiers]] that may be resolved to http://zoobank.org/urn:lsid:zoobank.org:pub:CDC8D258-8F57-41DC-B560-247E17D3DC8C . |- | {{code|urn:epc:class:lgtin:4012345.012345.998877}} | [[Global Trade Item Number]] with lot/batch number. As defined by Tag Data Standard<ref>{{cite web |title=EPC Tag Data Standard, version 1.13 |url=https://www.gs1.org/standards/epcrfid-epcis-id-keys/epc-rfid-tds/1-13 |publisher=GS1 |access-date=7 March 2021 |date=Nov 2019}}</ref> (TDS). See more examples at [[Electronic Product Code#All GS1 Identification Keys|EPC Identification Keys]]. |- | {{code|urn:epc:id:sgtin:0614141.112345.400}} | [[Global Trade Item Number]] with an individual serial number |- | {{code|urn:epc:id:sscc:0614141.1234567890}} | [[Serial Shipping Container Code]] |- | {{code|urn:epc:id:sgln:0614141.12345.400}} | [[Global Location Number]] with extension |- | {{code|urn:epc:id:bic:CSQU3054383}} | BIC [[Intermodal container]] Code as per [[ISO 6346]] |- | {{code|urn:epc:id:imovn:9176187}} | [[IMO number|IMO Vessel Number]] of marine vessels |- | {{code|urn:epc:id:gdti:0614141.12345.400}} | [[Global Document Type Identifier]] of a document instance |- | {{code|urn:mrn:iala:aton:us:1234.5}} | Identifier for [https://www.iala-aism.org/product/g1143-unique-identifiers-for-maritime-resources-2/ Marine Aids to Navigation] |- | {{code|urn:mrn:iala:vts:ca:ecareg}} | Identifier for [[Vessel Traffic Services]] |- | {{code|urn:mrn:iala:wwy:us:atl:chba:potri}} | Identifier for [https://www.iala-aism.org/product/g1143-unique-identifiers-for-maritime-resources-2/ Waterways] |- | {{code|urn:mrn:iala:pub:g1143}} | Identifier for [https://www.iala-aism.org/ IALA] publications |- |{{code|urn:microsoft:adfs:claimsxray}} |Identifier for federated identity; this example is from Claims X-Ray<ref>{{cite web |title=Claims X-Ray AD FS Help | url=https://adfshelp.microsoft.com/ClaimsXray/TokenRequest}}</ref> |- |{{code|urn:eic:10X1001A1001A450}} |[[European Network of Transmission System Operators for Electricity]] (ENTSO-E), identified by its [[Energy Identification Code]] |} ==See also== * [[Archival Resource Key]] (ARK) * [[.arpa]] – urn.arpa is for dynamic discovery * [[Extensible resource identifier]] (XRI) * [[Handle System]] * [[Info URI scheme]] * [[LSID|Life Science Identifiers]] (LSID) * The [[Magnet URI scheme]], which uses URNs * [[Persistent Uniform Resource Locator]] (PURL) * [[Tag URI scheme]] is like urn: in its URIs not being resource ''locators'' * [[Digital Object Identifier]] (DOI) * [[Electronic Product Code#All GS1 Identification Keys|EPC Identification Keys]]. *[https://www.iala-aism.org/technical/data-modelling/mrn/ Maritime Resource Names (MRN)] ==References== ===Citations=== {{Reflist|25em}} ===Sources=== {{Refbegin}} * {{anchor|{{SfnRef|RFC 1737|1994}}}}{{Ref RFC|ref=no|1737}} * {{anchor|{{SfnRef|RFC 2141|1997}}}}{{Ref RFC|ref=no|2141}} * {{anchor|{{SfnRef|RFC 3406|2002}}}}{{Ref RFC|ref=no|3406}} * {{anchor|{{SfnRef|RFC 3986|2005}}}}{{Ref RFC|ref=no|3986}} * {{anchor|{{SfnRef|RFC 6648|2012}}}}{{Ref RFC|ref=no|6648}} * {{anchor|{{SfnRef|RFC 6920|2013}}}}{{Ref RFC|ref=no|6920}} * {{anchor|{{SfnRef|RFC 6963|2013}}}}{{Ref RFC|ref=no|6963}} * {{anchor|{{SfnRef|RFC 8141|2017}}}}{{Ref RFC|ref=no|8141}} ** {{anchor|{{SfnRef|RFC 8141, section 2|2017}}}}{{Ref RFC|ref=no|8141|section=2|quote=§ 2. URN Syntax}} * {{cite web | url = https://www.doi.org/factsheets/DOIIdentifierSpecs.html | title = Factsheet: DOI System and Internet Identifier Specifications | date = October 2012 | publisher = International DOI Foundation | access-date = 2012-12-06 | ref = {{SfnRef|International DOI Foundation|2012}} }} * {{cite web | url = https://www.w3.org/TR/uri-clarification/ | title = URIs, URLs, and URNs: Clarifications and Recommendations 1.0 | date = 21 September 2001 | author = W3C/IETF URI Planning Interest Group | publisher = [[W3C]] | access-date = 2012-12-07 | ref = {{SfnRef|W3C/IETF|2001}} }} {{Refend}} ==External links== * [https://www.iana.org/assignments/urn-namespaces/ Official IANA Registry of URN Namespaces] * [http://datatracker.ietf.org/wg/urn/charter/ Uniform Resource Names working group] at the IETF * [http://www.benmeadowcroft.com/webdev/articles/urns-and-citations/ URNs and bibliographic citations in web authoring] * An example server-side URN resolver is described in {{IETF RFC|2169}}. {{URI schemes}} {{Authority control}} [[Category:URI schemes]] [[Category:Identifiers]]
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)
Pages transcluded onto the current version of this page
(
help
)
:
Template:Anchor
(
edit
)
Template:Angbr
(
edit
)
Template:Authority control
(
edit
)
Template:Cite web
(
edit
)
Template:Code
(
edit
)
Template:IETF RFC
(
edit
)
Template:Redirect
(
edit
)
Template:Ref RFC
(
edit
)
Template:Refbegin
(
edit
)
Template:Refend
(
edit
)
Template:Reflist
(
edit
)
Template:Sfnp
(
edit
)
Template:Short description
(
edit
)
Template:Snd
(
edit
)
Template:URI schemes
(
edit
)