GxPlex

Conventions

An identifier here is a name for a value this record already holds. One rule mints it from a string the store states, and it says nothing about a document beyond what the field it came from says. 103 identifiers stand over 132 tracked entries, in 5 namespaces.

Every identifier the tracked entries carry, with its bindings, is on topics.

The rule

Decompose the string, drop combining marks, lowercase it, replace every run of characters outside a–z0–9 with a single hyphen, and trim hyphens from both ends. Join the namespace to the result with a full stop. That is the whole convention; it is one function, normalise() in src/lib/taxonomy.ts, and every identifier on this page comes through it.

The published grammar: ^(?:jurisdiction|authority|publisher|standards-body|topic)\.[a-z0-9]+(?:-[a-z0-9]+)*$

One worked example per namespace, taken from the store as the identifier the most rows carry. The examples move with the corpus; none is a fixture.
namespacesource string identifier
jurisdiction International jurisdiction.international
authority European Commission authority.european-commission
publisher health.ec.europa.eu publisher.health-ec-europa-eu
standards body ISO/IEC standards-body.iso-iec
topic artificial intelligence topic.artificial-intelligence

A value that normalises to the empty string is withheld and the build refuses. An identifier naming nothing would be read as a member by every later reader, and withholding is the floor this record keeps: fix the writer, select different evidence, or withhold.

What an identifier is not

4 fields, kept apart

Before this scheme, authority carried regulators, legislators, consensus-standards bodies and industry associations in one field, and the publishing origin was readable only by parsing a URL. Each is separate now, and each is absent where a row’s own data does not reach it.

fieldnamespace where the value comes from rowsidentifiers
jurisdiction jurisdiction the row's own closed enum value 132 of 132 10
authority authority the row's own string, normalised and never reconciled 132 of 132 31
publisher publisher the host of the URL the record answered at, falling back to the URL it asked for 132 of 132 31
standards body standards-body the authority of a row whose own class statement says consensus standard 28 of 132 7

The publisher identifier names an origin, not a body

This record can observe which origin answered a request. It cannot observe who published beyond the body a row already names, so the identifier is a host — publisher.health-ec-europa-eu — and never a body’s name on a fact about DNS. Of 132 rows, 68 carry a resolved URL and the origin is read from the address that answered; 64 carry none and the origin is read from the address that was asked, which is testimony rather than the record’s own URL. 0 of 132 declare an origin of their own.

That the two fields are distinct is measured, not asserted: 6 origins in this corpus serve more than one authority spelling, and 5 authority spellings are served from more than one origin.

The origins and authorities that cross
originauthority spellings it serves
csrc.nist.gov National Institute of Standards and Technology · US National Institute of Standards and Technology
ispe.org ISPE · International Society for Pharmaceutical Engineering
www.cencenelec.eu CEN/CENELEC · CEN/CENELEC JTC 21
www.ema.europa.eu European Medicines Agency · European Medicines Agency and Pharmaceutical Inspection Co-operation Scheme · International Council for Harmonisation · US Food and Drug Administration and European Medicines Agency
www.fda.gov International Council for Harmonisation · US Food and Drug Administration
www.iso.org ISO · ISO/IEC
authorityorigins it is served from
ASTM International store.astm.org · www.astm.org
International Council for Harmonisation ich.org · www.ema.europa.eu · www.fda.gov
US Food and Drug Administration www.ecfr.gov · www.fda.gov
US National Institute of Standards and Technology airc.nist.gov · csrc.nist.gov · nvlpubs.nist.gov · www.nist.gov
World Health Organization iris.who.int · www.who.int

The standards body, and the two ways it is absent

A row reaches a standards-body identifier when its own class statement says consensus standard — a publisher’s quoted words with a citation the row already carries. Everywhere else the field is absent, and the absence is not one fact.

staterows what it means
reached28 the row’s own class statement says consensus standard, or the row declares a body with its evidence
states another class19 a measurement. The publisher’s own words name a different class, so this row is not one
no class statement85 the absence of a measurement. No class statement has been read from this row, which is not the same as reading one and finding it says something else

The three close over 132 tracked entries and the page refuses to build if they do not. A partition with a hole in it is not a partition.

Folding, and the receipt that would show it

The one failure this scheme can have is two spellings becoming one name. Distinct source strings on the left, distinct identifiers on the right; equal on every line means the rule merged nothing, and the figures are re-derived on every build rather than recorded here once.

namespacedistinct strings distinct identifiers
jurisdiction 1010
authority 3131
publisher 3131
standards-body 77
topic 2424

Identifiers minted from more than one string: none.

Where vocabularies diverge, the values stay apart

Publishers do not share a vocabulary, and this record does not give them one. 3 identifiers in this corpus carry the word security in their key, and nothing merges them: topic.cybersecurity · topic.information-security · topic.security. The fragmentation is in two voices and the counts say which: 3 of the 3 carry a binding a publisher states in its own words with a citation, and 0 are minted only from this record’s own vocabulary, which carries none. A synonym table would have hidden the fragmentation; a single count would have hidden the split.

6 pairs of topic identifiers have one key contained in the other. The pairs are derived by rule and published for that reason: each one is a place where something could have been merged and was not.

The 6 pairs kept apart

The topic vocabulary

24 identifiers, minted from two fields in two different voices. Stated is a publisher’s own word with a citation, read from subject_as_stated. Recorded is this record’s own vocabulary with none, read from topics. The namespace is shared because they are not two vocabularies; the binding carries the voice, because that is where the difference lives.

88 bindings are in a publisher’s voice and 0 in this record’s. 66 of 132 rows carry at least one binding; 66 carry none, and that is a fact about those rows’ fields rather than about the documents behind them.

The order’s own example is topic.data-integrity: stated by a publisher on 5 rows and recorded here on 0. Each count below counts rows whose own field carries the string — never documents this record judges to be about a thing.

identifierstated recordedrows
topic.artificial-intelligence 13 0 13
topic.software 9 0 9
topic.medical-devices 7 0 7
topic.security 6 0 6
topic.computerised-systems 5 0 5
topic.data-integrity 5 0 5
topic.information-security 5 0 5
topic.manufacturing 5 0 5
topic.risk-management 4 0 4
topic.cybersecurity 3 0 3
topic.machine-learning 3 0 3
topic.quality-management 3 0 3
topic.trustworthiness 3 0 3
topic.validation 3 0 3
topic.clinical 2 0 2
topic.electronic-records 2 0 2
topic.electronic-signatures 2 0 2
topic.good-manufacturing-practice 2 0 2
topic.computer-software 1 0 1
topic.data-quality 1 0 1
topic.governance 1 0 1
topic.health-software 1 0 1
topic.in-vitro-diagnostic 1 0 1
topic.medical-device 1 0 1

The declaration channels

A row’s own field outranks anything derived from a neighbouring one, so three optional fields exist for what a derivation cannot reach. None is carried by any row today, and that zero is never-attempted: no row was offered one and declined it, and nothing failed — the channels are new.

fieldrows declaring it what it declares
publisher_origin 0 of 132 an origin that publishes the bytes where it is not the origin this record answered at
standards_body 0 of 132 a consensus-standards body, with the quote and citation the schema demands
topic_ids 0 of 132 a controlled identifier no string in the row would mint

Each carries its own evidence in the schema rather than by convention: standards_body is refused without a quote and a citation, publisher_origin without a citation, and topic_ids without an identifier this page’s grammar accepts. A label with no source is forbidden by its shape, so the shape is what refuses it.

The values themselves, one by one, are on Sources and Explore; the machine-readable surfaces are on Developers.

Last updated: