Every New Testament occurrence Every Old Testament occurrence

King James Version

How It Was Built

The connection files cover the 66-book Protestant canon. The inventories are parsed, typed, and written out when the site is built. This page is the public account of that pipeline. How This List Was Built is the quotation method note, and Messianic Prophecies Jesus Fulfilled is the Edersheim comparison.

Sources and Licenses

Classifications are by apologetics.wiki. Apocrypha and Non-Canonical references were dropped.

Downloads

The files are published so someone else can rebuild a view. The license note is LICENSE.txt. The schema is connections.schema.json (version 1).

  • quotations.csv — public domain. A row that records an OpenBible.info vote still says CC BY 4.0 in the license column.
  • messianic.csv — public domain.
  • crossrefs-filtered.csv — CC BY 4.0, with the OpenBible.info attribution in the license note.
  • arcs.json — CC BY 4.0. Chapter arcs derived from the cross-reference file. The same attribution applies.
  • books.json — one summary for each of the 66 books. See Also weights count rows from the CC BY 4.0 file, so cite OpenBible.info for those counts.

Parsing

The loader reads the three committed CSV files. It does not download OpenBible.info, the Treasury of Scripture Knowledge, or the American Standard Version again. A reference has to resolve to a verse in the King James file. A book that is not one of the 66 is dropped, which is how Apocrypha references leave the set.

Footnote F and FF

A footnote “ff” is stored as the first verse only, and “f” as two verses. A range is capped at ten verses. Those rules are already applied in the stored quotation rows. The loader does not expand “f” or “ff”, and it does not apply the ten-verse cap again. A range link opens the first verse.

King James Wording

The quotation columns method and shared_kjv_words record the wording check. The loader does not compare the King James text again. It only requires that the verse exist.

The Edersheim Parse

Edersheim’s Appendix IX says ancient rabbinic writings apply upwards of 456 Old Testament passages to the Messiah: 75 in the Pentateuch, 243 in the Prophets, and 138 in the Hagiographa, with more than 558 rabbinic references. A parse of that appendix for this site found 432 canonical references. The difference comes from ranges, whole chapters, and the parser. The verse file keeps lines that resolve to one King James verse. That file has 384 rows: 323 parsed from Appendix IX, and 61 in the curated core list. Of the tagged rows, 305 are headwords, 40 are a verse in context, and 3 are mentioned. Isaiah 7:14 is not in his list. The curated list has 49 rows the New Testament cites explicitly, 2 types Jesus applies, 9 allusions only, and 1 row (Psalm 22:16) with no explicit New Testament citation.

Filtering

The cross-reference file is Old Testament to New Testament only, inside the 66 books, with OpenBible.info votes of at least 20. That floor is a property of the committed file: the lowest vote in it is 20 and the highest is 1,154. The loader does not apply a second vote floor. An allusion row in the quotation file can carry a lower vote. Those rows stay.

Dedupe and Typing

A pair is the two verses, sorted, so the Old Testament side and the New Testament side are one draft.

  • A quotation row whose type is allusion is alludes. Every other quotation row is quotes.
  • A messianic row is kept when its method starts with “curated”, or when nt_applies_to_jesus starts with “yes” or “allusion”. “yes” is fulfilled. “allusion” is alludes.
  • A cross-reference row is see-also.

Rank is fulfilled, then quotes, then alludes, then see-also. A higher rank replaces a lower one and keeps a formula, theme, or source the new row lacks. The same rank merges those fields and keeps the higher vote. A lower rank can fill a missing formula and does not replace the group. See Also is capped at eight links on a verse, highest vote first. A messianic row with “no explicit NT citation” writes a theme note. An Edersheim row with no New Testament references writes “Read messianically in ancient rabbinic writings (Edersheim, Appendix IX).”

The Per-Chapter Payload

Opening a chapter loads books/{slug}/{chapter}.json. The document is v 1 and pairs. Each pair is [otherChapterIndex, thisVerse, otherVerse, groupCode]. The index is the position in chapter-index.json: 0 is Genesis 1 and 1,188 is Revelation 22. Group codes are 1 quotes, 2 fulfilled, 3 alludes, and 4 see-also. The same row is stored on the Old Testament chapter and on the New Testament chapter. The schema for that payload, and for a verse connection record, is connections.schema.json.

{
  "v": 1,
  "pairs": [[40, 1, 23, 1]]
}

The Arc Rollup

An arc is [fromChapterIndex, toChapterIndex, weight]. from is less than to. The weight is the number of verse-level pairs rolled into that chapter pair. arcs.json is the committed Old Testament to New Testament rollup: 3,412 arcs. The build copies that file. It does not regenerate it.

The map does not draw that file by default. It loads three other committed arc files:

  • arcs-all-books.json — 11,228 arcs, votes of at least 20, the whole canon. This is the Rainbow default.
  • arcs-quotes.json — 316 arcs from the quotation rows.
  • arcs-messianic.json — 89 messianic arcs.

The quotation file itself has 514 rows: 233 with an explicit formula, 210 direct, and 71 allusions. The messianic file has 384 rows.

How the Files Are Served

Map JSON is static under /assets/bible/connections/. That path bypasses the Worker’s first look at HTML navigations, so the asset binding serves the file. The edge cache is the cache of those static files. The map does not go through the verse cache.

A verse page is rendered by the Worker from one chapter file. When the verse has links, the verse JSON includes connections. That response is stored in the edge cache under a key that includes the build id, and the browser cache is public, max-age=300. The Worker does not import the connection CSV files.

The read tools get_connections_by_book, get_connection_graph, get_messianic_prophecies, and get_connection_stats each read one prebuilt summary. They need no account. They use the same anonymous read limit as the other free tools: 60 per minute per IP. Connect to MCP shows example calls.

How the Map Renders

The browser draws the arcs on a canvas. Bar height is the chapter’s verse count. Shorter arcs stay low. The longest arc rises about half the width of the map. Zoom and pan stay on that canvas. Pick a Book loads books/{slug}.json. Opening a chapter loads that chapter’s pair file. Circle, Book Grid, and Flow read views/links.json. Prophecy Timeline reads views/prophecy.json and uses a year only when that book’s page states an explicit range. The drawing is rebuilt from the cross-references on this site. Chris Harrison’s BibleViz graphic uses a dataset of 63,779 references by Christoph Römhild. This site did not use his image or that data.

How to Rebuild the Files

The CSV inventories and arcs.json are the committed sources. npm run build copies them, writes a summary for each of the 66 books, writes the graph, messianic, and stats files, and writes the downloads under /data/connections/. There is no separate download step in that command.

Expected file counts: 514 quotation rows, 384 messianic rows, 4,225 cross-reference rows, 3,412 arcs in arcs.json, 11,228 arcs in the whole-canon file, 316 quotation arcs, 89 messianic arcs, and 1,189 chapters.

How the Old Testament and New Testament connection files were parsed, filtered, and published. Downloads are quotations.csv, messianic.csv, crossrefs-filtered.csv, arcs.json, and books.json. OpenBible.info cross-references are CC BY 4.0.

The King James Version (1769) is in the public domain in the United States.