The Firmament

A knowledge graph of the Bible with the source of every connection recorded

The Firmament is the Anselm Project's map of Scripture: 224,682 nodes joined by 1,953,310 relationships. This page is its specification, what a node means, what a link means, which connections are deterministic, which are imported, which are AI-inferred, and what each class rests on.

IThe Shape

A node is an entity, and a link is evidence.

The graph is two database tables and an alias index. A node is one canonical entity (a verse, a person, a place, an episode, a theme, an object, a Hebrew or Greek lemma) with a stable identifier like verse:genesis:1:1 or person:god, one of 24 node types currently in the public graph. The alias index maps the names authors actually write to those canonical entities, so "the LORD," "YHWH," and "Yahweh" resolve to one node instead of three.

A link (an edge) carries the substance. Every edge carries a relationship type (545 in public use, appears_in, quotes, thematic_parallel, and so on), a provenance label, a source reference, a citation handle saying exactly which process created it and from what, a stored evidence excerpt, and a confidence score. Edge identity is unique on the combination of source, target, type, and source reference: the same two entities connected by two different pieces of evidence are two edges. Evidence records are kept separate rather than merged.

Two entities joined by two different pieces of evidence are two links.
IIProvenance

Every link belongs to one of five classes.

Every edge is labeled with one of five provenance values. In the map itself you can filter by them, the "Evidence source" control. Two classes are deterministic, one is gated AI, one is hand-authored, and one is private curation that does not appear in the public graph.

1
Structural deterministic · 152,084 links
The corpus skeleton: book contains pericope, pericope contains verse, domain contains book. Produced by code walking the canon, with no model involved.
2
Reference deterministic + imported · 926,308 links
Evidence-keyed indexing. Most of it is registries matching the translation's own text, the stored excerpt on such an edge is the exact verse text that triggered it. The imported scholarly layers live here too: per-word Hebrew and Greek morphology from the same sources as the translation, Strong's numbering, and the gazetteer behind the atlas. Deterministic given its source data.
3
Inference AI-proposed, gate-checked · 874,918 links
Connections proposed by a model and admitted only through the gates in the next section, quoted evidence, a confidence floor, a fixed relationship vocabulary. Shown in the map's filter as "Anselm," because these are the connections Anselm proposes rather than records.
4
Wikilink hand-authored
Explicit links written by a person inside a note or report, the way a wiki is written. A wikilink inherits the visibility of the document it was written in, so most live in private research layers.
5
Manual private curation
A curation layer maintained by hand. Manual edges are always private; they never appear in the public graph or in the counts on this page.
IIIThe Gates

A model may only claim what passes six gates.

The inference class has the most checks. A model proposing a connection must satisfy every gate below, and a proposal that fails any one of them is rejected before it enters the graph.

1
No invented targets
The model chooses from a supplied list of candidate entities. It cannot create a new person, place, or theme.
2
A fixed vocabulary
The relationship must come from a twelve-item allowlist, discusses, develops, interprets, parallels, contrasts, foreshadows, fulfills, supports, challenges, defines, occurs_at, involves.
3
Evidence must be a quotation
The claimed evidence has to be a literal substring of the source passage, at least eight characters of it, verified by code. A paraphrase is rejected.
4
A confidence floor
Proposals below 0.72 confidence are discarded. The surviving score is stored on the edge, visible to everyone.
5
A recorded rationale
Every accepted connection carries the model's stated reason, kept with the edge.
6
A named author
The model, pipeline version, and a digest of the exact input are recorded in the edge's metadata.
IVLimits

The labels are imperfect in known ways.

The domain counts on a selected light count directly indexed records, excluding category headings. They are not totals of biblical encounters, and coverage varies across books and kinds of relationships. In any domain, choose Through evidence to explore records joined by a verse, episode, speech, or another concrete source. Both links remain inspectable; sharing a source does not establish a personal interaction. Retrieval limits are identified when reached.

The Father landmark opens the shared God record, which includes passages naming God or the LORD. The wording of an individual passage governs its evidence; the landmark does not identify every divine appearance in Scripture specifically as the Father.

There are three edge cases in the labels. First, a large share of the cross-reference parallels (quotation, verbal, and thematic links across the canon) were originally generated by the translation committee's model (grok-4.3) during the v3 run, then deterministically validated against the canon inventory and imported. They carry the "reference" label because the import path is deterministic, but their origin is AI. The raw generation records for that stage are public in the audit trail on Hugging Face, so that origin can be checked.

Second: the inference class currently mixes true model output with locally authored pattern ontologies that made no model call. The discriminator is the source reference prefix (ai: for model-proposed edges, codex: for authored patterns) which is served on every edge.

Third, on human approval: there is no per-edge human sign-off at this scale. This is a solo project. Human review exists as targeted layers instead: reviewed interpretive ledgers for ambiguous cases, and every entity prose page passes a two-model gate, one model writes, a different model verifies against the evidence, and every reference the page cites must be on a server-side allowlist built for that entity. Pages that fail are held back.

VInspection

Any link can be checked without an account.

Open the Firmament, select any connection, and the evidence inspector shows its provenance label, its source reference, its confidence, and the full stored evidence excerpt, to anonymous visitors, with no account. The counts on this page are the public graph only: private research layers are excluded, and a link is counted only when both of its endpoints are public.

The map is open to everyone.

Every connection in the Firmament carries its provenance, its evidence, and its confidence, and all of it is public.