Research note · 28 August 2026
An open ontology for biodiversity registers, tested against the Biodiversity Heritage Library, ZooBank, and the Natural History Museum Data Portal
Biodiversity informatics is entering its extraction era. Programmes on both sides of the Atlantic are turning tens of millions of pages of natural history literature into machine-readable knowledge, and every one of those pipelines ends the same way: an extracted name, linked to a register, under a licence. We measured that last mile. This note reports a census of the identifier and rights layer beneath biodiversity AI, run on 28 August 2026 against complete harvests of the Biodiversity Heritage Library bulk export, the Natural History Museum Data Portal, and ZooBank with its public mirrors, with WoRMS and IPNI as controls. Everything ships as an open OWL 2, SKOS and SHACL ontology with every headline number computed two ways, in the same programme as our earlier bank, insurance, scholarly-record and learning-standards register studies.
The repository, including the full build report with every caveat and everything we could not obtain, is public: github.com/fabio-rovai/biodiversity-register-ontology .
Finding one: the register of record for animal names has no working machine interface
Since the 2012 amendment to the International Code of Zoological Nomenclature, a new animal name published electronically must be registered in ZooBank to be available at all. ZooBank is therefore not a convenience database; it is the register of record. On 28 August 2026, at two observation times, every route on zoobank.org except the homepage returned HTTP 404. That includes the About and Api pages linked from its own navigation, the documented JSON API, the LSID URN form that decades of taxonomic papers embed, and all 50 canonical act URLs we sampled from the register content itself. Those are the exact URLs that GBIF's copy of the register publishes in its references field, so this is the register failing its own published pointers, not our guess at a URL scheme.
The machine-readable supply chain behind it is in no better state. The register's declared publication endpoint, an IPT instance at the Bishop Museum, returns 404. GBIF's crawl of 23 August 2026 ended in ABORT, and the freshest copy GBIF holds dates from 28 March 2025, 518 days before our census. ChecklistBank's copy dates from 9 January 2023, 1,327 days stale, and the two mirrors disagree with each other by 79,420 records. The mirror content also contains 50 identifiers that do not match the register's own UUID pattern. The operational consequence is concrete: any entity-normalisation pipeline built today, including the LLM-extraction platforms now being commissioned over the BHL corpus, cannot link to any zoological name registered in the last seventeen months, and most will silently pin to a mirror without recording which snapshot they pinned to.
Fairness requires the controls and the caveat. The World Register of Marine Species resolved 10 of 10 sampled records the same day, and IPNI, the botanical names index at Kew, resolved 5 of 5, so this is a register-specific failure, not a property of biodiversity infrastructure. And our resolution observations are two timestamps on one day: if zoobank.org recovers tomorrow, the resolution finding shrinks to an outage report, while the mirror staleness, the aborted crawls and the dead publication endpoint survive any recovery. We found no announcement of the outage anywhere, and we looked.
Finding two: 86.0 per cent of the world's largest biodiversity library carries no machine-actionable licence
The Biodiversity Heritage Library is the corpus underneath most biodiversity text mining, and its bulk export is admirably open and complete. In the export stamped 1 August 2026, 283,090 of 329,129 distinct digitised items, 86.0 per cent, carry no machine-actionable licence. 283,006 have a blank LicenseType field, and 84 carry a Creative Commons IRI with an invisible Unicode character appended, U+FFA0, halfwidth hangul filler, which defeats exact matching against any licence registry while looking identical to a human. A further 108,509 items, 33.0 per cent, carry the copyright status "Not provided. Contact Holding Institution to verify copyright status." The status field itself is uncontrolled prose: the same legal position appears as NOT_IN_COPYRIGHT, NOT IN COPYRIGHT, and several punctuation and whitespace variants of the same sentence, and where a licence IRI exists it appears in http, https, and trailing-slash variants of the same licence.
The consequence lands on anyone trying to license content or train models at corpus scale. A platform that needs to answer "which of these 329,129 items may I redistribute, and under what terms" can answer it mechanically for roughly one item in seven. For the rest the answer is a phone call to a holding institution. The table answering it is not even keyed cleanly: 9,118 ItemIDs recur with a different parent title per row, a collision our verification gate caught when its two independent computations refused to reconcile. Rights readiness, not OCR quality, is the binding constraint on making this corpus a commercial or AI-training data product.
Finding three: identifier hygiene, including a DOI called Array
The export's DOI table holds 306,173 assignments. Thirteen values are not DOIs at all: ten titles carry the literal string Array, the fingerprint of a serialisation bug that wrote a programming-language artefact into a register field, one carries a volume designation, and two carry the https://doi.org/ resolver prefix, which the DOI display guidelines define as a display form rather than the identifier. 171 DOI values are asserted for more than one entity, six of them for both a title and an article, so the identifier cannot resolve to its referent. Among title-level identifiers, 912 of 5,607 ISBNs fail validation, 896 of them through MARC-style qualifier contamination such as 0804700036 (v. 1), eight through genuine checksum failure; 6 of 2,814 ISSNs fail; and 2,652 of 170,766 OCLC numbers are malformed, dominated by a pattern consistent with a control number concatenated with a six-digit date.
Fairness again, and prominently: BHL's own DOI minting practice is clean. Forty of forty sampled DOIs under its 10.5962 prefix are registered at doi.org, as are 24 of 25 sampled externally minted DOIs. Every defect above lives in the metadata export layer, where a per-scheme validation pass at deposit time, the kind of pipeline this study ships, would have caught each class.
Finding four: the NHM Data Portal is best in class on identifiers and thin on product metadata
The Natural History Museum's portal is the strongest catalogue we have measured in this programme on the axis most catalogues fail. Every one of its 294 public datasets carries a DOI, and 25 of 25 sampled resolve. For comparison, across the eleven Nordic national catalogues we measured in our health-data study, identifier coverage was 62.65 per cent. Descriptions are present on all 294 datasets. That deserves saying first, because the museum built the hard part.
The gap is in the fields a licensing platform or data marketplace reads. Eight of 294 datasets simultaneously carry a licence URL, a DOI, a contact email, a description of at least 100 characters, and a declared update frequency, the minimal bundle a data-product listing needs. 108 datasets have no licence URL and 51 no usable licence statement at all. The licence field mixes CKAN identifiers, SPDX-style identifiers and free text for the same licences, eighteen distinct values in total. Author email is empty on every dataset, update frequency is missing on 207, and spatial coverage is present on exactly one dataset in a collection whose specimens span the planet. At the file level, of 1,293 resources, 243 lack a format, 634 lack a size and 460 lack a description. None of this is hard to fix, which is the point: it is a bounded, enumerable backlog, and this census is the backlog list.
The model: registers make claims, and claims have dates
The ontology is deliberately small and reuses the design that has now survived six register domains: status and identity are never properties of a thing, they are dated claims by a named register. An IdentifierAssertion records which register published which identifier for which resource, with conformance judged against the scheme's own declared rules. A RightsAssertion retains the verbatim rights string, because normalising NOT_IN_COPYRIGHT into a tidy code destroys the evidence of vocabulary drift. A ResolutionObservation records what happened when a canonical URL was dereferenced, with a date, so today's 404 and next month's recovery can coexist as facts. A RegisterSnapshot records how stale each mirror is, which for ZooBank is currently the whole story. The scheme registry is SKOS data, not code: each identifier scheme declares its syntax pattern, checksum algorithm and resolution template, and the pipeline validates every identifier against its declared scheme.
Verification is the same discipline as the rest of the programme. Every headline number is computed twice, set-based in Python over the raw exports and via SPARQL over the emitted graph, by a gate that exits non-zero on any disagreement. SHACL runs in three layers with one shape per defect class, so the validation report enumerates the findings. Our own open-ontologies engine validates and lints every artefact as a third path. The build report states the sampling seeds, the caching, the partitioning, and everything we could not obtain, including the two Wayback timeouts that left the start date of the ZooBank outage unknown.
Prior art, credited by name
TDWG's standards family, Darwin Core and Latimer Core above all, defines what biodiversity data should say. The NOMEN ontology models nomenclatural acts formally. OpenBiodiv, by Viktor Senderov and Lyubomir Penev, built a knowledge graph over biodiversity literature, and Plazi extracts taxonomic treatments at scale. GBIF, ChecklistBank and the Catalogue of Life operate the aggregation layer this study reads, and the Biodiversity Heritage Library's open bulk export is what made the census possible at all. None of that work measures whether the registers' published identifiers conform to their own schemes, resolve, or agree across mirrors, and that assurance layer is the only claim this study makes for itself.
The transferable method, and a bounded offer
The method transfers to any register-shaped system: verify the sources by hand, harvest completely or state the sample, declare each identifier scheme's rules as data, reify claims instead of overwriting them, dereference a seeded sample with dates, and compute every number twice. We have now run it on fund data, insurance, banking, the scholarly record, learning standards, health-data catalogues and biodiversity, and the defect classes repeat across domains with remarkable regularity.
If you run a collections catalogue, a nomenclature register, or an extraction pipeline that has to trust one of these, the first measurement pass on one register is free: write to fabio@thetesseractacademy.com with a pointer to the catalogue or register, and you will get back the conformance, resolution and rights-readiness table for it, in the open format this repository defines.
Built and published 28 August 2026. All numbers are reproducible from the public repository; the build report records every caveat, every seed, and everything that could not be obtained. Corrections, when needed, are stated on this page rather than applied silently.
