Divine Names & Christological Titles — Frequency Across the Biblical Corpus¶
The distribution of divine names and christological titles varies dramatically across books, genres, and corpora. In the OT, the Documentary Hypothesis famously identified "Elohist" vs. "Yahwist" source documents based on which divine name predominates (Genesis 1 uses Elohim; Genesis 2 uses YHWH). In the NT, the concentration of Christos in Paul versus Kyrios in the Gospels reflects different confessional emphases.
OT names tracked: YHWH (H3068), Elohim (H0430), Adonai (H0136), Yah (H3050), Shaddai (H7706), El (H0410)
NT titles tracked: Theos (G2316), Kyrios (G2962), Iesous (G2424), Christos (G5547), Pater (G3962), Pneuma (G4151)
import sys
sys.path.insert(0, '../../../src')
import pandas as pd
from IPython.display import Image
from bible_grammar.divine_names import (
divine_name_table,
divine_name_summary,
divine_name_by_section,
print_divine_names,
divine_names_chart,
divine_names_report,
OT_DIVINE_NAMES,
NT_DIVINE_NAMES,
)
1. OT Divine Names Overview¶
YHWH (the Tetragrammaton) dominates the OT numerically, but Elohim is the preferred name in certain textual traditions and books. The Psalms use both extensively, sometimes within the same psalm (compare Psa 14 and Psa 53 — nearly identical except one uses YHWH, the other Elohim).
print_divine_names('OT')
2. OT Distribution by Book¶
The by-book table shows where each divine name concentrates. Notable patterns:
- Genesis 1 is Elohim-dominant; Genesis 2 shifts to YHWH
- Psalms is the largest absolute user of YHWH
- Job uses El and Shaddai proportionally more than any other book (theophany vocabulary in the dialogue)
- Ezekiel is famous for the phrase "you will know that I am YHWH"
- Esther contains no divine name at all
ot_by_book = divine_name_table('OT')
print(f"OT books: {len(ot_by_book)}")
ot_by_book
3. OT Distribution by Canonical Section¶
Grouping by Torah / Historical / Wisdom / Prophets reveals genre-level patterns. Wisdom literature (Job, Psalms, Proverbs) uses El and Shaddai proportionally more; the Prophets concentrate heavily on YHWH as the divine speaker.
ot_by_section = divine_name_by_section('OT')
ot_by_section
4. OT Chart¶
Stacked bar chart showing divine name distribution across the top 20 OT books by total divine-name count:
path = divine_names_chart('OT', chart_type='stacked_bar')
print(f'Saved: {path}')
Image(str(path))
5. NT Divine Names Overview¶
In the Greek NT, Theos (God) and Kyrios (Lord) are the dominant terms, but the theological center has shifted: Iesous and Christos together represent a new christological focus absent from the OT. Paul uses Christos more frequently than any other NT author, while John's Gospel concentrates on Pater (Father) language.
Pneuma (Spirit) counts here include all uses of pneuma, not only theological references, so the absolute numbers include generic uses.
print_divine_names('NT')
6. NT Distribution by Book¶
Paul's letters are the largest single contributor to Christos and Kyrios counts. Acts functions as narrative bridge, with speech formulas driving Kyrios frequency. Revelation concentrates Theos and Kyrios in its liturgical doxologies.
nt_by_book = divine_name_table('NT')
print(f"NT books: {len(nt_by_book)}")
nt_by_book
7. NT Distribution by Section¶
Comparing Gospels & Acts / Pauline / General & Rev shows that:
- Pauline letters disproportionately use Christos
- Gospels & Acts have the largest raw count of Iesous (Jesus is present as a character)
- General letters and Revelation use Theos and Kyrios in doxological contexts
nt_by_section = divine_name_by_section('NT')
nt_by_section
8. NT Chart¶
Stacked bar chart of NT divine name / christological title distribution across the top 20 NT books:
path = divine_names_chart('NT', chart_type='stacked_bar')
print(f'Saved: {path}')
Image(str(path))
9. Full Report¶
Generate a comprehensive Markdown report covering OT, LXX, and NT divine names with charts and by-book tables:
report_path = divine_names_report()
print(f"Report saved: {report_path}")
10. Quick Reference¶
from bible_grammar.divine_names import (
divine_name_table,
divine_name_summary,
divine_name_by_section,
print_divine_names,
divine_names_chart,
divine_names_report,
OT_DIVINE_NAMES,
NT_DIVINE_NAMES,
)
# Name registries (dicts of Strong's -> metadata)
OT_DIVINE_NAMES # H3068G YHWH, H0430 Elohim, H0136 Adonai, H3050 Yah, H7706 Shaddai, H0410 El
NT_DIVINE_NAMES # G2316 Theos, G2962 Kyrios, G2424G Iesous, G5547 Christos, G3962 Pater, G4151 Pneuma
# Formatted terminal output
print_divine_names('OT') # overview + by-section table
print_divine_names('NT')
print_divine_names('LXX')
# DataFrame: one row per book, one column per divine name
divine_name_table('OT') # corpus='OT' | 'NT' | 'LXX'
divine_name_table('NT')
# Summary: one row per name with totals and top 3 books
divine_name_summary('OT')
divine_name_summary('NT')
# By canonical section (Torah/Historical/Wisdom/Prophets or Gospels/Pauline/General)
divine_name_by_section('OT')
divine_name_by_section('NT')
# Charts: returns path to saved PNG
divine_names_chart('OT', chart_type='stacked_bar') # top 20 books stacked bar
divine_names_chart('OT', chart_type='heatmap') # section heatmap
divine_names_chart('NT', output_path='output/charts/nt-names.png')
# Full Markdown report (OT + LXX + NT)
divine_names_report(output_dir='output/reports/both/names')
divine_names_report(corpora=['OT', 'NT']) # skip LXX