Greek NT Discourse Particles¶
Statistical analysis of the major Greek discourse particles across the GNT. Data: MACULA Greek Nestle1904.
Particles covered: καί, δέ, ὅτι, ἵνα, γάρ, οὖν, ἀλλά, μή, οὐ, εἰ
These particles are among the most frequent words in the GNT and critical for understanding discourse structure, argument flow, and clause relationships.
# @title Colab setup (runs only on Google Colab)
import sys
IN_COLAB = "google.colab" in sys.modules
if IN_COLAB:
import subprocess, os
# Clone the repo so all source and data paths work
if not os.path.isdir("/content/berean-bible-bots"):
subprocess.run(
["git", "clone", "--depth", "1",
"https://github.com/dnovick/berean-bible-bots.git",
"/content/berean-bible-bots"],
check=True,
)
os.chdir("/content/berean-bible-bots")
sys.path.insert(0, "/content/berean-bible-bots/src")
# Install Python dependencies
subprocess.run(
[sys.executable, "-m", "pip", "install", "-q", "-r",
"binder/requirements.txt"],
check=True,
)
# Download processed data files (~295 MB, one-time)
subprocess.run(["bash", "binder/postBuild"], check=True)
print("Colab environment ready.")
import sys
sys.path.insert(0, '../../../src')
from bible_grammar.nt.nt_discourse import (
print_nt_particle_overview,
print_nt_particle_frequency,
print_nt_particle_genre_profile,
print_nt_hina_profile,
print_nt_hoti_profile,
print_nt_kai_profile,
nt_particle_frequency,
nt_particle_by_book,
nt_particle_frequency_chart,
nt_particle_genre_heatmap,
nt_particle_book_chart,
nt_kai_profile,
nt_kai_by_book,
nt_kai_instances,
nt_kai_function_chart,
nt_kai_book_heatmap,
)
1. Overview¶
Greek discourse particles are uninflected function words that mark logical and rhetorical relationships between clauses:
| Particle | Function | BBG relevance |
|---|---|---|
| καί | coordination, additive, even | ch5/ch6 — most frequent word in NT |
| δέ | continuation, mild contrast | ch6 — the primary narrative connective |
| ὅτι | content clause, causal (because) | ch31 — ὅτι + indicative content clauses |
| ἵνα | purpose, content | ch31 — ἵνα + subjunctive |
| γάρ | explanation (for, because) | ch8 — epistolary argument structure |
| οὖν | inference, resumption (therefore) | ch8 — marks logical conclusion |
| ἀλλά | strong contrast (but) | ch8 — antithesis |
| μή / οὐ | negation | ch16 — μή with subjunctive/imperative; οὐ with indicative |
print_nt_particle_overview()
2. Particle Frequency — Whole GNT and by Book¶
καί is by far the most frequent particle and among the top 3 most frequent words in the entire NT. The dominance of δέ in narrative vs. γάρ / οὖν in epistolary writing is a key genre marker.
print_nt_particle_frequency() # whole GNT
# Compare narrative vs. epistolary
print_nt_particle_frequency('Act') # narrative — δέ dominant
print_nt_particle_frequency('Rom') # epistle — γάρ / οὖν prominent
from IPython.display import Image
path = nt_particle_frequency_chart()
print(f'Saved: {path}')
Image(str(path))
3. Distribution of δέ Across NT Books¶
δέ is the primary narrative connective in Greek. It appears at extremely high rates in the Gospels and Acts (narrative) but drops sharply in the Pauline epistles where γάρ and οὖν dominate.
from IPython.display import Image
path = nt_particle_book_chart('δέ')
print(f'Saved: {path}')
Image(str(path))
# γάρ across books — peaks in epistolary argument sections
from IPython.display import Image
path = nt_particle_book_chart('γάρ')
print(f'Saved: {path}')
Image(str(path))
4. Genre Comparison¶
Genre is the strongest determinant of particle usage:
- Gospels & Acts: heavy καί and δέ (paratactic narrative)
- Pauline epistles: γάρ and οὖν (logical argumentation)
- General epistles: mixed patterns depending on author style
print_nt_particle_genre_profile()
from IPython.display import Image
path = nt_particle_genre_heatmap()
print(f'Saved: {path}')
Image(str(path))
5. ἵνα Clause Function Classification¶
ἵνα + subjunctive is one of the most important constructions in NT Greek (BBG ch31). The same form can express:
- Purpose: in order that (most common)
- Content: what is desired/commanded
- Result: so that (ecbatic ἵνα)
- Epexegetic: explaining a noun or adjective
Note: Classification uses a heuristic based on governing verb semantics.
print_nt_hina_profile() # whole GNT
print_nt_hina_profile('Jhn') # John — ἵνα used heavily, including content clauses
print_nt_hina_profile('1Co') # Paul — mix of purpose and content ἵνα
6. ὅτι Function Classification¶
ὅτι is the most versatile connective particle in the GNT:
- Recitative (ὅτι = " that ..."): introduces indirect or direct speech (after λέγω, γινώσκω)
- Causal (ὅτι = "because"): introduces the reason for the preceding statement
- Content (ὅτι = "that"): introduces a content clause (after verbs of knowing/believing)
Classification uses a heuristic based on governing verb and gloss.
print_nt_hoti_profile() # whole GNT
print_nt_hoti_profile('Jhn') # John — high recitative ὅτι
print_nt_hoti_profile('Rom') # Romans — causal and content mix
8. καί Semantic Function Analysis¶
καί is the single most frequent word in the GNT (~8,978 tokens), but it is far from semantically uniform. The MACULA syntax layer encodes individual translator glosses for each token, enabling function disambiguation:
| Function | Gloss signals | Description |
|---|---|---|
| additive | "and" | Plain coordination — the default usage (~90%) |
| adjunctive | "also" | Adds a parallel or supplementary element |
| ascensive | "even", "indeed" | Intensifies or raises rhetorical register |
| correlative | "both" | Pairs two elements symmetrically (both … and) |
| adversative | "but", "yet", "although" | Marks contrast or concession |
| temporal | "then", "and then" | Sequential events in narrative |
| explicative | "that" | Introduces a content clause |
This analysis follows the functional taxonomy of Runge (Discourse Grammar of the Greek New Testament, 2010) and Levinsohn (Discourse Features of New Testament Greek, 2nd ed., 2000).
# Whole GNT καί function distribution
print_nt_kai_profile()
# Adjunctive καί is a Pauline hallmark — compare with narrative books
for book in ['Rom', 'Jhn', 'Luk', 'Rev']:
df = nt_kai_profile(book)
top = df.set_index('function')['pct']
print(f'{book:>4}: additive={top.get("additive",0):.1f}% '
f'adjunctive={top.get("adjunctive",0):.1f}% '
f'ascensive={top.get("ascensive",0):.1f}%')
from IPython.display import Image
path = nt_kai_function_chart()
print(f'Saved: {path}')
Image(str(path))
from IPython.display import Image
path = nt_kai_book_heatmap()
print(f'Saved: {path}')
Image(str(path))
# Browse individual instances of a specific function
# Ascensive καί in John: 'even', 'indeed'
nt_kai_instances(function='ascensive', book='Jhn')
# Full crosstab: every NT book × καί semantic function
nt_kai_by_book()
# Full crosstab: every NT book × every particle
ct = nt_particle_by_book()
ct
Quick Reference¶
from bible_grammar.nt_discourse import (
# Data
nt_particle_frequency, # particle frequency table (book= optional)
nt_particle_by_book, # particle × book crosstab
nt_particle_genre_profile, # particle % by genre group
nt_hina_profile, # ἵνα clause function classification
nt_hoti_profile, # ὅτι function classification
PARTICLE_REGISTRY, # dict of Strong's → (lemma, display, function)
# Print
print_nt_particle_overview,
print_nt_particle_frequency, # book= optional
print_nt_particle_genre_profile,
print_nt_hina_profile, # book= optional
print_nt_hoti_profile, # book= optional
# Charts
nt_particle_frequency_chart, # horizontal bar (book= optional)
nt_particle_genre_heatmap, # heatmap by genre
nt_particle_book_chart, # single particle across books
)