An identifier names one thing, and never a second
Answers Identity · Nomenclature
A row's identifier is its kind's prefix and an ordinal number, given once and never changed: the label may change, and the address with it, but the identifier does not. An identifier that is retired is written down in its kind with the date and the reason, is never given to another row, and leaves a gap that is a record rather than a slot. The build refuses a row that takes a retired identifier and a gap that no retirement explains.
What goes wrong without it
A knowledge graph that means to be cited has to keep faith with every reference ever made into it, and a reference is made to an identifier. The stewardship principles for data ask first of all for an identifier that is unique and persistent, and the web's own architecture note says the same of addresses: what changes is the name, never the thing named. A platform this model learned from renamed identifiers with migration scripts and paid for it in broken references. Here ten identifiers had already been retired with nothing written down, so a gap in a sequence could not be told from a slot waiting to be filled, which is how a retired identifier comes to mean a second thing.
What proves it — 1
Each is a gate the build runs: a check inside a ring, a whole ring, or an eval beside them. A build stops at the first that refuses.
- registry integritystable identifiers
Kind prefixes are unique, every row keeps the identity convention of its kind, and an identifier once retired is never reused: a kind writes each retirement down with its date and its reason, and every number below its highest is a row or a retirement.
Derived from — 2
- Wilkinson et al., Scientific Data 3, 160018, 2016The FAIR Guiding Principles for scientific data management and stewardship
- Berners-Lee, W3C, 1998Cool URIs don't change
Where this model stands
Ten identifiers across six kinds, retired between 21 and 26 September 2026, carry their tombstones: the date and the reason, in the kind that retired them.
A row's address is its label, so a rename moves the page and keeps the identifier, and the structured data names the identifier as the term's code so a reader can follow the thing across the move.
A retirement carries the label it had, so the address that label made is known: the graph lists it under `redirects` as gone, the site build writes a 410 for it into the host config and refuses a build where it is still a page, and FND-025 holds it apart from every live address.
A renamed row carries `was`, its former labels; each former address is listed under `redirects` as moved to the row's present address, written into the host config as a 301, and held apart from every live and every other former address by FND-025. No row has been renamed since addresses went public, so the list holds only the retired.
RUL-030