Open Publication URNs v0.1.0

Source: publication-urns/index.md

Open Publication URNs v0.1.0

Status

Draft

Overview

Open Publication URNs v0.1.0 defines the urn:pub: identifier scheme for published document families and immutable published document versions.

The goal of this specification is to provide a stable, machine-readable identifier model that agents can use across publication hosts, listings, manifests, and retrieved documents.

This version specifies:

This version does not specify:

Terminology

The key words "MUST", "MUST NOT", "SHOULD", "SHOULD NOT", and "MAY" in this document are to be interpreted as described in BCP 14 when, and only when, they appear in all capitals.

Concepts

Published Document

A published document is a human-readable artifact that has been assigned a stable publication identity.

Examples include:

Namespace

A namespace is the publisher-scoped grouping key for a family of published documents.

Examples include:

This version treats the namespace as an opaque string.

Name

A published document family has a stable human-readable name such as task-model or pdd-gorilla-inspired.

name identifies the family within its namespace.

Version

A published document version is identified by a version string such as:

This version permits semver-style versions and date-style versions.

This specification treats version as an opaque string.

Family URN

A published document family is identified by a stable family URN:

Example:

Version URN

A published document version is identified by an immutable version URN:

Example:

Syntax

This version defines the urn:pub: scheme structurally as:

This version does not impose a character-level grammar beyond the requirement that namespace, name, and version be represented without ambiguity by the publishing system that issues them.

Future versions SHOULD define tighter character and escaping rules.

Identity Rules

Derived Relationships

Given a version URN:

the corresponding family URN is:

Given a family URN:

zero or more version URNs MAY exist beneath that family.

Resolution Model

This specification defines identity only. It does not define URL resolution.

Other protocols MAY define how a publication host maps:

References

Example

Document family:

Published versions:

Versioned note family:

Published versions:

Open Questions