Skip to content

Related identifier systems

Use TextRefs for canonical references inside a work — Stephanus 514a, Bekker 983b10, ST I-II.94.2 — and use existing identifier systems for the editions, files, authority records, catalogues, and platforms that carry those references. The difference matters: you can cite Plato’s Republic 514a across a dozen editions and centuries without naming any specific edition, while a DOI identifies one published object at a time.

So the relationship is almost always: TextRefs holds the canonical reference, and the system in the table below is one of its mappings.

For the practical modelling distinction between external identifiers and reading URLs, see Mappings and resolver targets.

SystemIdentifiesGranularityTextRefs relationship
DOIa published digital object (article, edition, dataset)publicationTextRefs records carry DOI mappings for editions hosting the cited passage
Handleany digital object with a Handle.net recordobjectunderlying tech for DOI; same mapping pattern as DOI
ARKany object an institution chooses to persistobjectsimilar role to Handle; same mapping pattern
PURLa redirecting persistent URLURL onlyTextRefs IDs are themselves HTTP URIs that redirect; PURLs can target a TextRefs ID
CTS URNa passage in a canonical work, Perseus/Homer-Multitext modelpassagestrongest semantic overlap; TextRefs records CTS URNs as mappings so CTS-aware tools can interoperate
DTS APIa discovery/retrieval API for texts using CTS-style URNsservicedownstream consumer — DTS implementations can resolve TextRefs IDs via mappings
Wikidata QIDan abstract entity (work, person, event)work / entityWork records map to Wikidata QIDs; TextRefs IDs handle the references inside those works
VIAFauthor and work authority recordswork / personmapping target for Work records; TextRefs IDs provide passage-level identity
TEI xml:ida local anchor inside a TEI documentedition-localedition-internal; TextRefs MappingAssertions can point at a specific TEI anchor in a published edition
Perseus / Scaife URLsa passage on a specific reading platformplatform-bound passagesurface as resolver_targets entries with provenance so readers can jump from a stable reference to a useful platform
  • Use DOIs for publications. A DOI is the right identifier for a published edition, article, dataset, or digital object.
  • Use TextRefs for cited passages. Plato’s Republic 514a is a canonical reference. The Loeb edition that contains it can have a DOI; the passage gets a TextRefs ID that can map to that DOI-backed edition.
  • Layer identifiers instead of replacing them. Scholarly tools already understand DOIs for editions. Adding TextRefs IDs for canonical references gives those tools passage-level precision without changing their publication-level identifiers.
  • Keep the model affordable. Canonical-reference coverage grows into the millions. A lightweight open registry is the practical way to curate that graph at non-profit scale.
  • Treat TextRefs IDs as the primary identifier for a canonical reference.
  • Read external identifiers and resolver targets from the mappings array — they are enriched metadata, not the citation’s identity.
  • Fall back to your own resolver chain: if no mapping exists for the user’s preferred edition, link to a default mapping or to the TextRefs landing page.
  • When you publish your own data, attach a TextRefs ID alongside whatever you already issue. This is how the citation graph grows without anyone changing primary keys.