{ "cells": [ { "cell_type": "markdown", "id": "ef1d222e-9996-4c9f-bddd-173624840ebc", "metadata": {}, "source": [ "# Differences in MT and SP in parasha #8: Vayishlach (Genesis 32:4-36:43)" ] }, { "cell_type": "markdown", "id": "00169c3b-05ee-417b-8bc4-950a9914cda7", "metadata": {}, "source": [ "## Table of Content (ToC)\n", "\n", "* 1 - Introduction\n", "* 2 - Load Text-Fabric app and data\n", "* 3 - Compare surface texts of SP and MT\n", "* 4 - Compare texts using minimum Levenshtein distance\n", "* 5 - Comparison of spelling of proper nouns between SP and MT\n", "* 6 - References and acknowledgement\n", "* 7 - Required libraries\n", "* 8 - Notebook version details" ] }, { "cell_type": "markdown", "id": "b9d778e2-a5f4-4f48-acfc-ab657714729c", "metadata": { "tags": [] }, "source": [ "# 1 - Introduction \n", "##### [Back to ToC](#TOC)\n", "\n", "The Samaritan Pentateuch (SP) is a version of the Torah preserved by the Samaritan community, differing from the Masoretic Text (MT) in several aspects, including language, orthography, and occasionally theological emphasis. This notebook compares the text of the Masoretic Text, based on the BHSA dataset in Text-Fabric, with the Samaritan Pentateuch, also available as a Text-Fabric dataset.1\n", "\n", "In this analysis, we focus on comparing the text of the verses in a specific parasha, highlighting differences in wording and orthography. Additionally, special attention is given to spelling variations of proper nouns between the two traditions. This notebook draws inspiration from the notebook provided by Martijn Naaijer2 and aims to explore the textual nuances between these two important versions of the Torah." ] }, { "cell_type": "markdown", "id": "b1c357f7-dcb7-4292-b8f3-8349b5844057", "metadata": {}, "source": [ "# 2 - Load Text-Fabric app and data \n", "##### [Back to ToC](#TOC)\n", "\n", "The following code will load the Text-Fabric version of the [Samaritan Pentatuch](https://github.com/DT-UCPH/sp), the [Biblia Hebraica Stuttgartensia (Amstelodamensis)](https://etcbc.github.io/bhsa/) together with the additonal parasha related features from [tonyjurg/BHSaddons](https://github.com/tonyjurg/BHSaddons)." ] }, { "cell_type": "code", "execution_count": 1, "id": "b8699903-30cf-4a0b-902d-70622ddeead0", "metadata": {}, "outputs": [ { "data": { "text/markdown": [ "**Locating corpus resources ...**" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "app: ~/text-fabric-data/github/DT-UCPH/sp/app" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "data: ~/text-fabric-data/github/DT-UCPH/sp/tf/3.4" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", " TF: TF API 12.6.1, DT-UCPH/sp/app v3, Search Reference
\n", " Data: DT-UCPH - sp 3.4, Character table, Feature docs
\n", "
Node types\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", " \n", "\n", "
Name# of nodes# slots / node% coverage
book579878.40100
chapter1872135.79100
verse584168.38100
word1148903.48100
sign3993921.00100
\n", " Sets: no custom sets
\n", " Features:
\n", "
The Samaritan Pentateuch\n", "
\n", "\n", "
\n", "
\n", "book\n", "
\n", "
str
\n", "\n", " book title\n", "\n", "
\n", "\n", "
\n", "
\n", "chapter\n", "
\n", "
int
\n", "\n", " chapter number\n", "\n", "
\n", "\n", "
\n", "
\n", "g_cons\n", "
\n", "
str
\n", "\n", " word consonantal-transliterated\n", "\n", "
\n", "\n", "
\n", "
\n", "g_cons_raw\n", "
\n", "
str
\n", "\n", " word consonantal-transliterated (without disambiguation of Shin (C) and Sin (F))\n", "\n", "
\n", "\n", "
\n", "
\n", "g_cons_utf8\n", "
\n", "
str
\n", "\n", " word in Hebrew script\n", "\n", "
\n", "\n", "
\n", "
\n", "g_lex\n", "
\n", "
str
\n", "\n", " realized lexeme\n", "\n", "
\n", "\n", "
\n", "
\n", "g_lex_utf8\n", "
\n", "
str
\n", "\n", " realized lexeme in Hebrew script\n", "\n", "
\n", "\n", "
\n", "
\n", "g_nme\n", "
\n", "
str
\n", "\n", " realized nominal ending consonantal\n", "\n", "
\n", "\n", "
\n", "
\n", "g_nme_utf8\n", "
\n", "
str
\n", "\n", " realized nominal ending consonantal in Hebrew script\n", "\n", "
\n", "\n", "
\n", "
\n", "g_pfm\n", "
\n", "
str
\n", "\n", " realized verbal preformative consonantal\n", "\n", "
\n", "\n", "
\n", "
\n", "g_pfm_utf8\n", "
\n", "
str
\n", "\n", " realized verbal preformative consonantal in Hebrew script\n", "\n", "
\n", "\n", "
\n", "
\n", "g_prs\n", "
\n", "
str
\n", "\n", " realized pronominal suffix consonantal\n", "\n", "
\n", "\n", "
\n", "
\n", "g_prs_utf8\n", "
\n", "
str
\n", "\n", " realized pronominal suffix consonantal in Hebrew script\n", "\n", "
\n", "\n", "
\n", "
\n", "g_uvf\n", "
\n", "
str
\n", "\n", " realized univalent final\n", "\n", "
\n", "\n", "
\n", "
\n", "g_uvf_utf8\n", "
\n", "
str
\n", "\n", " realized univalent final in Hebrew script\n", "\n", "
\n", "\n", "
\n", "
\n", "g_vbe\n", "
\n", "
str
\n", "\n", " realized verbal ending consonantal\n", "\n", "
\n", "\n", "
\n", "
\n", "g_vbe_utf8\n", "
\n", "
str
\n", "\n", " realized verbal ending consonantal in Hebrew script\n", "\n", "
\n", "\n", "
\n", "
\n", "g_vbs\n", "
\n", "
str
\n", "\n", " realized verbal stem consonantal\n", "\n", "
\n", "\n", "
\n", "
\n", "g_vbs_utf8\n", "
\n", "
str
\n", "\n", " realized verbal stem consonantal in Hebrew script\n", "\n", "
\n", "\n", "
\n", "
\n", "gn\n", "
\n", "
str
\n", "\n", " gender\n", "\n", "
\n", "\n", "
\n", "
\n", "language\n", "
\n", "
str
\n", "\n", " language\n", "\n", "
\n", "\n", "
\n", "
\n", "lex\n", "
\n", "
str
\n", "\n", " lexeme consonantal-transliterated\n", "\n", "
\n", "\n", "
\n", "
\n", "lex_utf8\n", "
\n", "
str
\n", "\n", " lexeme in Hebrew script\n", "\n", "
\n", "\n", "
\n", "
\n", "mt_feat\n", "
\n", "
str
\n", "\n", " features imposed from MT\n", "\n", "
\n", "\n", "
\n", "
\n", "nu\n", "
\n", "
str
\n", "\n", " grammatical number\n", "\n", "
\n", "\n", "
\n", "
\n", "otype\n", "
\n", "
str
\n", "\n", " \n", "\n", "
\n", "\n", "
\n", "
\n", "prediction\n", "
\n", "
str
\n", "\n", " neural network prediction\n", "\n", "
\n", "\n", "
\n", "
\n", "prs_gn\n", "
\n", "
str
\n", "\n", " pronominal suffix gender\n", "\n", "
\n", "\n", "
\n", "
\n", "prs_nu\n", "
\n", "
str
\n", "\n", " pronominal suffix number\n", "\n", "
\n", "\n", "
\n", "
\n", "prs_ps\n", "
\n", "
str
\n", "\n", " pronominal suffix person\n", "\n", "
\n", "\n", "
\n", "
\n", "ps\n", "
\n", "
str
\n", "\n", " grammatical person\n", "\n", "
\n", "\n", "
\n", "
\n", "sign\n", "
\n", "
str
\n", "\n", " consonantal letter\n", "\n", "
\n", "\n", "
\n", "
\n", "sp\n", "
\n", "
str
\n", "\n", " part of speech\n", "\n", "
\n", "\n", "
\n", "
\n", "trailer\n", "
\n", "
str
\n", "\n", " interword material\n", "\n", "
\n", "\n", "
\n", "
\n", "verse\n", "
\n", "
int
\n", "\n", " verse number\n", "\n", "
\n", "\n", "
\n", "
\n", "vt\n", "
\n", "
str
\n", "\n", " verbal tense\n", "\n", "
\n", "\n", "
\n", "
\n", "oslots\n", "
\n", "
none
\n", "\n", " \n", "\n", "
\n", "\n", "
\n", "
\n", "\n", " Settings:
specified
  1. apiVersion: 3
  2. appName: DT-UCPH/sp
  3. appPath: C:/Users/tonyj/text-fabric-data/github/DT-UCPH/sp/app
  4. commit: g0c9b2fff6448228af93ed6c466ba95e6c0bb3547
  5. css: ''
  6. dataDisplay:
  7. \n", " textFormats:\n", "
  8. \n", " layout-orig-full:\n", "
    • method: layoutRich
    • style: orig
    \n", "
  9. \n", "
  10. docs:
    • docBase: {docRoot}/bhsa
    • docExt: ''
    • docPage: ''
    • docRoot: https://etcbc.github.io
    • featurePage: 0_home
  11. interfaceDefaults: {}
  12. isCompatible: True
  13. local: local
  14. localDir: C:/Users/tonyj/text-fabric-data/github/DT-UCPH/sp/_temp
  15. provenanceSpec:
    • corpus: The Samaritan Pentateuch
    • org: DT-UCPH
    • relative: /tf
    • repo: sp
    • version: 3.4
  16. release: v3.4
  17. typeDisplay:
    • verse:
      • label: {verse}
      • template: {verse}
      • verselike: True
    • word: {features: lex}
  18. writing: hbo
\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/markdown": [ "**Locating corpus resources ...**" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "app: ~/text-fabric-data/github/etcbc/bhsa/app" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "data: ~/text-fabric-data/github/etcbc/bhsa/tf/2021" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "data: ~/text-fabric-data/github/tonyjurg/BHSaddons/tf/2021" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "data: ~/text-fabric-data/github/etcbc/phono/tf/2021" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "data: ~/text-fabric-data/github/etcbc/parallels/tf/2021" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", " TF: TF API 12.6.1, etcbc/bhsa/app v3, Search Reference
\n", " Data: etcbc - bhsa 2021, Character table, Feature docs
\n", "
Node types\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", " \n", "\n", "
Name# of nodes# slots / node% coverage
book3910938.21100
chapter929459.19100
lex923046.22100
verse2321318.38100
half_verse451799.44100
sentence637176.70100
sentence_atom645146.61100
clause881314.84100
clause_atom907044.70100
phrase2532031.68100
phrase_atom2675321.59100
subphrase1138501.4238
word4265901.00100
\n", " Sets: no custom sets
\n", " Features:
\n", "
Parallel Passages\n", "
\n", "\n", "
\n", "
\n", "crossref\n", "
\n", "
int
\n", "\n", " 🆗 links between similar passages\n", "\n", "
\n", "\n", "
\n", "
\n", "\n", "
BHSA = Biblia Hebraica Stuttgartensia Amstelodamensis\n", "
\n", "\n", "
\n", "
\n", "book\n", "
\n", "
str
\n", "\n", " ✅ book name in Latin (Genesis; Numeri; Reges1; ...)\n", "\n", "
\n", "\n", "
\n", "
\n", "book@ll\n", "
\n", "
str
\n", "\n", " ✅ book name in amharic (ኣማርኛ)\n", "\n", "
\n", "\n", "
\n", "
\n", "chapter\n", "
\n", "
int
\n", "\n", " ✅ chapter number (1; 2; 3; ...)\n", "\n", "
\n", "\n", "
\n", "
\n", "code\n", "
\n", "
int
\n", "\n", " ✅ identifier of a clause atom relationship (0; 74; 367; ...)\n", "\n", "
\n", "\n", "
\n", "
\n", "det\n", "
\n", "
str
\n", "\n", " ✅ determinedness of phrase(atom) (det; und; NA.)\n", "\n", "
\n", "\n", "
\n", "
\n", "domain\n", "
\n", "
str
\n", "\n", " ✅ text type of clause (? (Unknown); N (narrative); D (discursive); Q (Quotation).)\n", "\n", "
\n", "\n", "
\n", "
\n", "freq_lex\n", "
\n", "
int
\n", "\n", " ✅ frequency of lexemes\n", "\n", "
\n", "\n", "
\n", "
\n", "function\n", "
\n", "
str
\n", "\n", " ✅ syntactic function of phrase (Cmpl; Objc; Pred; ...)\n", "\n", "
\n", "\n", "
\n", "
\n", "g_cons\n", "
\n", "
str
\n", "\n", " ✅ word consonantal-transliterated (B R>CJT BR> >LHJM ...)\n", "\n", "
\n", "\n", "
\n", "
\n", "g_cons_utf8\n", "
\n", "
str
\n", "\n", " ✅ word consonantal-Hebrew (ב ראשׁית ברא אלהים)\n", "\n", "
\n", "\n", "
\n", "
\n", "g_lex\n", "
\n", "
str
\n", "\n", " ✅ lexeme pointed-transliterated (B.:- R;>CIJT B.@R@> >:ELOH ...)\n", "\n", "
\n", "\n", "
\n", "
\n", "g_lex_utf8\n", "
\n", "
str
\n", "\n", " ✅ lexeme pointed-Hebrew (בְּ רֵאשִׁית בָּרָא אֱלֹה)\n", "\n", "
\n", "\n", "
\n", "
\n", "g_word\n", "
\n", "
str
\n", "\n", " ✅ word pointed-transliterated (B.:- R;>CI73JT B.@R@74> >:ELOHI92JM)\n", "\n", "
\n", "\n", "
\n", "
\n", "g_word_utf8\n", "
\n", "
str
\n", "\n", " ✅ word pointed-Hebrew (בְּ רֵאשִׁ֖ית בָּרָ֣א אֱלֹהִ֑ים)\n", "\n", "
\n", "\n", "
\n", "
\n", "gloss\n", "
\n", "
str
\n", "\n", " 🆗 english translation of lexeme (beginning create god(s))\n", "\n", "
\n", "\n", "
\n", "
\n", "gn\n", "
\n", "
str
\n", "\n", " ✅ grammatical gender (m; f; NA; unknown.)\n", "\n", "
\n", "\n", "
\n", "
\n", "label\n", "
\n", "
str
\n", "\n", " ✅ (half-)verse label (half verses: A; B; C; verses: GEN 01,02)\n", "\n", "
\n", "\n", "
\n", "
\n", "language\n", "
\n", "
str
\n", "\n", " ✅ of word or lexeme (Hebrew; Aramaic.)\n", "\n", "
\n", "\n", "
\n", "
\n", "lex\n", "
\n", "
str
\n", "\n", " ✅ lexeme consonantal-transliterated (B R>CJT/ BR>[ >LHJM/)\n", "\n", "
\n", "\n", "
\n", "
\n", "lex_utf8\n", "
\n", "
str
\n", "\n", " ✅ lexeme consonantal-Hebrew (ב ראשׁית֜ ברא אלהים֜)\n", "\n", "
\n", "\n", "
\n", "
\n", "ls\n", "
\n", "
str
\n", "\n", " ✅ lexical set, subclassification of part-of-speech (card; ques; mult)\n", "\n", "
\n", "\n", "
\n", "
\n", "nametype\n", "
\n", "
str
\n", "\n", " ⚠️ named entity type (pers; mens; gens; topo; ppde.)\n", "\n", "
\n", "\n", "
\n", "
\n", "nme\n", "
\n", "
str
\n", "\n", " ✅ nominal ending consonantal-transliterated (absent; n/a; JM, ...)\n", "\n", "
\n", "\n", "
\n", "
\n", "nu\n", "
\n", "
str
\n", "\n", " ✅ grammatical number (sg; du; pl; NA; unknown.)\n", "\n", "
\n", "\n", "
\n", "
\n", "number\n", "
\n", "
int
\n", "\n", " ✅ sequence number of an object within its context\n", "\n", "
\n", "\n", "
\n", "
\n", "otype\n", "
\n", "
str
\n", "\n", " \n", "\n", "
\n", "\n", "
\n", "
\n", "pargr\n", "
\n", "
str
\n", "\n", " 🆗 hierarchical paragraph number (1; 1.2; 1.2.3.4; ...)\n", "\n", "
\n", "\n", "
\n", "
\n", "pdp\n", "
\n", "
str
\n", "\n", " ✅ phrase dependent part-of-speech (art; verb; subs; nmpr, ...)\n", "\n", "
\n", "\n", "
\n", "
\n", "pfm\n", "
\n", "
str
\n", "\n", " ✅ preformative consonantal-transliterated (absent; n/a; J, ...)\n", "\n", "
\n", "\n", "
\n", "
\n", "prs\n", "
\n", "
str
\n", "\n", " ✅ pronominal suffix consonantal-transliterated (absent; n/a; W; ...)\n", "\n", "
\n", "\n", "
\n", "
\n", "prs_gn\n", "
\n", "
str
\n", "\n", " ✅ pronominal suffix gender (m; f; NA; unknown.)\n", "\n", "
\n", "\n", "
\n", "
\n", "prs_nu\n", "
\n", "
str
\n", "\n", " ✅ pronominal suffix number (sg; du; pl; NA; unknown.)\n", "\n", "
\n", "\n", "
\n", "
\n", "prs_ps\n", "
\n", "
str
\n", "\n", " ✅ pronominal suffix person (p1; p2; p3; NA; unknown.)\n", "\n", "
\n", "\n", "
\n", "
\n", "ps\n", "
\n", "
str
\n", "\n", " ✅ grammatical person (p1; p2; p3; NA; unknown.)\n", "\n", "
\n", "\n", "
\n", "
\n", "qere\n", "
\n", "
str
\n", "\n", " ✅ word pointed-transliterated masoretic reading correction\n", "\n", "
\n", "\n", "
\n", "
\n", "qere_trailer\n", "
\n", "
str
\n", "\n", " ✅ interword material -pointed-transliterated (Masoretic correction)\n", "\n", "
\n", "\n", "
\n", "
\n", "qere_trailer_utf8\n", "
\n", "
str
\n", "\n", " ✅ interword material -pointed-transliterated (Masoretic correction)\n", "\n", "
\n", "\n", "
\n", "
\n", "qere_utf8\n", "
\n", "
str
\n", "\n", " ✅ word pointed-Hebrew masoretic reading correction\n", "\n", "
\n", "\n", "
\n", "
\n", "rank_lex\n", "
\n", "
int
\n", "\n", " ✅ ranking of lexemes based on freqnuecy\n", "\n", "
\n", "\n", "
\n", "
\n", "rela\n", "
\n", "
str
\n", "\n", " ✅ linguistic relation between clause/(sub)phrase(atom) (ADJ; MOD; ATR; ...)\n", "\n", "
\n", "\n", "
\n", "
\n", "sp\n", "
\n", "
str
\n", "\n", " ✅ part-of-speech (art; verb; subs; nmpr, ...)\n", "\n", "
\n", "\n", "
\n", "
\n", "st\n", "
\n", "
str
\n", "\n", " ✅ state of a noun (a (absolute); c (construct); e (emphatic).)\n", "\n", "
\n", "\n", "
\n", "
\n", "tab\n", "
\n", "
int
\n", "\n", " ✅ clause atom: its level in the linguistic embedding\n", "\n", "
\n", "\n", "
\n", "
\n", "trailer\n", "
\n", "
str
\n", "\n", " ✅ interword material pointed-transliterated (& 00 05 00_P ...)\n", "\n", "
\n", "\n", "
\n", "
\n", "trailer_utf8\n", "
\n", "
str
\n", "\n", " ✅ interword material pointed-Hebrew (־ ׃)\n", "\n", "
\n", "\n", "
\n", "
\n", "txt\n", "
\n", "
str
\n", "\n", " ✅ text type of clause and surrounding (repetion of ? N D Q as in feature domain)\n", "\n", "
\n", "\n", "
\n", "
\n", "typ\n", "
\n", "
str
\n", "\n", " ✅ clause/phrase(atom) type (VP; NP; Ellp; Ptcp; WayX)\n", "\n", "
\n", "\n", "
\n", "
\n", "uvf\n", "
\n", "
str
\n", "\n", " ✅ univalent final consonant consonantal-transliterated (absent; N; J; ...)\n", "\n", "
\n", "\n", "
\n", "
\n", "vbe\n", "
\n", "
str
\n", "\n", " ✅ verbal ending consonantal-transliterated (n/a; W; ...)\n", "\n", "
\n", "\n", "
\n", "
\n", "vbs\n", "
\n", "
str
\n", "\n", " ✅ root formation consonantal-transliterated (absent; n/a; H; ...)\n", "\n", "
\n", "\n", "
\n", "
\n", "verse\n", "
\n", "
int
\n", "\n", " ✅ verse number\n", "\n", "
\n", "\n", "
\n", "
\n", "voc_lex\n", "
\n", "
str
\n", "\n", " ✅ vocalized lexeme pointed-transliterated (B.: R;>CIJT BR> >:ELOHIJM)\n", "\n", "
\n", "\n", "
\n", "
\n", "voc_lex_utf8\n", "
\n", "
str
\n", "\n", " ✅ vocalized lexeme pointed-Hebrew (בְּ רֵאשִׁית ברא אֱלֹהִים)\n", "\n", "
\n", "\n", "
\n", "
\n", "vs\n", "
\n", "
str
\n", "\n", " ✅ verbal stem (qal; piel; hif; apel; pael)\n", "\n", "
\n", "\n", "
\n", "
\n", "vt\n", "
\n", "
str
\n", "\n", " ✅ verbal tense (perf; impv; wayq; infc)\n", "\n", "
\n", "\n", "
\n", "
\n", "mother\n", "
\n", "
none
\n", "\n", " ✅ linguistic dependency between textual objects\n", "\n", "
\n", "\n", "
\n", "
\n", "oslots\n", "
\n", "
none
\n", "\n", " \n", "\n", "
\n", "\n", "
\n", "
\n", "\n", "
Phonetic Transcriptions\n", "
\n", "\n", "
\n", "
\n", "phono\n", "
\n", "
str
\n", "\n", " 🆗 phonological transcription (bᵊ rēšˌîṯ bārˈā ʔᵉlōhˈîm)\n", "\n", "
\n", "\n", "
\n", "
\n", "phono_trailer\n", "
\n", "
str
\n", "\n", " 🆗 interword material in phonological transcription\n", "\n", "
\n", "\n", "
\n", "
\n", "\n", "
tonyjurg/BHSaddons/tf\n", "
\n", "\n", "
\n", "
\n", "aliyotnum\n", "
\n", "
str
\n", "\n", " The sequence number of the aliyot within the parasha\n", "\n", "
\n", "\n", "
\n", "
\n", "maftir\n", "
\n", "
str
\n", "\n", " Set to 1 if this verse is part of a maftir\n", "\n", "
\n", "\n", "
\n", "
\n", "parashahebr\n", "
\n", "
str
\n", "\n", " The name of the parasha in Hebrew\n", "\n", "
\n", "\n", "
\n", "
\n", "parashanum\n", "
\n", "
int
\n", "\n", " The sequence number of the parasha\n", "\n", "
\n", "\n", "
\n", "
\n", "parashatrans\n", "
\n", "
str
\n", "\n", " Transliteration of the Hebrew parasha name\n", "\n", "
\n", "\n", "
\n", "
\n", "parashaverse\n", "
\n", "
str
\n", "\n", " The sequence number of the verse within the parasha\n", "\n", "
\n", "\n", "
\n", "
\n", "wordboundary\n", "
\n", "
str
\n", "\n", " indicates wordboudaries (spaces OR maqaf)\n", "\n", "
\n", "\n", "
\n", "
\n", "\n", " Settings:
specified
  1. apiVersion: 3
  2. appName: etcbc/bhsa
  3. appPath: C:/Users/tonyj/text-fabric-data/github/etcbc/bhsa/app
  4. commit: gd905e3fb6e80d0fa537600337614adc2af157309
  5. css: ''
  6. dataDisplay:
    • exampleSectionHtml:<code>Genesis 1:1</code> (use <a href=\"https://github.com/{org}/{repo}/blob/master/tf/{version}/book%40en.tf\" target=\"_blank\">English book names</a>)
    • excludedFeatures:
      • g_uvf_utf8
      • g_vbs
      • kq_hybrid
      • languageISO
      • g_nme
      • lex0
      • is_root
      • g_vbs_utf8
      • g_uvf
      • dist
      • root
      • suffix_person
      • g_vbe
      • dist_unit
      • suffix_number
      • distributional_parent
      • kq_hybrid_utf8
      • crossrefSET
      • instruction
      • g_prs
      • lexeme_count
      • rank_occ
      • g_pfm_utf8
      • freq_occ
      • crossrefLCS
      • functional_parent
      • g_pfm
      • g_nme_utf8
      • g_vbe_utf8
      • kind
      • g_prs_utf8
      • suffix_gender
      • mother_object_type
    • noneValues:
      • none
      • unknown
      • no value
      • NA
  7. docs:
    • docBase: {docRoot}/{repo}
    • docExt: ''
    • docPage: ''
    • docRoot: https://{org}.github.io
    • featurePage: 0_home
  8. interfaceDefaults: {}
  9. isCompatible: True
  10. local: local
  11. localDir: C:/Users/tonyj/text-fabric-data/github/etcbc/bhsa/_temp
  12. provenanceSpec:
    • corpus: BHSA = Biblia Hebraica Stuttgartensia Amstelodamensis
    • doi: 10.5281/zenodo.1007624
    • moduleSpecs:
      • :
        • backend: no value
        • corpus: Phonetic Transcriptions
        • docUrl:https://nbviewer.jupyter.org/github/etcbc/phono/blob/master/programs/phono.ipynb
        • doi: 10.5281/zenodo.1007636
        • org: etcbc
        • relative: /tf
        • repo: phono
      • :
        • backend: no value
        • corpus: Parallel Passages
        • docUrl:https://nbviewer.jupyter.org/github/etcbc/parallels/blob/master/programs/parallels.ipynb
        • doi: 10.5281/zenodo.1007642
        • org: etcbc
        • relative: /tf
        • repo: parallels
    • org: etcbc
    • relative: /tf
    • repo: bhsa
    • version: 2021
    • webBase: https://shebanq.ancient-data.org/hebrew
    • webHint: Show this on SHEBANQ
    • webLang: la
    • webLexId: True
    • webUrl:{webBase}/text?book=<1>&chapter=<2>&verse=<3>&version={version}&mr=m&qw=q&tp=txt_p&tr=hb&wget=v&qget=v&nget=vt
    • webUrlLex: {webBase}/word?version={version}&id=<lid>
  13. release: v1.8
  14. typeDisplay:
    • clause:
      • label: {typ} {rela}
      • style: ''
    • clause_atom:
      • hidden: True
      • label: {code}
      • level: 1
      • style: ''
    • half_verse:
      • hidden: True
      • label: {label}
      • style: ''
      • verselike: True
    • lex:
      • featuresBare: gloss
      • label: {voc_lex_utf8}
      • lexOcc: word
      • style: orig
      • template: {voc_lex_utf8}
    • phrase:
      • label: {typ} {function}
      • style: ''
    • phrase_atom:
      • hidden: True
      • label: {typ} {rela}
      • level: 1
      • style: ''
    • sentence:
      • label: {number}
      • style: ''
    • sentence_atom:
      • hidden: True
      • label: {number}
      • level: 1
      • style: ''
    • subphrase:
      • hidden: True
      • label: {number}
      • style: ''
    • word:
      • features: pdp vs vt
      • featuresBare: lex:gloss
  15. writing: hbo
\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "from tf.app import use\n", "\n", "# Load the SP data, and rename the node features class F,\n", "# the locality class L and the text class T, \n", "# then they cannot be overwritten while loading the MT.\n", "SP = use('DT-UCPH/sp', version='3.4')\n", "Fsp, Lsp, Tsp = SP.api.F, SP.api.L, SP.api.T\n", "\n", "# Do the same for the MT dataset (BHSA) together with BHSaddons \n", "MT = use('etcbc/bhsa', version='2021',mod=\"tonyjurg/BHSaddons/tf/\")\n", "Fmt, Lmt, Tmt = MT.api.F, MT.api.L, MT.api.T" ] }, { "cell_type": "markdown", "id": "f0086270", "metadata": {}, "source": [ "# 3 - Compare surface texts of SP and MT \n", "##### [Back to ToC](#TOC)\n", "\n", "In this section, we compare the surface texts of the Samaritan Pentateuch (SP) and the Masoretic Text (MT) at the verse level. By analyzing the wording and structure of these texts, we aim to identify variations." ] }, { "cell_type": "code", "execution_count": 2, "id": "3b399f27-1f11-4efc-94e6-db55fe87a684", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " 0.01s 153 results\n" ] } ], "source": [ "# find all word nodes for this parasha (we can either use the transliterated name or the sequence number)\n", "parashaQuery = '''\n", "verse parashanum=8\n", "'''\n", "parashaResults = MT.search(parashaQuery)" ] }, { "cell_type": "code", "execution_count": 3, "id": "e064e73f-8ca2-4d78-ac65-2b518e1dc4aa", "metadata": {}, "outputs": [], "source": [ "# Extract book, chapter, and verse information\n", "bookChapterVerseList = [\n", " Tmt.sectionFromNode(verse[0]) for verse in parashaResults\n", "]\n", "\n", "# Store parashname, start and end verse for future use\n", "startNode=parashaResults[0][0]\n", "endNode=parashaResults[-1][0]\n", "parashaNameHebrew=Fmt.parashahebr.v(startNode)\n", "parashaNameEnglish=Fmt.parashatrans.v(startNode)\n", "bookStart,chapterStart,startVerse=Tmt.sectionFromNode(startNode)\n", "parashaStart=f'{bookStart} {chapterStart}:{startVerse}'\n", "bookEnd,chapterEnd,startEnd=Tmt.sectionFromNode(endNode)\n", "parashaEnd=f'{chapterEnd}:{startEnd}'\n", "htmlStart=''\n", "htmlFooter=f'

Data generated by `delta_mt_and_sp.ipynb` at `github.com/tonyjurg/Parashot`

`'" ] }, { "cell_type": "code", "execution_count": 4, "id": "06e216e5-a5b1-47d6-994c-f4e8c6a66e90", "metadata": {}, "outputs": [], "source": [ "# Function to reconstruct verses\n", "def reconstructVerses(F, L, T, textFeature, inputList):\n", " \"\"\"Reconstruct text for each verse.\"\"\"\n", " verseTexts = {}\n", " for verseName in inputList:\n", " verseText = ''\n", " verseNode = T.nodeFromSection(verseName)\n", " wordNodes = L.d(verseNode, 'word')\n", " for wordNode in wordNodes:\n", " wordText = eval(f'F.{textFeature}.v(wordNode)')\n", " trailer = F.trailer.v(wordNode)\n", " if wordText:\n", " verseText += wordText + (trailer if trailer else ' ')\n", " verseTexts[verseName] = verseText.strip()\n", " return verseTexts\n", " \n", "SPverses = reconstructVerses(Fsp, Lsp, Tsp, 'g_cons', bookChapterVerseList)\n", "MTverses = reconstructVerses(Fmt, Lmt, Tmt, 'g_cons', bookChapterVerseList)" ] }, { "cell_type": "code", "execution_count": 5, "id": "492e7cbe-2b84-48a9-a44c-6b6d051b0c5d", "metadata": {}, "outputs": [ { "data": { "text/html": [ "

Differences between MT and SP for parasha Vayishlach (Genesis 32:4-36:43)

Genesis 32:4

SP: וישלח יעקב מלאכים לפניו אל עשו אחיו ארץ שעיר שדה אדום
MT: וישׁלח יעקב מלאכים לפניו אל עשׂו אחיו ארצה שׂעיר שׂדה אדום

Genesis 32:6

SP: ויהי לי שור וחמור וצאן ועבד ושפחה ואשלחה להגיד לאדני למצא חן בעיניך
MT: ויהי לי שׁור וחמור צאן ועבד ושׁפחה ואשׁלחה להגיד לאדני למצא חן בעיניך

Genesis 32:9

SP: ויאמר אם יבוא עשו אל המחנה האחד והכהו והיה המחנה הנשאר לפלטה
MT: ויאמר אם יבוא עשׂו אל המחנה האחת והכהו והיה המחנה הנשׁאר לפליטה

Genesis 32:10

SP: ויאמר יעקב אלהי אבי אברהם ואלהי אבי יצחק יהוה אמר אלי שוב אל ארצך ואל מולדתך ואטיב עמך
MT: ויאמר יעקב אלהי אבי אברהם ואלהי אבי יצחק יהוה האמר אלי שׁוב לארצך ולמולדתך ואיטיבה עמך

Genesis 32:12

SP: הצלני נא מיד אחי מיד עשו כי ירא אנכי אתו פן יבוא והכני האם על הבנים
MT: הצילני נא מיד אחי מיד עשׂו כי ירא אנכי אתו פן יבוא והכני אם על בנים

Genesis 32:13

SP: ואתה אמרת הטיב אטיב עמך ושמתי את זרעך כחול הים אשר לא יספר מרב
MT: ואתה אמרת היטב איטיב עמך ושׂמתי את זרעך כחול הים אשׁר לא יספר מרב

Genesis 32:16

SP: גמלים מינקות ובניהם שלשים פרות ארבעים ופרים עשרה אתנות עשרים ועירים עשרה
MT: גמלים מיניקות ובניהם שׁלשׁים פרות ארבעים ופרים עשׂרה אתנת עשׂרים ועירם עשׂרה

Genesis 32:18

SP: ויצו את הראישון לאמר כי יפגשך עשו אחי ושאלך לאמר למי אתה ואנה תלך ולמי אלה לפניך
MT: ויצו את הראשׁון לאמר כי יפגשׁך עשׂו אחי ושׁאלך לאמר למי אתה ואנה תלך ולמי אלה לפניך

Genesis 32:19

SP: ואמרת לעבדך ליעקב מנחה היא שלוחה לאדני לעשו והנה גם הוא אחרינו
MT: ואמרת לעבדך ליעקב מנחה הוא שׁלוחה לאדני לעשׂו והנה גם הוא אחרינו

Genesis 32:20

SP: ויצו גם את השני וגם את השלישי וגם את כל ההלכים אחרי העדרים לאמר כדבר הזה תדברון אל עשו במצאכם אתו
MT: ויצו גם את השׁני גם את השׁלישׁי גם את כל ההלכים אחרי העדרים לאמר כדבר הזה תדברון אל עשׂו במצאכם אתו

Genesis 32:21

SP: ואמרתם גם הנה עבדך יעקב בא אחרינו כי אמר אכפרה פניו במנחה ההלכת לפני ואחרי כן אראה פניו אולי ישא פני
MT: ואמרתם גם הנה עבדך יעקב אחרינו כי אמר אכפרה פניו במנחה ההלכת לפני ואחרי כן אראה פניו אולי ישׂא פני

Genesis 32:23

SP: ויקם בלילה ההוא ויקח את שתי נשיו ואת שתי שפחתיו ואת אחד עשר ילידיו ויעבר את מעבר היבק
MT: ויקם׀ בלילה הוא ויקח את שׁתי נשׁיו ואת שׁתי שׁפחתיו ואת אחד עשׂר ילדיו ויעבר את מעבר יבק

Genesis 32:24

SP: ויקחם ויעברם את הנחל ויעבר את כל אשר לו
MT: ויקחם ויעברם את הנחל ויעבר את אשׁר לו

Genesis 32:31

SP: ויקרא יעקב שם המקום פנואל כי ראיתי אלהים פנים אל פנים ותנצל נפשי
MT: ויקרא יעקב שׁם המקום פניאל כי ראיתי אלהים פנים אל פנים ותנצל נפשׁי

Genesis 32:32

SP: ויזרח לו השמש כאשר עבר את פנואל והוא צלוע על ירכו
MT: ויזרח לו השׁמשׁ כאשׁר עבר את פנואל והוא צלע על ירכו

Genesis 32:33

SP: על כן לא יאכלו בני ישראל את גיד הנשא אשר על כף הירך עד היום הזה כי נגע בכף ירך יעקב בגיד הנשא
MT: על כן לא יאכלו בני ישׂראל את גיד הנשׁה אשׁר על כף הירך עד היום הזה כי נגע בכף ירך יעקב בגיד הנשׁה

Genesis 33:2

SP: וישם את השפחות ואת ילדיהן ראישונה ואת לאה וילדיה אחרנים ואת רחל ואת יוסף אחרנים
MT: וישׂם את השׁפחות ואת ילדיהן ראשׁנה ואת לאה וילדיה אחרנים ואת רחל ואת יוסף אחרנים

Genesis 33:3

SP: והוא עבר לפניהם וישתחוי ארצה שבע פעמים עד גשתו עד אחיו
MT: והוא עבר לפניהם וישׁתחו ארצה שׁבע פעמים עד גשׁתו עד אחיו

Genesis 33:5

SP: וישא עיניו וירא את הנשים ואת הילדים ויאמר מי אלה לך ויאמר הילדים אשר חנן אלהים את עבדך
MT: וישׂא את עיניו וירא את הנשׁים ואת הילדים ויאמר מי אלה לך ויאמר הילדים אשׁר חנן אלהים את עבדך

Genesis 33:6

SP: ותגשנה השפחות הנה וילדיהן ותשתחוינה
MT: ותגשׁן השׁפחות הנה וילדיהן ותשׁתחוין

Genesis 33:9

SP: ויאמר עשו יש לי רב אחי ויהי לך אשר לך
MT: ויאמר עשׂו ישׁ לי רב אחי יהי לך אשׁר לך

Genesis 33:10

SP: ויאמר יעקב אל נא אם נא מצאתי חן בעיניך ולקחת מנחתי מידי כי על כן ראיתי פניך כראות פני אלהים ותרצני
MT: ויאמר יעקב אל נא אם נא מצאתי חן בעיניך ולקחת מנחתי מידי כי על כן ראיתי פניך כראת פני אלהים ותרצני

Genesis 33:11

SP: קח נא את ברכתי אשר הבאתי לך כי חנני אלהים וכי יש לי כל ויפצר בו ויקח
MT: קח נא את ברכתי אשׁר הבאת לך כי חנני אלהים וכי ישׁ לי כל ויפצר בו ויקח

Genesis 33:13

SP: ויאמר אליו אדני ידע כי הילדים רכים והצאן והבקר אעלת עלי ודפקתים יום אחד ומתו כל הצאן
MT: ויאמר אליו אדני ידע כי הילדים רכים והצאן והבקר עלות עלי ודפקום יום אחד ומתו כל הצאן

Genesis 33:14

SP: יעבר נא אדני לפני עבדו ואני אתנהלה לאטי לרגל המלאכה אשר לפני ולרגל הילדים עד אשר אבוא אל אדני שעירה
MT: יעבר נא אדני לפני עבדו ואני אתנהלה לאטי לרגל המלאכה אשׁר לפני ולרגל הילדים עד אשׁר אבא אל אדני שׂעירה

Genesis 33:17

SP: ויעקב נסע סכותה ויבן לו בית ולמקנהו עשה סכות על כן קרא שם המקום סכות
MT: ויעקב נסע סכתה ויבן לו בית ולמקנהו עשׂה סכת על כן קרא שׁם המקום סכות

Genesis 33:18

SP: ויבא יעקב שלום עיר שכם אשר בארץ כנען בבאו מפדן ארם ויחן את פני העיר
MT: ויבא יעקב שׁלם עיר שׁכם אשׁר בארץ כנען בבאו מפדן ארם ויחן את פני העיר

Genesis 34:1

SP: ותצא דינה בת לאה אשר ילדה ליעקב להראות בבנות הארץ
MT: ותצא דינה בת לאה אשׁר ילדה ליעקב לראות בבנות הארץ

Genesis 34:3

SP: ותדבק נפשו בדינה בת יעקב ויאהב את הנערה וידבר אל לב הנערה
MT: ותדבק נפשׁו בדינה בת יעקב ויאהב את הנער וידבר על לב הנער

Genesis 34:4

SP: ויאמר שכם אל אביו לאמר קח לי את הילדה הזאת לאשה
MT: ויאמר שׁכם אל חמור אביו לאמר קח לי את הילדה הזאת לאשׁה

Genesis 34:5

SP: ויעקב שמע כי טמא את דינה בתו ובניו היו את מקנהו בשדה וחריש יעקב עד באם
MT: ויעקב שׁמע כי טמא את דינה בתו ובניו היו את מקנהו בשׂדה והחרשׁ יעקב עד באם

Genesis 34:10

SP: ואתנו תשבו והארץ תהיה לפניכם שבו סחרו ואחזו בה
MT: ואתנו תשׁבו והארץ תהיה לפניכם שׁבו וסחרוה והאחזו בה

Genesis 34:12

SP: הרבו עלי מהר מאד ומתנה ואתן כאשר תאמרו אלי ותנו לי את הנערה לאשה
MT: הרבו עלי מאד מהר ומתן ואתנה כאשׁר תאמרו אלי ותנו לי את הנער לאשׁה

Genesis 34:13

SP: ויענו בני יעקב את שכם ואת חמור אביו במרמה וידברו אשר טמאו את דינה אחותם
MT: ויענו בני יעקב את שׁכם ואת חמור אביו במרמה וידברו אשׁר טמא את דינה אחתם

Genesis 34:14

SP: ויאמרו אליהם לא נוכל לעשות את הדבר הזה לתת את אחותנו לאיש אשר לו ערלה כי חרפה היא לנו
MT: ויאמרו אליהם לא נוכל לעשׂות הדבר הזה לתת את אחתנו לאישׁ אשׁר לו ערלה כי חרפה הוא לנו

Genesis 34:15

SP: אך בזאת נאות לכם אם תהיו כמונו להמול לכם כל זכר
MT: אך בזאת נאות לכם אם תהיו כמנו להמל לכם כל זכר

Genesis 34:16

SP: ונתנו את בנתינו לכם ואת בנתיכם נקח לנו וישבנו אתכם והיינו כעם אחד
MT: ונתנו את בנתינו לכם ואת בנתיכם נקח לנו וישׁבנו אתכם והיינו לעם אחד

Genesis 34:18

SP: וייטבו דבריהם בעיני חמור ובעיני שכם בנו
MT: וייטבו דבריהם בעיני חמור ובעיני שׁכם בן חמור

Genesis 34:21

SP: האנשים האלה שלמים הם אתנו ישבו בארץ ויסחרו אתה והארץ הנה רחבות ידים לפניהם את בנותם נקח לנו לנשים ואת בנתינו נתן להם
MT: האנשׁים האלה שׁלמים הם אתנו וישׁבו בארץ ויסחרו אתה והארץ הנה רחבת ידים לפניהם את בנתם נקח לנו לנשׁים ואת בנתינו נתן להם

Genesis 34:22

SP: אך בזאת יאותו לנו האנשים לשבת אתנו להיות לעם אחד בהמול לנו כל זכר כאשר הם נמלים
MT: אך בזאת יאתו לנו האנשׁים לשׁבת אתנו להיות לעם אחד בהמול לנו כל זכר כאשׁר הם נמלים

Genesis 34:23

SP: מקניהם וקנינם וכל בהמתם הלוא לנו הם אך נאות להם וישבו אתנו
MT: מקנהם וקנינם וכל בהמתם הלוא לנו הם אך נאותה להם וישׁבו אתנו

Genesis 34:27

SP: ובני יעקב באו על החללים ויבזו העיר אשר טמאו אחותם
MT: בני יעקב באו על החללים ויבזו העיר אשׁר טמאו אחותם

Genesis 34:29

SP: ואת כל חילם ואת טפם ואת נשיהם שבו ויבזו את כל אשר בבית
MT: ואת כל חילם ואת כל טפם ואת נשׁיהם שׁבו ויבזו ואת כל אשׁר בבית

Genesis 34:30

SP: ויאמר יעקב אל שמעון ואל לוי עכרתם אתי להבאשני ביושב הארץ בכנעני ובפרזי ואני מתי מספר ונאספו עלי והכוני ונשמדתי אני וביתי
MT: ויאמר יעקב אל שׁמעון ואל לוי עכרתם אתי להבאישׁני בישׁב הארץ בכנעני ובפרזי ואני מתי מספר ונאספו עלי והכוני ונשׁמדתי אני וביתי

Genesis 34:31

SP: ויאמרו הך זונה יעשו את אחותנו
MT: ויאמרו הכזונה יעשׂה את אחותנו

Genesis 35:2

SP: ויאמר יעקב אל ביתו ואל כל אשר עמו הסירו את אלהי הנכר אשר בתוככם והטהרו והחליפו שמלתיכם
MT: ויאמר יעקב אל ביתו ואל כל אשׁר עמו הסרו את אלהי הנכר אשׁר בתככם והטהרו והחליפו שׂמלתיכם

Genesis 35:4

SP: ויתנו אל יעקב את כל אלהי הנכר אשר בידם ואת הנזמים אשר באזניהם ויטמן אתם יעקב תחת האילה אשר עם שכם
MT: ויתנו אל יעקב את כל אלהי הנכר אשׁר בידם ואת הנזמים אשׁר באזניהם ויטמן אתם יעקב תחת האלה אשׁר עם שׁכם

Genesis 35:5

SP: ויסעו ויהי חתת אלהים על הערים אשר סביבתיהם ולא רדפו אחרי בני יעקב
MT: ויסעו ויהי׀ חתת אלהים על הערים אשׁר סביבתיהם ולא רדפו אחרי בני יעקב

Genesis 35:6

SP: ויבא יעקב לוזה אשר בארץ כנען הוא בית אל הוא וכל העם אשר עמו
MT: ויבא יעקב לוזה אשׁר בארץ כנען הוא בית אל הוא וכל העם אשׁר עמו

Genesis 35:7

SP: ויבן שם מזבח ויקרא למקום אל בית אל כי שם נגלה אליו האלהים בברחו מפני אחיו
MT: ויבן שׁם מזבח ויקרא למקום אל בית אל כי שׁם נגלו אליו האלהים בברחו מפני אחיו

Genesis 35:8

SP: ותמת דבורה מינקת רבקה ותקבר מתחת לבית אל תחת האלון ויקרא שמו אלון בכית
MT: ותמת דברה מינקת רבקה ותקבר מתחת לבית אל תחת האלון ויקרא שׁמו אלון בכות

Genesis 35:9

SP: וירא אלהים אל יעקב עוד בבאו מפדן ארם ויברך אתו אלהים
MT: וירא אלהים אל יעקב עוד בבאו מפדן ארם ויברך אתו

Genesis 35:10

SP: ויאמר לו אלהים שמך יעקב לא יקרא עוד שמך יעקב כי אם ישראל יהיה שמך ויקרא את שמו ישראל
MT: ויאמר לו אלהים שׁמך יעקב לא יקרא שׁמך עוד יעקב כי אם ישׂראל יהיה שׁמך ויקרא את שׁמו ישׂראל

Genesis 35:15

SP: ויקרא יעקב את שם המקום אשר דבר אתו שם אלהים בית אל
MT: ויקרא יעקב את שׁם המקום אשׁר דבר אתו שׁם אלהים בית אל

Genesis 35:16

SP: ויסעו מבית אל ויהי עוד כברת הארץ לבוא אפרתה ותלד רחל ותקש בלדתה
MT: ויסעו מבית אל ויהי עוד כברת הארץ לבוא אפרתה ותלד רחל ותקשׁ בלדתה

Genesis 35:17

SP: ויהי בהקשותה בלדתה ותאמר לה המילדת אל תיראי כי גם זה ליך בן
MT: ויהי בהקשׁתה בלדתה ותאמר לה המילדת אל תיראי כי גם זה לך בן

Genesis 35:18

SP: ויהי בצאת נפשה כי מתה ותקרא את שמו בנ אוני ואביו קרא לו בנימים
MT: ויהי בצאת נפשׁה כי מתה ותקרא שׁמו בן אוני ואביו קרא לו בנימין

Genesis 35:19

SP: ותמת רחל ותקבר בדרך אפרתה היא בית לחם
MT: ותמת רחל ותקבר בדרך אפרתה הוא בית לחם

Genesis 35:20

SP: ויצב יעקב מצבה על קברתה היא מצבת קברת רחל עד היום
MT: ויצב יעקב מצבה על קברתה הוא מצבת קברת רחל עד היום

Genesis 35:21

SP: ויסע ישראל ויט אהלו מהלאה למגדל עדר
MT: ויסע ישׂראל ויט אהלה מהלאה למגדל עדר

Genesis 35:22

SP: ויהי בשכן ישראל בארץ ההיא וילך ראובן וישכב את בלהה פילגש אביו וישמע ישראל ויהיו בני יעקב שנים עשר
MT: ויהי בשׁכן ישׂראל בארץ ההוא וילך ראובן וישׁכב את בלהה פילגשׁ אביו וישׁמע ישׂראל ויהיו בני יעקב שׁנים עשׂר

Genesis 35:24

SP: ובני רחל יוסף ובנימים
MT: בני רחל יוסף ובנימן

Genesis 35:26

SP: ובני זלפה שפחת לאה גד ואשר אלה בני יעקב אשר ילדו לו בפדן ארם
MT: ובני זלפה שׁפחת לאה גד ואשׁר אלה בני יעקב אשׁר ילד לו בפדן ארם

Genesis 35:27

SP: ויבא יעקב אל יצחק אביו ממרא קרית הארבע היא חברון אשר גר שם אברהם ויצחק
MT: ויבא יעקב אל יצחק אביו ממרא קרית הארבע הוא חברון אשׁר גר שׁם אברהם ויצחק

Genesis 35:28

SP: ויהיו ימי יצחק מאת שנה ושמנים שנה
MT: ויהיו ימי יצחק מאת שׁנה ושׁמנים שׁנה

Genesis 35:29

SP: ויגוע יצחק וימת ויאסף אל עמו זקן ושבע ימים ויקברו אתו עשו ויעקב בניו
MT: ויגוע יצחק וימת ויאסף אל עמיו זקן ושׂבע ימים ויקברו אתו עשׂו ויעקב בניו

Genesis 36:1

SP: ואלה תולדת עשו הוא אדום
MT: ואלה תלדות עשׂו הוא אדום

Genesis 36:2

SP: עשו לקח את נשיו מבנות כנען את עדה בת אילון החתי ואת אהליבמה בת ענה בן צבעון החוי
MT: עשׂו לקח את נשׁיו מבנות כנען את עדה בת אילון החתי ואת אהליבמה בת ענה בת צבעון החוי

Genesis 36:3

SP: ואת מחלת בת ישמעאל אחות נבאות
MT: ואת בשׂמת בת ישׁמעאל אחות נביות

Genesis 36:4

SP: ותלד עדה לעשו את אליפז ומחלת ילדה את רעואל
MT: ותלד עדה לעשׂו את אליפז ובשׂמת ילדה את רעואל

Genesis 36:5

SP: ואהליבמה ילדה את יעוש ואת יעלם ואת קרח אלה בני עשו אשר ילדו לו בארץ כנען
MT: ואהליבמה ילדה את יעישׁ ואת יעלם ואת קרח אלה בני עשׂו אשׁר ילדו לו בארץ כנען

Genesis 36:6

SP: ויקח עשו את נשיו ואת בניו ואת בנתיו ואת כל נפשות ביתו ואת מקנהו ואת כל בהמתו ואת כל קנינו אשר רכש בארץ כנען וילך מארץ כנען מפני יעקב אחיו
MT: ויקח עשׂו את נשׁיו ואת בניו ואת בנתיו ואת כל נפשׁות ביתו ואת מקנהו ואת כל בהמתו ואת כל קנינו אשׁר רכשׁ בארץ כנען וילך אל ארץ מפני יעקב אחיו

Genesis 36:7

SP: כי היה רכושם רב משבת יחדו ולא יכלה ארץ מגריהם לשאת אתם מפני מקניהם
MT: כי היה רכושׁם רב משׁבת יחדו ולא יכלה ארץ מגוריהם לשׂאת אתם מפני מקניהם

Genesis 36:9

SP: ואלה תולדת עשו אבי אדום בהר שעיר
MT: ואלה תלדות עשׂו אבי אדום בהר שׂעיר

Genesis 36:10

SP: ואלה שמות בני עשו אליפז בן עדה אשת עשו רעואל בן מחלת אשת עשו
MT: אלה שׁמות בני עשׂו אליפז בן עדה אשׁת עשׂו רעואל בן בשׂמת אשׁת עשׂו

Genesis 36:11

SP: ויהיו בני אליפז תימן ואמר וצפו וגעתם וקנז
MT: ויהיו בני אליפז תימן אומר צפו וגעתם וקנז

Genesis 36:12

SP: ותמנע היתה פילגש לאליפז בן עשו ותלד לאליפז את עמלק אלה בני עדה אשת עשו
MT: ותמנע׀ היתה פילגשׁ לאליפז בן עשׂו ותלד לאליפז את עמלק אלה בני עדה אשׁת עשׂו

Genesis 36:13

SP: ואלה בני רעואל נחת וזרח שמח ומזה אלה היו בני מחלת אשת עשו
MT: ואלה בני רעואל נחת וזרח שׁמה ומזה אלה היו בני בשׂמת אשׁת עשׂו

Genesis 36:14

SP: ואלה היו בני אהליבמה בת ענה בן צבעון אשת עשו ותלד לעשו את יעוש ואת יעלם ואת קרח
MT: ואלה היו בני אהליבמה בת ענה בת צבעון אשׁת עשׂו ותלד לעשׂו את יעישׁ ואת יעלם ואת קרח

Genesis 36:15

SP: אלה אלופי בני עשו בני אליפז בכור עשו אלוף תימן אלוף אמר אלוף צפו אלוף קנז
MT: אלה אלופי בני עשׂו בני אליפז בכור עשׂו אלוף תימן אלוף אומר אלוף צפו אלוף קנז

Genesis 36:16

SP: אלוף געתם אלוף עמלק אלה אלופי אליפז בארץ אדום אלה בני עדה
MT: אלוף קרח אלוף געתם אלוף עמלק אלה אלופי אליפז בארץ אדום אלה בני עדה

Genesis 36:17

SP: ואלה בני רעואל בן עשו אלוף נחת אלוף זרח אלוף שמח אלוף מזה אלה אלופי רעואל בארץ אדום אלה בני מחלת אשת עשו
MT: ואלה בני רעואל בן עשׂו אלוף נחת אלוף זרח אלוף שׁמה אלוף מזה אלה אלופי רעואל בארץ אדום אלה בני בשׂמת אשׁת עשׂו

Genesis 36:19

SP: אלה בני עשו ואלה אלופיהם עשו הוא אדום
MT: אלה בני עשׂו ואלה אלופיהם הוא אדום

Genesis 36:20

SP: ואלה בני שעיר החרי ישבי הארץ לוטן ושובל וצבעון וענה
MT: אלה בני שׂעיר החרי ישׁבי הארץ לוטן ושׁובל וצבעון וענה

Genesis 36:21

SP: ודישון ואצר ודישן אלה אלופי החרי בני שעיר בארץ אדום
MT: ודשׁון ואצר ודישׁן אלה אלופי החרי בני שׂעיר בארץ אדום

Genesis 36:22

SP: ויהיו בני לוטן חרי ואימם ואחות לוטן תמנע
MT: ויהיו בני לוטן חרי והימם ואחות לוטן תמנע

Genesis 36:24

SP: ואלה בני צבעון איה וענה הוא ענה אשר מצא את האימים במדבר ברעתו את החמרים לצבעון אביו
MT: ואלה בני צבעון ואיה וענה הוא ענה אשׁר מצא את הימם במדבר ברעתו את החמרים לצבעון אביו

Genesis 36:25

SP: ואלה בני ענה דישון ואהליבמה בת ענה
MT: ואלה בני ענה דשׁן ואהליבמה בת ענה

Genesis 36:26

SP: ואלה בני דישון חמדן ואשבן יתרן וכרן
MT: ואלה בני דישׁן חמדן ואשׁבן ויתרן וכרן

Genesis 36:27

SP: ואלה בני אצר בלהן וזוען ועקן
MT: אלה בני אצר בלהן וזעון ועקן

Genesis 36:28

SP: ואלה בני דישן עוץ ואדן
MT: אלה בני דישׁן עוץ וארן

Genesis 36:30

SP: אלוף דישון אלוף אצר אלוף דישן אלה אלופי החרי לאלופיהם בארץ שעיר
MT: אלוף דשׁן אלוף אצר אלוף דישׁן אלה אלופי החרי לאלפיהם בארץ שׂעיר

Genesis 36:35

SP: וימת חשם וימלך תחתיו הדד בן בדד המכה את המדיני בשדה מואב ושם עירו עוית
MT: וימת חשׁם וימלך תחתיו הדד בן בדד המכה את מדין בשׂדה מואב ושׁם עירו עוית

Genesis 36:39

SP: וימת בעל חנן וימלך תחתיו הדד ושם עירו פעו ושם אשתו מהטבאל בת מטרד בת מי זהב
MT: וימת בעל חנן בן עכבור וימלך תחתיו הדר ושׁם עירו פעו ושׁם אשׁתו מהיטבאל בת מטרד בת מי זהב

Genesis 36:40

SP: ואלה שמות אלופי עשו למשפחותם למקומותם בשמותם אלוף תמנע אלוף עלוה אלוף יתת
MT: ואלה שׁמות אלופי עשׂו למשׁפחתם למקמתם בשׁמתם אלוף תמנע אלוף עלוה אלוף יתת

Genesis 36:43

SP: אלוף מגדאל אלוף עירם אלה אלופי אדום למשפחותם בארץ אחזתם הוא עשו אבי אדום
MT: אלוף מגדיאל אלוף עירם אלה׀ אלופי אדום למשׁבתם בארץ אחזתם הוא עשׂו אבי אדום

" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "\n", " \n", "\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "from difflib import SequenceMatcher\n", "from IPython.display import HTML, display\n", "\n", "def highlightMatches(baseText, comparisonText):\n", " matcher = SequenceMatcher(None, baseText, comparisonText)\n", " highlightedComparisonText = \"\" \n", " for tag, i1, i2, j1, j2 in matcher.get_opcodes():\n", " if tag == \"equal\": # Identical parts\n", " highlightedComparisonText += comparisonText[j1:j2]\n", " else: # Non-matching parts\n", " highlightedComparisonText += f'{comparisonText[j1:j2]}' \n", " return highlightedComparisonText\n", "\n", "def cleanText(text):\n", " replacements = [\n", " # for the transcoded strings\n", " ('00_P', ''), # Remove '00_P'\n", " ('00_S', ''), # Remove '00_S'\n", " ('00', ''), # Remove '00'\n", " ('&', ' '), # Replace '&' with a space\n", " # for the Hebrew strings\n", " ('ס ', ''), # Final Samekh\n", " ('פ ', ''), # Final Pe\n", " ('׃', ''), # End of verse\n", " ('־',' ') # maqaf\n", " ]\n", " # Apply each replacement\n", " for old, new in replacements:\n", " text = text.replace(old, new)\n", " return text\n", "\n", "# Function to format and highlight verse differences between MT and SP\n", "def formatAndHighlight(label, MTverseText, SPverseText):\n", " book, chapter, verse = label\n", " MTverseNode = Tmt.nodeFromSection(label)\n", " MTtext = cleanText(Tmt.text(MTverseNode, \"text-orig-plain\"))\n", " SPverseNode = Tsp.nodeFromSection(label)\n", " SPtext = Tsp.text(SPverseNode)\n", " SPmarkedText = highlightMatches(MTtext, SPtext)\n", " MTmarkedText = highlightMatches(SPtext, MTtext)\n", " formattedDiff = (\n", " f'

{book} {chapter}:{verse}

'\n", " f'

SP: {SPmarkedText}
MT: {MTmarkedText}

'\n", " )\n", " return formattedDiff\n", "\n", "# Gather differences into an HTML string\n", "htmlContent = f'

Differences between MT and SP for parasha {parashaNameEnglish} ({parashaStart}-{parashaEnd})

'\n", "for label, MTverseText in MTverses.items():\n", " SPverseText = SPverses.get(label, '')\n", " MTverseText = cleanText(MTverseText)\n", " if MTverseText != SPverseText: # Check for differences\n", " difference = formatAndHighlight(label, MTverseText, SPverseText)\n", " htmlContent += difference\n", "\n", "# Save the content to an HTML file\n", "fileName = f\"differences_MT_SP({parashaNameEnglish.replace(' ','%20')}).html\"\n", "with open(fileName, \"w\", encoding=\"utf-8\") as file:\n", " file.write(htmlContent)\n", "\n", "# Display the content in the notebook\n", "display(HTML(htmlContent))\n", "\n", "# wrap html header and footer and display a download button\n", "htmlContentFull = f'{htmlStart}{htmlContent}{htmlFooter}'\n", "downloadButton = f\"\"\"\n", "', '>').replace('\"', '"').replace(\"'\", ''')}\" target=\"_blank\">\n", " \n", "\n", "\"\"\"\n", "display(HTML(downloadButton))" ] }, { "cell_type": "markdown", "id": "da916301", "metadata": {}, "source": [ "# 4 - Compare texts using minimum Levenshtein distance\n", "##### [Back to ToC](#TOC)" ] }, { "cell_type": "markdown", "id": "f516dc36-754b-4b37-b2d7-7f07b18310ac", "metadata": {}, "source": [ "The Levenshtein distance measures the minimum number of single-character edits (insertions, deletions, or substitutions) needed to transform one text into another, providing a quantitative way to compare textual differences. For comparing the Masoretic Text and Samaritan Pentateuch, it highlights variations in spelling, word order, or minor textual changes. \n", "In the context of the Levenshtein distance (in the script below `threshold`), a higher number indicates greater dissimilarity between two texts, meaning more edits (insertions, deletions, or substitutions) are needed to transform one text into the other." ] }, { "cell_type": "code", "execution_count": 6, "id": "e71c202d-a845-4e35-89a4-02d6a45fff31", "metadata": {}, "outputs": [ { "data": { "text/markdown": [ "### Levenshtein distance >20 between MT and SP for parasha Vayishlach (Genesis 32:4-36:43)" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "\n", " \n", "\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "from Levenshtein import distance\n", "from IPython.display import HTML, display\n", "\n", "threshold = 20\n", "\n", "# Create an HTML string to store the output\n", "htmlContent = f'

Levenshtein distance >{threshold} between MT and SP for parasha {parashaNameEnglish} ({parashaStart}-{parashaEnd})

'\n", "\n", "# Create header\n", "MT.dm(f'### Levenshtein distance >{threshold} between MT and SP for parasha {parashaNameEnglish} ({parashaStart}-{parashaEnd})')\n", "\n", "# Generate the HTML content\n", "for label, MTverseText in MTverses.items():\n", " SPverseText = SPverses.get(label, '')\n", " levDistance = distance(MTverseText, SPverseText) # Calculate the distance\n", " if levDistance > threshold:\n", " formattedDiff = formatAndHighlight(label, MTverseText, SPverseText)\n", " formattedDiff += f'

Levenshtein Distance: {levDistance}

' # Add the distance\n", " MT.dm(formattedDiff)\n", " htmlContent += formattedDiff # Append to the HTML content\n", "\n", "# Save the content to an HTML file\n", "fileName = f\"levenshtein_differences_MT_SP({parashaNameEnglish.replace(' ','%20')}).html\"\n", "with open(fileName, \"w\", encoding=\"utf-8\") as file:\n", " file.write(htmlContent)\n", "\n", "# wrap html header and footer and display a download button\n", "htmlContentFull = f'{htmlStart}{htmlContent}{htmlFooter}'\n", "downloadButton = f\"\"\"\n", "', '>').replace('\"', '"').replace(\"'\", ''')}\" target=\"_blank\">\n", " \n", "\n", "\"\"\"\n", "display(HTML(downloadButton))" ] }, { "cell_type": "markdown", "id": "63886933", "metadata": {}, "source": [ "# 5 - Comparison of spelling of proper nouns between SP and MT\n", "##### [Back to ToC](#TOC)\n", "\n", "This section focuses on comparing the spelling of proper nouns between the Samaritan Pentateuch (SP) and the Masoretic Text (MT). Proper nouns, including names of people, places, and unique terms, often exhibit variations in spelling" ] }, { "cell_type": "code", "execution_count": 7, "id": "a4011f7c", "metadata": {}, "outputs": [], "source": [ "import collections\n", "\n", "def collectProperNounSpellings(F, L, T, inputList):\n", " \"\"\"\n", " Collect proper noun spellings and their associated word node numbers.\n", " Ensures only one tuple is stored for each lexeme-to-spelling mapping.\n", " \"\"\"\n", " properNounsSpellings = {}\n", " for bookChapterVerse in inputList:\n", " verseNode = T.nodeFromSection(bookChapterVerse)\n", " wordNodes = L.d(verseNode, 'word')\n", " for wordNode in wordNodes:\n", " if F.sp.v(wordNode) == 'nmpr': # Check if the word is a proper noun\n", " lex = F.lex.v(wordNode) # Lexical form\n", " spelling = F.g_cons.v(wordNode) # Spelling\n", " # Store only the first occurrence for each lex-to-cons mapping\n", " if lex not in properNounsSpellings or spelling not in {item[0] for item in properNounsSpellings[lex]}:\n", " properNounsSpellings.setdefault(lex, []).append((spelling, wordNode))\n", " return properNounsSpellings\n", " \n", "SPspellingDict = collectProperNounSpellings(Fsp, Lsp, Tsp, bookChapterVerseList) \n", "MTspellingDict = collectProperNounSpellings(Fmt, Lmt, Tmt, bookChapterVerseList)" ] }, { "cell_type": "code", "execution_count": 8, "id": "4f596918-087e-4658-bc57-0ffc85779cb7", "metadata": {}, "outputs": [ { "data": { "text/html": [ "

Spelling differences in proper nouns between SP and MT for parasha Vayishlach (Genesis 32:4-36:43)

Word: Peniel Genesis 32:31

  • MT Spelling: פניאל
  • SP Spelling: פנואל

Word: Succoth Genesis 33:17

  • MT Spelling: סכתה
  • SP Spelling: סכותה

Word: Deborah Genesis 35:8

  • MT Spelling: דברה
  • SP Spelling: דבורה

Word: Benjamin Genesis 35:18

  • MT Spelling: בנימין
  • SP Spelling: בנימים

Word: Basemath Genesis 36:3

  • MT Spelling: בשׂמת
  • SP Spelling: None

Word: Nebaioth Genesis 36:3

  • MT Spelling: נביות
  • SP Spelling: נבאות

Word: Jeush Genesis 36:5

  • MT Spelling: יעישׁ
  • SP Spelling: יעושׁ

Word: Omar Genesis 36:11

  • MT Spelling: אומר
  • SP Spelling: אמר

Word: Shammah Genesis 36:13

  • MT Spelling: שׁמה
  • SP Spelling: שׁמח

Word: Dishon Genesis 36:21

  • MT Spelling: דשׁון
  • SP Spelling: דישׁון

Word: Homam Genesis 36:22

  • MT Spelling: הימם
  • SP Spelling: אימם

Word: Zaavan Genesis 36:27

  • MT Spelling: זעון
  • SP Spelling: זוען

Word: Aran Genesis 36:28

  • MT Spelling: ארן
  • SP Spelling: אדן

Word: Midian Genesis 36:35

  • MT Spelling: מדין
  • SP Spelling: None

Word: Hadad Genesis 36:39

  • MT Spelling: הדר
  • SP Spelling: הדד

Word: Mehetabel Genesis 36:39

  • MT Spelling: מהיטבאל
  • SP Spelling: מהטבאל

Word: Magdiel Genesis 36:43

  • MT Spelling: מגדיאל
  • SP Spelling: מגדאל
" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "\n", " \n", "\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "from IPython.display import HTML, display\n", "\n", "# Initialize HTML content\n", "htmlContent = f'

Spelling differences in proper nouns between SP and MT for parasha {parashaNameEnglish} ({parashaStart}-{parashaEnd})

'\n", "\n", "# Generate the HTML output\n", "for lex, MTspellings in MTspellingDict.items():\n", " # Retrieve SP spellings, defaulting to an empty set if lex is not found\n", " SPspellings = SPspellingDict.get(lex, set())\n", "\n", " # Extract only the spellings (ignoring node numbers) for comparison\n", " MTspellingSet = {spelling for spelling, _ in MTspellings}\n", " SPspellingSet = {spelling for spelling, _ in SPspellings}\n", "\n", " # Compare the sets of spellings\n", " if MTspellingSet != SPspellingSet:\n", " # Print MT spelling with reference\n", " MTnode = list(MTspellings)[0][1] # Get first tuple's node number\n", " book, chapter, verse = Tmt.sectionFromNode(MTnode)\n", " MTgloss = Fmt.gloss.v(MTnode)\n", " MTspelling = Fmt.g_cons_utf8.v(MTnode)\n", "\n", " # Build HTML output\n", " output = (\n", " f'

Word: {MTgloss} '\n", " f''\n", " f'{book} {chapter}:{verse}

'\n", " f'
  • MT Spelling: {MTspelling}
  • '\n", " )\n", "\n", " # Print SP spellings with reference\n", " if SPspellings:\n", " SPnode = list(SPspellings)[0][1] # Get first tuple's node number\n", " SPspelling = Fsp.g_cons_utf8.v(SPnode)\n", " output += f'
  • SP Spelling: {SPspelling}
'\n", " else:\n", " output += '
  • SP Spelling: None
  • '\n", "\n", " # Append the output to the HTML content\n", " htmlContent += output\n", "\n", "# Save the HTML content to a file\n", "fileName = f\"spelling_differences_SP_MT({parashaNameEnglish.replace(' ','%20')}).html\"\n", "with open(fileName, \"w\", encoding=\"utf-8\") as file:\n", " file.write(htmlContent)\n", "\n", "# Display the HTML content in the notebook\n", "display(HTML(htmlContent))\n", "\n", "# wrap html header and footer and display a download button\n", "htmlContentFull = f'{htmlStart}{htmlContent}{htmlFooter}'\n", "downloadButton = f\"\"\"\n", "', '>').replace('\"', '"').replace(\"'\", ''')}\" target=\"_blank\">\n", " \n", "\n", "\"\"\"\n", "display(HTML(downloadButton))" ] }, { "cell_type": "markdown", "id": "0fbcc828-2880-4d36-bd66-5a9f085b616d", "metadata": {}, "source": [ "# 6 - References and acknowledgement \n", "##### [Back to ToC](#TOC)\n", "\n", "1 Christian Canu Højgaard, Martijn Naaijer, & Stefan Schorch. (2023). Text-Fabric Dataset of the Samaritan Pentateuch. Zenodo. https://doi.org/10.5281/zenodo.7734632\n", "\n", "2 [Notebook created by Martijn Naaijer](https://github.com/DT-UCPH/sp/blob/main/notebooks/combine_sp_with_mt_data.ipynb)" ] }, { "cell_type": "markdown", "id": "4e319feb-814e-4903-922a-58bae953224c", "metadata": { "tags": [] }, "source": [ "# 7 - Required libraries \n", "##### [Back to ToC](#TOC)\n", "\n", "The scripts in this notebook require (beside `text-fabric`) the following Python libraries to be installed in the environment:\n", "\n", " collections\n", " difflib\n", " Levenshtein\n", "\n", "You can install any missing library from within Jupyter Notebook using either`pip` or `pip3`." ] }, { "cell_type": "markdown", "id": "68f75bc4-7bc2-42f1-af91-fe6e5b83a277", "metadata": {}, "source": [ "# 8 - Notebook version details\n", "##### [Back to ToC](#TOC)\n", "\n", "
    \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
    AuthorTony Jurg
    Version1.1
    Date18 November 2024
    \n", "
    " ] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.12.7" } }, "nbformat": 4, "nbformat_minor": 5 }