RFC 8458

Using National Bibliography Numbers as Uniform Resource Names

๐Ÿ“… published October 2018, from ietf

1. Intro to RFC 8458: NBNs as URNs, bestie ๐Ÿ’–๐ŸŽ€

Okay so before we dive in, let's do the title block real quick ๐Ÿฆ‹ This is RFC 8458, titled Using National Bibliography Numbers as Uniform Resource Names. It's by J. Hakala from The National Library of Finland, dated October 2018 ๐ŸŒธ It's Informational (so not a Standards Track spec, just published for info ๐Ÿ“š), and it obsoletes RFC 3188 ๐Ÿ’… That means it replaces the old NBN namespace doc completely, so if you're reading RFC 3188 you're reading the outdated version, periodt ๐Ÿ’€ It doesn't update anything else.

The whole vibe of this doc is: National Bibliography Numbers (NBNs) are the IDs that national libraries use to track stuff in their collections โœจ They usually cover things that aren't already covered by the big standard ID systems, like ISBN (International Standard Book Number) ๐Ÿ“–

Back in 2001, RFC 3188 set up a URN namespace for NBNs, and since then a bunch of European national libraries have built URN:NBN-based systems ๐Ÿ‡ช๐Ÿ‡บ This doc replaces RFC 3188 and explains how NBNs fit into the updated URN framework. The new namespace registration is version 4 and it's compliant with RFC 8141 ๐Ÿซถ

Quick heads up: this doc isn't a standard, it's informational, so the BCP 14 key words are used only in the way the doc describes in its Conventions section ๐Ÿ™ˆ

Now let's get into the main intro stuff in Section 1 ๐Ÿงš

1.1. Hmm, the Intro

Okay so here's the setup ๐ŸŒˆ URNs are one of the basic permanent URI schemes (you can look at [RFC3986] and [IANA-URI] for the URI background ๐Ÿฆ‹) They were first defined in [RFC2141], then revised in 2017 with new definitions and registration rules in [RFC8141] ๐Ÿ’œ

Any traditional identifier that wants to live inside the URN system needs its own namespace, registered with IANA [IANA-URN] ๐Ÿ‘‘ NBN is one of those namespaces, first specified in 2001 in [RFC3188] โœจ

This doc does a few things: it describes the syntax and usage of NBN URNs ๐Ÿ’– it updates the registration for the NBN URN namespace ๐ŸŽ€ and it lays out some policy assumptions about how national libraries and their partner orgs split up, delegate, and manage the namespace ๐ŸŒธ Breaking those assumptions could mess with how useful the NBN URN namespace is, so take them seriously bestie ๐Ÿ˜ญ

URN:NBNs are in real production use across a bunch of European countries ๐Ÿ‡ช๐Ÿ‡บ Like, alphabetically: Austria, Finland, Germany, Hungary, Italy, the Netherlands, Norway, Sweden, and Switzerland ๐Ÿ“ The URN:NBN namespace is managed collectively by these national libraries ๐Ÿซถ And NBNs have been slapped on all kinds of stuff: web archives, digitized materials, research data, and doctoral dissertations ๐Ÿ“š National libraries and the orgs cooperating with them can use them too ๐ŸŒˆ

Here's some history tea โ˜• In the late 1990s, when the URN system was first being built, the IETF URN Working Group decided it was important to show that URN syntax could handle existing identifier systems ๐Ÿ”ฅ [RFC2288] looked into whether ISBN, ISSN, and SICI (Serial Item and Contribution Identifier) could work as URNs, and the results were positive ๐Ÿ’… However, it didn't formally register any URN namespaces for them ๐Ÿ’€ (If you want to know how those systems have evolved as URNs, check out [RFC8254] ๐Ÿฆ‹) Part of the reason was that the criteria for defining namespaces and registering them were still being figured out ๐Ÿ™ˆ Those criteria got consolidated later, first in [RFC2611], then [RFC3406], and now [RFC8141] โœจ

URN namespaces got registered for NBN, ISBN, and ISSN in [RFC3188], [RFC3187], and [RFC3044] respectively ๐ŸŽ€ The ISBN and ISSN namespaces were made compliant with [RFC8141] in 2017 through revised registrations at [ISSN-namespace] and [ISBN-namespace] ๐Ÿ’œ

Now the tea on what "National Bibliography Number" actually means ๐Ÿ’… It covers the persistent local identifier systems that national libraries and their partner orgs use alongside the more formally (and internationally) established IDs ๐ŸŒธ Those partners include universities and their libraries, other subsidiaries, other research institutions, and governmental and public orgs ๐Ÿงš Some national libraries have tons of these liaison relationships. For example, the German National Library had almost 400 by early 2018 [NBN-Resolving] ๐Ÿ˜ญ

Here's the big difference between NBN and standard systems like ISBN and ISSN ๐Ÿ‘‘ NBN isn't one single identifier system with a standard-defined scope and syntax ๐Ÿ’– Each NBN implementer builds its own system, with its own syntax and assignment rules โœจ Each user organization is also obligated to keep track of how NBNs get used ๐Ÿซถ But, within the generic framework this doc sets up, local NBN assignment policies can vary quite a bit ๐ŸŒˆ

Historically, NBNs were used in national bibliographies to identify the resources catalogued in them ๐Ÿ“š Before bibliographic standard identifiers showed up in the early 1970s, national libraries gave NBNs to all catalogued publications ๐Ÿ“

Since the late 1990s, the NBN scope has expanded to cover a huge range of resources, both born-digital and digitized ๐Ÿ”ฅ Only a small slice of these is catalogued in national bibliographies or other bibliographic databases ๐Ÿ’… Digitized resources and their component parts (like still images in books or journal articles) are examples of things that may get NBNs ๐Ÿฆ‹

It's possible to extend NBN scope even further ๐Ÿงš The National Library of Finland uses them in the Finnish National Ontology Service Finto to identify corporate names (see <http://finto.fi/cn/en/>) ๐Ÿ’œ Using NBNs to identify metadata elements gives you a stable basis for building linked data ๐ŸŽ€

Simple guidelines for using NBNs as URNs, along with the original namespace registration, were published in [RFC3188] ๐ŸŒธ This RFC replaces RFC 3188 ๐Ÿซถ The sections on how URN:NBNs should be resolved have been updated, unused features have been removed, and the text now complies with the revised URN spec [RFC8141] โœจ


2. Conventions Used in This Document ๐ŸŒˆ

"NBN" refers to any National Bibliography Number identifier system used by national libraries (or equivalent orgs) and other institutions that use these IDs with the support and permission of national libraries ๐Ÿ’–

In this memo, "URN:NBN" is shorthand for "NBN-based URN" ๐Ÿฆ‹

The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here ๐Ÿ’…


3. Fundamental Namespace and Community Considerations for NBN โœจ

(Part 1 ends here, bestie! More coming in the next parts ๐Ÿงš๐Ÿ’œ)

3.1. The URN:NBN Namespace

okay so NBNs are everywhere in the collections of national libraries and other institutions that look after our cultural heritage ๐Ÿ“š๐ŸŽ€. These resources are usually preserved for a long time, like centuries ๐Ÿ˜ญ. The preferred methods for digital preservation can change over time and depend on the content, but the fave has been migration โœจ. Whenever it's necessary, a resource in an outdated file format gets migrated into a more modern file format. To the extent possible, all the old versions get kept too ๐Ÿซถ, because even a totally successful migration can come with a gradual loss of the original look and feel, and a partially successful one can be even messier. When NBN is used to identify manifestations and there are many of them for a single work, local policy can require that each manifestation ought to have its own NBN ๐Ÿฆ‹.

NBNs are typically used for objects that standard identifiers like ISBN don't cover ๐Ÿ’…. But here's the twist: NBNs can be used for component resources even when the whole resource already qualifies for a standard identifier ๐Ÿ‘‘. For example, if a digitized book has an ISBN, the JPEG image files of its pages might get NBNs. These URN:NBNs can then work as persistent links to the pages ๐ŸŒธ.

Standard identifier systems like ISBN and ISSN have a limited scope, since they only apply to certain kinds of resources ๐Ÿ™ˆ. One of the jobs of NBN is to fill in those gaps. Together, these identifiers and NBNs cover all the resources that national libraries and their partners need to include in their collections ๐Ÿ’œ.

Section 4 below, and especially Section 4.1, gives a more detailed overview of the structure of the NBN namespace, the related institutions, and the identifier assignment principles used โœจ.

3.2. Community Considerations for NBNs

National libraries are the key organizations providing persistent URN resolution services for resources identified with NBNs, no matter what form those resources take ๐Ÿ›๏ธ. As the coordinators of NBN usage, national libraries have let other organizations, such as university libraries or governmental organizations, assign NBNs to the resources those organizations keep for the long term. In that case, the national library coordinates the use of NBNs at the national level ๐Ÿงš. National libraries can also provide URN resolution services and technical services to other NBN users. These organizations are expected to either set up their own URN resolution services or use the technical infrastructure provided by the national library. URN:NBNs are expected to be resolvable and to support one or more resolution services ๐ŸŽ€.

NBNs can identify component resources, but the NBN namespace doesn't specify a generic, intrinsic syntax for doing that ๐Ÿคทโ€โ™€๏ธ. Still, there are at least two different ways component resources can be taken into account within the NBN namespace ๐Ÿ”ฅ.

The simplest and probably most common approach is to assign a separate NBN to each component resource, like a file containing a digitized page of a book, and to make no provisions for making those NBNs systematically discernible from others ๐Ÿ“.

The second approach works if the stipulations of the URI generic syntax [RFC3986] and the Internet media type specification [RFC2046] are met, following the provisions in RFC 8141 [RFC8141]. Then the URN f-component can be attached to URN:NBNs to indicate the desired location within the resource supplied by URN resolution ๐Ÿฆ‹.

From the library community's point of view, it's important that the f-component is not part of the Namespace-Specific String (NSS). So attaching an f-component does not mean the relevant component part is identified ๐Ÿ™…โ€โ™€๏ธ. Also, the resolution process still retrieves the entire resource even when there is an f-component. The component part selection is applied by the resolution client (e.g., browser) to the resource returned by the resolution process. In other words, in this second case the component parts are just logical and physical parts of the identified resource, whereas in the first cases they are independently named entities ๐Ÿ’–.

Resources identified by NBNs aren't always available on the Internet. If one isn't, the URN:NBN can resolve to a surrogate, such as a metadata record describing the identified resource ๐Ÿ“–.

Section 4 below, and especially Section 4.4, gives a detailed overview of how the URN:NBN namespace is applied, plus the principles of, and systems used for, resolving NBN-based URNs ๐ŸŒˆ.


4. National Bibliography Number URNs

4.1. Assignment

National Bibliography Number (NBN) is a generic term for a group of identifier systems administered by national libraries and by institutions they've authorized ๐Ÿ›๏ธ. NBN assignment is typically done by the organization hosting the resource. National libraries are committed to the permanent preservation of their deposit collections ๐Ÿ’œ.

Assignment of NBN-based URNs is controlled at the national level by the national library (or by the national libraries, if there is more than one) ๐Ÿ‘‘. National guidelines can differ, but the identified resources themselves are usually persistent โœจ.

Different national URN:NBN assignment policies have led to different levels of control over the assignment process ๐Ÿ™ƒ. Manual URN:NBN assignment by library personnel gives the tightest control, especially if the URN:NBNs only cover resources catalogued into the national bibliography. In most national libraries, though, the scope of URN:NBN is already much broader than that ๐ŸŒธ. Usage rules can even vary within one country, from one URN:NBN sub-namespace to the next ๐Ÿงš.

Each national library uses NBNs independently of the others. Apart from this document, there are no guidelines that specify or control NBN usage ๐Ÿ™ˆ. So NBNs are unique only at the national level. When used as URNs, base NBN strings MUST be augmented with a controlled prefix: the nation's ISO 3166-1 alpha-2 two-letter country code (referred to as "ISO country code" below) [ISO3166-1]. These prefixes guarantee the uniqueness of URN:NBNs at the global scale [ISO3166MA] ๐ŸŒ.

National libraries that use URN:NBNs usually specify local assignment policies for themselves. Such a policy can limit URN:NBN usage to, e.g., the resources stored in the national library's digital collections or databases ๐ŸŽ€. This specification doesn't set out principles for URN:NBN assignment policies that can be applied. Still, NBNs assigned to short-lived resources should not be made URN:NBNs unless such a policy can be justified ๐Ÿซถ.

A URN:NBN assignment policy can clarify, for instance, the local policy on identifier assignment to component parts of resources. It can also specify, in sufficient detail, the syntax of local component identifiers (if there is one as a discernible part of the NBNs). The policy can cover any extensions used to the default NBN scope too ๐Ÿ’….

NBNs as such are locally, but not globally, unique: two national libraries can assign the same NBN to different resources ๐Ÿ˜ญ. A prefix based on the ISO country code, as described above, guarantees the global uniqueness of URN:NBNs. Once an NBN has been assigned to a resource, it MUST be persistent, and therefore URN:NBNs are persistent as well ๐Ÿ”’.

A URN:NBN, once it has been generated from an NBN, MUST NOT be reused for another resource ๐Ÿšซ.

Users of the URN:NBN namespace MUST ensure that they do not assign the same URN:NBN twice. Different policies can be applied to guarantee this. For instance, NBNs and corresponding URN:NBNs can be assigned sequentially by programs, which helps avoid human mistakes ๐Ÿค–. It's also possible to use printable representations of checksums, such as SHA-1 [RFC6234], as NBNs ๐Ÿ“.

4.2. Syntax

The Namespace-Specific String (NSS) will consist of three parts ๐Ÿงฉ:

  • a prefix consisting of an ISO 3166-1 alpha-2 country code and optional sub-namespace code(s), separated by a colon(s);
  • a hyphen (-) as the delimiting character; and
  • an NBN string assigned by the national library or a sub-delegated authority.

The following formal definition uses ABNF [RFC5234] ๐Ÿ“.

 nbn-nss     = prefix "-" nbn-string

 prefix      = iso-cc *( ":" subspc )
             ; The entire prefix is case insensitive.

 iso-cc      = 2ALPHA
             ; Alpha-2 country code as assigned by part 1 of ISO 3166
             ; (identifies the national library to which the branch
             ; is delegated).

 subspc      = 1*(ALPHA / DIGIT)
             ; As assigned by the respective national library.

 nbn-string  = path-rootless
             ; The "path-rootless" rule is defined in RFC 3986.
             ; Syntax requirements specified in RFC 8141 MUST be
             ; taken into account.

A colon SHOULD be used within the prefix only as a delimiting character between the ISO 3166-1 country code and the sub-namespace code(s), which splits the national namespace into smaller parts ๐Ÿฐ.

The structure (if any) of the nbn_string is determined by the authority for the prefix. The prefix is regarded as case insensitive, but NBN strings can be case sensitive at the preference of the assigning authority. So parsers MUST treat them as case sensitive, and any case mapping needed to introduce case insensitivity is the responsibility of the relevant resolution system ๐Ÿง.

A hyphen SHOULD be used as the delimiting character between the prefix and the NBN string. Within the NBN string, a hyphen MAY be used to separate different sections of the identifier from one another ๐Ÿซง.

All two-letter codes are reserved by the ISO 3166 Maintenance Agency for either existing or possible future ISO country codes, or for private use ๐ŸŒ.

Sub-namespace identifiers MUST be registered at the national level by the national library that assigned the identifier. The list of these identifiers can be made publicly available via the Web ๐ŸŒ.

Note that because case mapping for ASCII letters is completely reversible and doesn't lose information, the case used in case-insensitive matching is a local matter. Implementations can convert to lower or upper case as they see fit, as long as they do it consistently ๐Ÿ’–.

4.2.1. Usage of r-component and q-component

URN:NBN resolvers do not currently support either the r-component or the q-component ๐Ÿ™…โ€โ™€๏ธ.

Resolution services based on the r-component can be implemented in the future, once the r-component syntax and semantics have been specified ๐Ÿ”ฎ.

4.2.2. Usage of f-component

If a URN:NBN resolves to the identified resource and the media type of that resource supports f-component usage, the f-component can be used to indicate a location within the identified resource ๐Ÿ“. Persistence is achieved if the URN:NBN is assigned to one and only one version of a resource, such as a PDF/A version of a book ๐ŸŽ€.

The URN:NBN namespace doesn't impose any restrictions of its own on f-component usage ๐Ÿฆ‹.

4.3. Encoding Considerations and Lexical Equivalence ๐Ÿ’…

Writing NBNs as URNs is usually super easy, because NBN strings almost always only use ASCII characters ๐ŸŒธ If that's not the case, non-ASCII characters in NBNs MUST be translated into canonical form as specified in RFC 8141. If a national library has NBNs that can contain percent-encoded characters higher than U+007F, the library needs to carefully define the canonical transformation from those NBNs into URNs, including normalization forms ๐Ÿง

When an NBN is used as a URN, the NSS MUST consist of three parts:

  • a prefix, structured as a primary prefix, which is a two-letter ISO 3166-1 country code of the library's country, and zero or more secondary prefixes that are each indicated by a delimiting colon character (:) and a sub-namespace identifier;
  • a hyphen (-) as a delimiting character; and,
  • the NBN string.

Different delimiting characters are not semantically equivalent ๐Ÿšซ

The syntax and roles of those three parts are explained in Section 4.2 ๐ŸŽ€

If there are several national libraries in one country, these libraries MUST agree on how to divide the national namespace between themselves using this method before the URN:NBN assignment begins in any of these libraries ๐Ÿ‘‘

A national library MAY also assign URN:NBN sub-namespaces to trusted organizations such as universities or government institutions ๐Ÿ›๏ธ The sub-namespace MAY be further divided by the partner organization. All sub-namespace identifiers used within a country-code-based namespace MUST be registered on the national level by the national library that assigned the code. The national register of these codes SHOULD be made available online ๐Ÿ’œ

Since the sub-namespace identifier strings are part of the prefix, they are case-insensitive ๐Ÿฆ‹ They MUST NOT contain any colons or hyphens.

Formally, two URN:NBNs are lexically equivalent if they are octet-by-octet equal after the following (conceptional) preprocessing โœจ

  1. convert all characters in the leading urn:nbn: token to a single case;
  2. convert all characters in the prefix (country code and its optional sub-divisions) to a single case; and,
  3. convert all characters embedded in any percent-encodings to a single case.

Here are the models (I added a line break so it's easier to read ๐Ÿ™ˆ):

URN:NBN:<ISO 3166 alpha-2 country code>-<assigned NBN string>

URN:NBN:<ISO 3166 alpha-2 country code>:<sub-namespace code>-\
<assigned NBN string>

And some examples, because examples are everything ๐Ÿ“

URN:NBN:fi-fe201003181510

urn:nbn:ch:bel-9039

urn:nbn:se:uu:diva-3475

urn:nbn:hu-3006

4.4. Resolution and Persistence of NBN-based URNs ๐Ÿ”—

Someday URNs might get resolved with help from a Global Resolver Discovery Service (GRDS), and the URN:NBN syntax makes it possible to find the right resolver for them ๐Ÿ—บ๏ธ But no GRDS system has been installed on the Internet yet, so URN:NBNs get embedded in HTTP URIs to make them actionable today. In these HTTP URIs, the authority part has to point to the appropriate URN resolution service. For example, in Finland the national URN resolver lives at <http://urn.fi>. So the HTTP URI for the Finnish URN from the example above is <http://urn.fi/URN:NBN:fi-fe201003181510> ๐Ÿ‡ซ๐Ÿ‡ฎ

The country-code-based prefix in the URN:NBN namespace-specific string gives a hint for finding the correct resolution service for URN:NBNs from the GRDS once it's established ๐Ÿงญ

There are three interrelated aspects of persistence to talk about: persistence of the objects themselves, persistence of the identifier, and persistence of the URN resolvers ๐ŸŒˆ

NBNs have traditionally been assigned to printed resources, which tend to be persistent ๐Ÿ“š Digital resources, on the other hand, need frequent migrations to stay accessible ๐Ÿ’ป Nobody can really estimate how often migrations are needed, but hardware and software upgrades happen all the time, and a lifetime longer than 10-20 years counts as long ๐Ÿ˜ญ

That said, it's a common practice to keep the original and previously migrated versions of resources too. So even outdated versions can still be in digital archives, no matter how old or hard to use they've become ๐Ÿ•ฐ๏ธ

If all versions of a resource are kept, a user who needs authenticity can grab the original version, while someone who cares most about ease of use will probably be happy with the latest version ๐Ÿซถ To help users find the best match, a national library can link all the manifestations of a resource to each other so people know they exist ๐Ÿ”ฅ

So even though specific versions of digital resources usually aren't persistent, identifiers like URN:NBNs support information architectures that give persistent access to any version of the resource. That includes versions that only work with digital archaeology tools, like custom-made applications that render the resource ๐Ÿฆ–

Persistence of the URN resolvers themselves is mainly an organizational issue, tied to the persistence of the organizations that run them. Since URN:NBN resolution services will mostly be supplied by the national libraries, they're likely to be long-lived ๐Ÿ‘‘


4.5. Additional Considerations ๐ŸŒท

It's a good idea to apply URN:NBNs (or other persistent identifiers) to all resources that have been prioritized in the organization's digital preservation plan ๐Ÿ“‹

Assigning URN:NBNs to resources known to be non-persistent should be considered carefully โš ๏ธ That said, URN:NBNs can be applied to resources with a low-level preservation priority that won't be migrated to more modern file formats or preserved via emulation.

If the identified version of a resource has disappeared, the resolution process can supply a surrogate if one exists. A surrogate could be, for example, a more modern digital version of the original electronic resource ๐Ÿชž


5. URN Namespace ID (NID) Registration for the National Bibliography Number (NBN) ๐ŸŽ€

This URN namespace registration explains how National Bibliography Numbers (NBNs) can be supported within the URN framework. It uses the updated IANA template specified in RFC 8141 ๐Ÿ“

Namespace Identifier:  NBN

This namespace ID was formally assigned to the National Bibliography Number in October 2001, when the namespace was officially registered [RFC3188] ๐ŸŽ‰ Using URN:NBNs had already started in demo systems back in 1998. Since 2001, tens of millions of URN:NBNs have been assigned ๐Ÿคฏ The number of namespace users has grown in two ways: new national libraries started using NBNs, and lots of national libraries already using the system formed new liaisons with each other ๐Ÿค

Version:  4

Date:  2018-04-09
Registrant:
      Name: Juha Hakala
      Affiliation: Senior Adviser, The National Library of Finland
      Email: juha.hakala@helsinki.fi
      Postal: P.O. Box 15, 00014 Helsinki University, Finland
      Web URL: http://www.nationallibrary.fi/

The National Library of Finland registered the namespace on behalf of the Conference of the European National Librarians (CENL) and the Conference of Directors of National Libraries (CDNL) ๐Ÿ‡ช๐Ÿ‡บ The NBN namespace is free for national libraries. They can let other organizations assign URN:NBNs and use the resolution services the library set up, for free or for a fee. Any fees collected could be based on things like the maintenance costs of the system ๐Ÿ’ฐ

Purpose:  See Section 3 of RFC 8458
Syntax:  See Section 4.2 of RFC 8458
Assignment:  See Section 4.1 of RFC 8458
Security and Privacy:  See Section 7 of RFC 8458
Interoperability:

National libraries and their partners usually apply URN:NBNs when a standard identifier like ISBN doesn't fit the resource they're identifying ๐Ÿ“– Some overlap with other URN namespaces is possible ๐ŸŒ€

URN:NBNs may contain characters that must be percent-encoded, but they usually only consist of printable ASCII characters ๐Ÿ”ค

Resolution:  See Section 4.4 of RFC 8458
Documentation:  RFC 8458
Revision Information:

This version of the URN:NBN namespace registration was updated to use the revised URN syntax definition from RFC 8141, although usage of r-components isn't specified yet ๐Ÿงฉ Non-ISO 3166 (country code) based NBNs were also deleted because they never got deployed ๐Ÿ—‘๏ธ The entire NBN prefix is now specified to be case-insensitive, which matches established practice ๐Ÿฆ‹ This version also includes lots of clarifications based on actual usage of URN:NBNs ๐Ÿ’–


6. IANA Considerations ๐Ÿท๏ธ

IANA has updated the existing registration of the formal URN namespace, "NBN", using the template given above in Section 5 ๐ŸŒŸ


7. Security Considerations ๐Ÿšจ

This document is about how to encode NBNs as URNs ๐Ÿ” A URN resolution service for NBN-based URNs is shown, but only at a generic level. So questions about secure or authenticated resolution mechanisms, and about authenticating users, are out of scope for this document ๐Ÿ™…โ€โ™€๏ธ

No validation mechanisms are specified at the global level, apart from a routine check of the characters that need special encoding when used in URIs. However, NBNs assigned by any given authority can have a well-specified and rich syntax (including, for example, a fixed length and a checksum). In those cases, it's possible to validate the correctness of NBNs programmatically ๐Ÿงฎ

Intellectual property rights associated with the objects identified by URN:NBNs are beyond the scope of this document, and so are questions about rights to the databases that might be used to build resolution services โš–๏ธ

Beyond the generic security considerations laid out in the underlying documents listed in the Normative References, no specific security threats have been identified for NBN-based URNs ๐Ÿ›ก๏ธ Stay safe out there, bestie ๐Ÿ’€


8. References ๐Ÿ“š

8.1. Normative References

8.2. Informative References โœจ

okay so the informative refs are basically my bestie list of everything this spec points at for extra context ๐Ÿ“š๐Ÿ’– none of these are required to implement it, but they're the receipts ๐Ÿ’…

[IANA-URI] IANA, "Uniform Resource Identifier (URI) Schemes", <http://www.iana.org/assignments/uri-schemes>.

[IANA-URN] IANA, "Uniform Resource Names (URN) Namespaces", <http://www.iana.org/assignments/urn-namespaces>.

[ISBN-namespace] Griffiths, S., "Namespace Registration for International Standard Book Number (ISBN) ISO 2108:2017", <https://www.iana.org/assignments/urn-formal/isbn>.

[ISO3166-1] ISO, "Codes for the representation of names of countries and their subdivisions -- Part 1: Country codes", ISO 3166-1:2013, November 2013, <https://www.iso.org/standard/63545.html>.

[ISO3166MA] ISO, "ISO 3166 Country Codes", <https://www.iso.org/iso/country_codes.htm>.

[ISSN-namespace] Bequet, G., "Namespace Registration for International Standard Serial Number (ISSN) and Linking ISSN (ISSN-L) based on ISO 3297:2007", June 2017, <https://www.iana.org/assignments/urn-formal/issn>.

[NBN-Resolving] Deutsche Nationalbibliothek, "URN:NBN Resolver fuer Deutschland und Schweiz: Information ueber Partner Institutionen", <https://nbn-resolving.org/institutions>.

[PERSID] PersID initiative, 2009-2011, "persid: Building a persistent identifier infrastructure", <http://www.persid.org>.

[RFC2046] Freed, N. and N. Borenstein, "Multipurpose Internet Mail Extensions (MIME) Part Two: Media Types", RFC 2046, DOI 10.17487/RFC2046, November 1996, <https://www.rfc-editor.org/info/rfc2046>.

[RFC2141] Moats, R., "URN Syntax", RFC 2141, DOI 10.17487/RFC2141, May 1997, <https://www.rfc-editor.org/info/rfc2141>.

[RFC2288] Lynch, C., Preston, C., and R. Daniel, "Using Existing Bibliographic Identifiers as Uniform Resource Names", RFC 2288, DOI 10.17487/RFC2288, February 1998, <https://www.rfc-editor.org/info/rfc2288>.

[RFC2611] Daigle, L., van Gulik, D., Iannella, R., and P. Faltstrom, "URN Namespace Definition Mechanisms", BCP 33, RFC 2611, DOI 10.17487/RFC2611, June 1999, <https://www.rfc-editor.org/info/rfc2611>.

[RFC3044] Rozenfeld, S., "Using The ISSN (International Serial Standard Number) as URN (Uniform Resource Names) within an ISSN-URN Namespace", RFC 3044, DOI 10.17487/RFC3044, January 2001, <https://www.rfc-editor.org/info/rfc3044>.

[RFC3187] Hakala, J. and H. Walravens, "Using International Standard Book Numbers as Uniform Resource Names", RFC 3187, DOI 10.17487/RFC3187, October 2001, <https://www.rfc-editor.org/info/rfc3187>.

[RFC3188] Hakala, J., "Using National Bibliography Numbers as Uniform Resource Names", RFC 3188, DOI 10.17487/RFC3188, October 2001, <https://www.rfc-editor.org/info/rfc3188>.

[RFC3406] Daigle, L., van Gulik, D., Iannella, R., and P. Faltstrom, "Uniform Resource Names (URN) Namespace Definition Mechanisms", RFC 3406, DOI 10.17487/RFC3406, October 2002, <https://www.rfc-editor.org/info/rfc3406>.

[RFC6234] Eastlake 3rd, D. and T. Hansen, "US Secure Hash Algorithms (SHA and SHA-based HMAC and HKDF)", RFC 6234, DOI 10.17487/RFC6234, May 2011, <https://www.rfc-editor.org/info/rfc6234>.

[RFC8254] Klensin, J. and J. Hakala, "Uniform Resource Name (URN) Namespace Registration Transition", RFC 8254, DOI 10.17487/RFC8254, October 2017, <https://www.rfc-editor.org/info/rfc8254>.


Appendix A. Significant Changes from RFC 3188 ๐ŸŽ€

this is the glow-up log ๐Ÿฆ‹ so many clarifications after a whole decade of people using RFC 3188 in the wild ๐Ÿ˜ญ

Numerous clarifications have been made based on a decade of experience with RFC 3188.

NBNs that are not based on ISO 3166 (country codes) have been removed due to lack of usage. bye bye, nobody was using them ๐Ÿ’€

In accordance with established practice, the whole NBN prefix is now declared case insensitive. ๐Ÿ”คโœจ

The document is based on the new URN syntax specification, RFC 8141. ๐Ÿ’œ

Use of query components and fragment components with this namespace is now specified in accordance with RFC 8141. ๐Ÿ“


Acknowledgements ๐Ÿซถ

the revision of RFC 3188 actually started during the PersID project ๐Ÿงš then it got added to the URNbis Working Group charter and was worked on alongside what became RFCs 8141 and 8254. the author thanks his PersID colleagues and the URNbis participants for the support and review comments, iconic teamwork ๐Ÿ‘‘

Tommi Jauhiainen gave feedback on an early draft ๐ŸŒธ and the author thanks Tommi Jauhiainen, Bengt Neiss, and Lars Svensson for their comments on various draft versions ๐Ÿ’œ

John Klensin gave significant editorial and advisory support for the later draft versions ๐Ÿ™Œ he really carried the editing era ๐Ÿ”ฅ


Contributors ๐ŸŒˆ

this doc literally would not exist without Alfred Hoenes ๐Ÿ’– he contributed to it and deserves all the flowers ๐ŸŒท


Author's Address ๐Ÿงš

Juha Hakala The National Library of Finland P.O. Box 26 FIN-00014 Helsinki University Finland

Email: juha.hakala@helsinki.fi

and that's the whole spec, bestie ๐ŸŒˆ๐Ÿ’…โœจ

๐Ÿ“ฆ where this page comes from