Qal (קַל) Verb Morphology — Biblical Hebrew¶
The Qal is the base stem of Biblical Hebrew — the simplest, most common, and most semantically transparent verb form. It accounts for roughly 68–70% of all OT verb tokens across 1,046 unique roots. Every derived stem (Niphal, Piel, Pual, Hiphil, Hophal, Hithpael) is morphologically derived from it.
This notebook covers the same nine analytical sections as the derived-stem notebooks (hiphil, niphal, piel, pual, hithpael), with sections tailored to the Qal's unique characteristics: fientive vs. stative roots, the participle passive, and the dominance of wayyiqtol in narrative prose.
import sys
sys.path.insert(0, '../../../src')
from bible_grammar.qal import (
qal_data,
qal_conjugation_profile,
qal_top_roots,
qal_root_conjugation,
qal_book_distribution,
qal_stem_comparison,
qal_dominant_roots,
qal_semantic_categories,
print_qal_overview,
print_qal_conjugation,
print_qal_top_roots,
print_qal_root_conjugation,
print_qal_book_distribution,
print_qal_dominant_roots,
print_qal_semantic_categories,
qal_conjugation_chart,
qal_book_chart,
qal_stem_chart,
qal_root_heatmap,
qal_top_roots_chart,
qal_semantic_chart,
qal_report,
)
1. Overview & Key Statistics¶
The Qal dwarfs every other stem. Its 50,000+ tokens include the highest-frequency verbs in the entire Old Testament: אָמַר (say), הָיָה (be), עָשָׂה (do/make), בּוֹא (come), נָתַן (give).
Fientive vs. stative is the key Qal distinction for students:
- Fientive roots describe actions or changes of state: כָּתַב (write), הָלַךְ (go)
- Stative roots describe ongoing conditions: יָדַע (know), אָהַב (love), כָּבֵד (be heavy)
Stative Qal perfects often function as present-state English translations, while fientive perfects translate as simple past.
print_qal_overview()
2. Conjugation (Tense/Aspect) Distribution¶
The wayyiqtol (waw-consecutive imperfect) is the signature of Hebrew narrative prose and typically leads in Qal counts. In poetry (Psalms, Proverbs) the qatal and yiqtol take over. The Qal is also the only stem with a participle passive form (e.g., כָּתוּב, "written").
print_qal_conjugation() # Whole OT
# Compare Genesis (narrative) vs. Psalms (poetry)
print('\n--- Genesis (narrative) ---')
print_qal_conjugation(book='Gen')
print('\n--- Psalms (poetry) ---')
print_qal_conjugation(book='Psa')
from IPython.display import Image
path = qal_conjugation_chart()
print(f'Saved: {path}')
Image(str(path))
3. Most Frequent Qal Roots¶
These are the verbs students encounter on nearly every page of Hebrew prose. The top 25 roots account for a substantial fraction of all Qal occurrences — mastering them is the single highest-return investment in reading fluency.
print_qal_top_roots(25)
from IPython.display import Image
path = qal_top_roots_chart(20)
print(f'Saved: {path}')
Image(str(path))
4. Root × Conjugation Cross-Table¶
Which conjugations does each root favor? אָמַר (say) is overwhelmingly wayyiqtol (narrative speech formulas: וַיֹּאמֶר). הָיָה (be) is mixed across all forms. Stative roots cluster in the qatal column.
print_qal_root_conjugation(top_n=15)
from IPython.display import Image
path = qal_root_heatmap(top_n=15)
print(f'Saved: {path}')
Image(str(path))
5. Distribution Across Books¶
Genesis and Jeremiah lead in raw count due to their length and narrative density. But as a percentage of book verbs, the Qal is remarkably stable across genres — it is the background against which derived stems stand out.
print_qal_book_distribution(top_n=20)
from IPython.display import Image
path = qal_book_chart()
print(f'Saved: {path}')
Image(str(path))
6. Qal vs. Other Stems by Genre¶
The Qal (shown in blue) typically represents 60–75% of verbs in any given book. Narrative prose sits at the high end; prophetic literature dips slightly as Piel and Hiphil become more prominent.
df = qal_stem_comparison(['Gen', 'Exo', 'Deu', 'Psa', 'Isa', 'Jer', 'Pro', 'Job'])
df
from IPython.display import Image
path = qal_stem_chart(['Gen', 'Exo', 'Deu', 'Psa', 'Isa', 'Jer', 'Pro', 'Job'])
print(f'Saved: {path}')
Image(str(path))
7. Qal-Dominant Roots (≥90%)¶
These roots occur almost exclusively in the Qal — they have no significant Niphal, Hiphil, or Piel usage. For students: you will rarely need to parse these in a derived stem.
print_qal_dominant_roots(top_n=25)
# Tighten threshold and minimum count for more robust results
dom = qal_dominant_roots(min_pct=95, min_tokens=30)
dom.head(20)
8. Semantic Function Categories¶
Categories derived from MACULA English gloss annotations. The Qal covers the full semantic spectrum — speech/communication (אָמַר dominates), motion (הָלַךְ, בּוֹא, יָצָא), stative conditions (יָדַע, אָהַב), and creation/worship (עָשָׂה, בָּנָה, עָבַד).
print_qal_semantic_categories()
from IPython.display import Image
path = qal_semantic_chart()
print(f'Saved: {path}')
Image(str(path))
9. Generate Full Report¶
Generates a Markdown report with all tables and embeds all charts.
Saved to output/reports/ot/verbs/qal_report.md.
path = qal_report()
print(f'Report: {path}')
Quick Reference¶
from bible_grammar.qal import (
# Data access
qal_data, # All Qal tokens as DataFrame
# Analysis
qal_conjugation_profile, # type_ distribution (book=None)
qal_top_roots, # Most frequent roots (n=30, book=None)
qal_root_conjugation, # Root × conjugation crosstab
qal_book_distribution, # Count + pct per OT book
qal_stem_comparison, # All stems % by book list
qal_dominant_roots, # Roots >X% Qal (min_pct=90, min_tokens=20)
qal_semantic_categories, # Semantic function counts
# Print helpers
print_qal_overview,
print_qal_conjugation,
print_qal_top_roots,
print_qal_root_conjugation,
print_qal_book_distribution,
print_qal_dominant_roots,
print_qal_semantic_categories,
# Charts (return Path)
qal_conjugation_chart,
qal_book_chart,
qal_stem_chart,
qal_root_heatmap,
qal_top_roots_chart,
qal_semantic_chart,
# Report
qal_report, # Full Markdown report → output/reports/ot/verbs/
)