Morphological Distribution — How a Root's Forms Spread Across Books¶
For any Hebrew or Greek root, morph_chart shows how its grammatical forms distribute across books of the Bible. This complements a simple concordance by revealing:
- Where the word concentrates (which books, which genres)
- In what form it appears (stems, conjugations, tenses, voices, cases)
- How form usage varies by book — a root used primarily in the Piel in one book may appear mainly in the Qal elsewhere
This is especially significant for theologically loaded roots like בָּרָא (create), which appears exclusively in Qal and Niphal — never in the causative Hiphil — suggesting the text resists placing humans as the subject of creative causation.
import sys
sys.path.insert(0, '../../../src')
import pandas as pd
from IPython.display import Image
from bible_grammar.morph_chart import morph_distribution, morph_chart, print_morph_distribution
1. Hebrew Verb: דָּבַר (H1696, speak)¶
The root D-B-R (speak/word) is one of the most theologically significant verbs in the OT — the word of YHWH creates, commands, and judges. The Piel stem (דִּבֵּר) dominates because it is the standard form for reported speech. The Qal survives mainly in nouns (דָּבָר, word/thing) rather than as a verbal conjugation.
Expected distribution: Piel-heavy, concentrated in Torah and Prophets where YHWH speaks commands and oracles.
dist = morph_distribution('H1696')
print(f"Root: {dist['strongs']} | Lemma: {dist['lemma']} | Gloss: {dist['gloss']}")
print(f"POS: {dist['pos']} | Dimensions: {dist['dim1']} x {dist['dim2']}")
print(f"Books with data: {len(dist['pivot'])}")
dist['pivot'].head(10)
morph_chart('H1696', output_path='output/charts/ot/morphology/h1696-dabar-stems.png')
path = 'output/charts/ot/morphology/h1696-dabar-stems.png'
Image(str(path))
2. Hebrew Verb: אָמַר (H0559, say)¶
אָמַר is the most common verb of speech in the OT — far more frequent than דָּבַר. While דָּבַר concentrates in the Piel with performative/authoritative speech, אָמַר is overwhelmingly Qal and is used for all types of quotation, direct speech, and general declaration. Comparing the two roots reveals how biblical narrative distinguishes ordinary reported speech from authoritative divine command.
morph_chart('H0559', output_path='output/charts/ot/morphology/h0559-amar-stems.png')
path = 'output/charts/ot/morphology/h0559-amar-stems.png'
Image(str(path))
3. Hebrew Verb: בָּרָא (H1254, create)¶
בָּרָא is theologically distinctive: it appears only in Qal and Niphal across the entire OT — never in the Piel (causative-intensive), never in the Hiphil (causative-active), and never with a human as the explicit subject creating something from existing material. This grammatical restriction is often cited as evidence that בָּרָא encodes divine creative activity ex nihilo or at minimum from a divine prerogative.
The Niphal occurrences ("were created") are concentrated in prophetic and psalmic texts.
dist = morph_distribution('H1254')
print(f"Root: {dist['strongs']} | Lemma: {dist['lemma']} | Gloss: {dist['gloss']}")
print(f"Stems present: {list(dist['pivot'].columns) if not dist['pivot'].empty else 'none'}")
dist['pivot']
morph_chart('H1254', output_path='output/charts/ot/morphology/h1254-bara-stems.png')
path = 'output/charts/ot/morphology/h1254-bara-stems.png'
Image(str(path))
4. Greek Verb: λέγω (G3004, say)¶
The Greek equivalent of אָמַר — the workhorse verb of quotation and speech. In the NT, λέγω appears in every tense and voice but is overwhelmingly Present and Aorist Active/Middle, reflecting its role as the standard speech-introduction formula. The tense×voice profile shows how different books use speech-framing differently.
dist = morph_distribution('G3004')
print(f"Root: {dist['strongs']} | Lemma: {dist['lemma']} | Gloss: {dist['gloss']}")
print(f"Books with data: {len(dist['pivot'])}")
dist['pivot'].head(10)
morph_chart('G3004', output_path='output/charts/nt/morphology/g3004-lego-tense-voice.png')
path = 'output/charts/nt/morphology/g3004-lego-tense-voice.png'
Image(str(path))
5. Greek Verb: πιστεύω (G4100, believe)¶
πιστεύω is a key theological verb — "to believe" or "to trust." In the NT it has a strong Pauline concentration reflecting the justification-by-faith argument, but John's Gospel also uses it extensively as a response to Jesus' signs. The tense×voice profile reveals how different authors frame the act of believing: aorist (punctiliar decisive commitment) vs. present (ongoing disposition).
morph_chart('G4100', output_path='output/charts/nt/morphology/g4100-pisteuo-tense-voice.png')
path = 'output/charts/nt/morphology/g4100-pisteuo-tense-voice.png'
Image(str(path))
6. Greek Noun: λόγος (G3056, word)¶
λόγος is perhaps the most theologically loaded noun in the NT — the Johannine Prologue uses it to describe the pre-existent divine Word (Jhn 1:1). Across the NT, its case distribution follows standard Greek patterns: Nominative (subject), Accusative (object), Genitive (possession/description), Dative (indirect object/means). The book-by-book case profile reveals concentrations: John's Gospel (Word-Christology), Pauline letters (word of the cross, word of faith), Revelation (word of God/testimony of Jesus).
dist = morph_distribution('G3056')
print(f"Root: {dist['strongs']} | Lemma: {dist['lemma']} | Gloss: {dist['gloss']}")
print(f"POS: {dist['pos']} | Dimension: {dist['dim1']}")
print(f"Cases present: {list(dist['pivot'].columns) if not dist['pivot'].empty else 'none'}")
dist['pivot']
morph_chart('G3056', output_path='output/charts/nt/morphology/g3056-logos-case.png')
path = 'output/charts/nt/morphology/g3056-logos-case.png'
Image(str(path))
print_morph_distribution('H1696')
8. Quick Reference¶
from bible_grammar.morph_chart import morph_distribution, morph_chart, print_morph_distribution
# Returns a dict with keys:
# strongs, lemma, gloss, is_hebrew, pos, dim1, dim2,
# pivot (DataFrame: books x morph categories, count),
# pivot_pct (same but normalized to 100% per book)
result = morph_distribution('H1696')
result = morph_distribution('G3056')
result = morph_distribution('H1254', min_book_count=1) # lower threshold for rare words
# Morphological dimensions by language and POS:
# Hebrew verb: stem x conjugation -> "Piel Perfect", "Qal Participle", etc.
# Greek verb: tense x voice -> "Aorist Active", "Present Middle", etc.
# Greek noun: case_ -> "Nominative", "Accusative", "Genitive", etc.
# Other: part_of_speech
# Save stacked bar chart to PNG (returns None; prints save path)
morph_chart('H1696') # auto-saves to /tmp/morph_chart.png
morph_chart('H1696', output_path='output/charts/ot/morphology/h1696.png')
morph_chart('G3004', output_path='output/charts/nt/morphology/g3004.png')
morph_chart('G3056', chart_type='heatmap') # heatmap alternative
morph_chart('H1696', pct=False) # raw counts instead of percentages
morph_chart('H1696', min_book_count=5) # only books with >= 5 tokens
# Formatted terminal table with counts and percentages
print_morph_distribution('H1696')
print_morph_distribution('G4100', min_book_count=5)