Skip to content

Instantly share code, notes, and snippets.

@stephen-ku
Created October 18, 2016 22:06
Show Gist options
  • Save stephen-ku/b1f81c256bf9ff216f763e991136f7d4 to your computer and use it in GitHub Desktop.
Save stephen-ku/b1f81c256bf9ff216f763e991136f7d4 to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<a href=\"http://laf-fabric.readthedocs.org/en/latest/\" target=\"_blank\"><img align=\"left\" src=\"images/laf-fabric-small.png\"/></a>\n",
"<a href=\"http://www.persistent-identifier.nl/?identifier=urn%3Anbn%3Anl%3Aui%3A13-048i-71\" target=\"_blank\"><img align=\"left\"src=\"images/DANS-logo_small.png\"/></a>\n",
"<a href=\"http://www.godgeleerdheid.vu.nl/etcbc\" target=\"_blank\"><img align=\"right\" src=\"images/VU-ETCBC-small.png\"/></a>\n",
"<a href=\"https://www.academic-bible.com/en/online-bibles/biblia-hebraica-stuttgartensia-bhs/read-the-bible-text/\" target=\"_blank\"><img align=\"right\" src=\"files/images/DBG-small.png\"/></a>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Regens\n",
"\n",
"We want to make a list of all construct chains, including the nouns in the construct and absolute states.\n",
"We produce a tab separated file of construct chains.\n",
"The columns are\n",
"\n",
"1. passage label\n",
"1. phrase text\n",
"1. phrase gloss\n",
"1. noun in the construct state\n",
"1. noun in the absolute state\n",
"1. number of words in the head\n",
"1. number of nouns in the head\n",
"\n",
"Hebrew text is represented in ETCBC consonantal transcription, for ease of importing it in Excel.\n",
"It is not difficult to generate fully vocalized Hebrew, but then you need OpenOffice to open the csv file."
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
" 0.00s This is LAF-Fabric 4.8.2\n",
"API reference: http://laf-fabric.readthedocs.org/en/latest/texts/API-reference.html\n",
"Feature doc: https://shebanq.ancient-data.org/static/docs/featuredoc/texts/welcome.html\n",
"\n"
]
}
],
"source": [
"import sys, os\n",
"import collections\n",
"\n",
"import laf\n",
"from laf.fabric import LafFabric\n",
"from etcbc.preprocess import prepare\n",
"fabric = LafFabric()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Loading the feature data"
]
},
{
"cell_type": "code",
"execution_count": 21,
"metadata": {
"collapsed": false,
"scrolled": false
},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
" 0.00s LOADING API: please wait ... \n",
" 0.00s DETAIL: COMPILING m: etcbc4b: UP TO DATE\n",
" 0.00s USING main: etcbc4b DATA COMPILED AT: 2015-11-02T15-08-56\n",
" 0.00s DETAIL: COMPILING a: lexicon: UP TO DATE\n",
" 0.01s USING annox: lexicon DATA COMPILED AT: 2016-07-08T14-32-54\n",
" 0.01s DETAIL: keep main: G.node_anchor_min\n",
" 0.01s DETAIL: keep main: G.node_anchor_max\n",
" 0.01s DETAIL: keep main: G.node_sort\n",
" 0.01s DETAIL: keep main: G.node_sort_inv\n",
" 0.01s DETAIL: keep main: G.edges_from\n",
" 0.01s DETAIL: keep main: G.edges_to\n",
" 0.01s DETAIL: keep main: F.etcbc4_db_otype [node] \n",
" 0.01s DETAIL: keep main: F.etcbc4_ft_g_word_utf8 [node] \n",
" 0.01s DETAIL: keep main: F.etcbc4_ft_trailer_utf8 [node] \n",
" 0.02s DETAIL: keep main: F.etcbc4_sft_book [node] \n",
" 0.02s DETAIL: keep main: F.etcbc4_sft_chapter [node] \n",
" 0.02s DETAIL: keep main: F.etcbc4_sft_verse [node] \n",
" 0.02s DETAIL: clear main: F.etcbc4_ft_g_lex [node] \n",
" 0.02s DETAIL: clear main: F.etcbc4_ft_g_lex_utf8 [node] \n",
" 0.02s DETAIL: clear main: F.etcbc4_ft_g_word [node] \n",
" 0.02s DETAIL: clear main: F.etcbc4_ft_lex [node] \n",
" 0.02s DETAIL: clear main: F.etcbc4_ft_lex_utf8 [node] \n",
" 0.02s DETAIL: clear annox lexicon: F.etcbc4_kq_g_qere_utf8 [node] \n",
" 0.02s DETAIL: clear annox lexicon: F.etcbc4_kq_qtrailer_utf8 [node] \n",
" 0.03s DETAIL: clear annox lexicon: F.etcbc4_ph_phono [node] \n",
" 0.36s DETAIL: clear annox lexicon: F.etcbc4_ph_phono_sep [node] \n",
" 0.50s DETAIL: load main: F.etcbc4_ft_function [node] \n",
" 0.68s DETAIL: load main: F.etcbc4_ft_number [node] \n",
" 1.14s DETAIL: load main: F.etcbc4_ft_rela [node] \n",
" 1.47s DETAIL: load main: F.etcbc4_ft_sp [node] \n",
" 1.65s DETAIL: load main: F.etcbc4_ft_mother [e] \n",
" 1.70s DETAIL: load main: C.etcbc4_ft_mother -> \n",
" 1.92s DETAIL: load main: C.etcbc4_ft_mother <- \n",
" 2.04s DETAIL: load annox lexicon: F.etcbc4_lex_gloss [node] \n",
" 2.46s INFO: LOADING PREPARED data: please wait ... \n",
" 2.46s DETAIL: keep prep: G.node_sort\n",
" 2.46s DETAIL: keep prep: G.node_sort_inv\n",
" 2.46s DETAIL: keep prep: L.node_up\n",
" 2.46s DETAIL: keep prep: L.node_down\n",
" 2.46s DETAIL: keep prep: V.verses\n",
" 2.46s DETAIL: keep prep: V.books_la\n",
" 2.47s ETCBC reference: http://laf-fabric.readthedocs.org/en/latest/texts/ETCBC-reference.html\n",
" 4.64s INFO: LOADED PREPARED data\n",
" 4.64s INFO: DATA LOADED FROM SOURCE etcbc4b AND ANNOX lexicon FOR TASK adjectives AT 2016-10-17T16-12-05\n"
]
}
],
"source": [
"version = '4b'\n",
"API = fabric.load('etcbc{}'.format(version), 'lexicon', 'adjectives', {\n",
" \"xmlids\": {\"node\": False, \"edge\": False},\n",
" \"features\": ('''\n",
" otype \n",
" function rela sp\n",
" gloss\n",
" g_word_utf8 trailer_utf8\n",
" book chapter verse number\n",
" ''',\n",
" '''\n",
" mother\n",
" '''),\n",
" \"prepare\": prepare,\n",
" \"primary\": False,\n",
"}, verbose='DETAIL')\n",
"exec(fabric.localnames.format(var='fabric'))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Collect data\n",
"\n",
"We need phrases that act as a mother to one or more attributive subphrases.\n",
"That means that such a subphrase must have the \n",
"[rela](https://shebanq.ancient-data.org/shebanq/static/docs/featuredoc/features/comments/rela.html)\n",
"feature set to `atr`. "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Let us first collect subphrases having `rela = atr`."
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
" 0.01s Finding subphrases ...\n",
" 1.72s 34882 regens subphrases\n"
]
}
],
"source": [
"rec_subphrases = set()\n",
"inf('Finding subphrases ...')\n",
"for s in F.otype.s('subphrase'):\n",
" if F.rela.v(s) != 'rec':\n",
" continue\n",
" rec_subphrases.add(s)\n",
"inf('{} regens subphrases'.format(len(rec_subphrases)))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Now let us add the mothers to those subphrases.\n",
"If there is no mother, we leave it out.\n",
"A subphrase should not have multiple mothers, but we'll check that anyway."
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
" 1m 00s No subphrases with multiple mothers\n",
" 1m 00s No subphrases without mothers\n",
" 1m 00s 34882 regens subphrases with a single mother\n"
]
}
],
"source": [
"rec_subphrase_mother = dict()\n",
"multiple_mothers = set()\n",
"no_mothers = set()\n",
"for s in rec_subphrases:\n",
" mothers = list(C.mother.v(s))\n",
" if len(mothers) == 0:\n",
" no_mothers.add(s)\n",
" continue\n",
" if len(mothers) > 1: \n",
" multiple_mothers.add(s)\n",
" continue\n",
" rec_subphrase_mother[s] = mothers[0]\n",
"if len(multiple_mothers):\n",
" msg('{} subphrases with multiple mothers'.format(len(multiple_mothers)))\n",
"else:\n",
" inf('No subphrases with multiple mothers')\n",
"if len(no_mothers):\n",
" msg('{} subphrases without mothers'.format(len(no_mothers)))\n",
"else:\n",
" inf('No subphrases without mothers')\n",
"\n",
"inf('{} regens subphrases with a single mother'.format(len(rec_subphrase_mother)))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Let us get some information about the mothers of those subphrases.\n",
"What kind of objects are they?"
]
},
{
"cell_type": "code",
"execution_count": 40,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"34882 subphrases with a mother of type word\n"
]
}
],
"source": [
"mother_types = collections.Counter()\n",
"idents = 0\n",
"for (s, m) in rec_subphrase_mother.items():\n",
" mother_types[F.otype.v(m)] +=1\n",
"\n",
"for t in sorted(mother_types):\n",
" print('{:>4} subphrases with a mother of type {}'.format(mother_types[t], t))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"So the mother is always a word.\n",
"What about the length of that word?"
]
},
{
"cell_type": "code",
"execution_count": 45,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"22808 subphrases with a mother of length 1\n",
"9603 subphrases with a mother of length 2\n",
"1637 subphrases with a mother of length 3\n",
" 595 subphrases with a mother of length 4\n",
" 134 subphrases with a mother of length 5\n",
" 48 subphrases with a mother of length 6\n",
" 19 subphrases with a mother of length 7\n",
" 16 subphrases with a mother of length 8\n",
" 5 subphrases with a mother of length 9\n",
" 4 subphrases with a mother of length 10\n",
" 2 subphrases with a mother of length 11\n",
" 2 subphrases with a mother of length 13\n",
" 1 subphrases with a mother of length 14\n",
" 2 subphrases with a mother of length 15\n",
" 1 subphrases with a mother of length 16\n",
" 4 subphrases with a mother of length 17\n",
" 1 subphrases with a mother of length 18\n"
]
}
],
"source": [
"mother_length = collections.Counter()\n",
"#print(rec_subphrase_mother)\n",
"for (s, m) in rec_subphrase_mother.items():\n",
" #print(len(str(m)))\n",
" mother_length[len(L.d('word', s))] +=1\n",
"\n",
"for t in sorted(mother_length):\n",
" print('{:>4} subphrases with a mother of length {:>2}'.format(mother_length[t], t))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"How many nouns has the mother?"
]
},
{
"cell_type": "code",
"execution_count": 28,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"13149 subphrases with a mother having 0 nouns\n",
"19038 subphrases with a mother having 1 nouns\n",
"2392 subphrases with a mother having 2 nouns\n",
" 243 subphrases with a mother having 3 nouns\n",
" 42 subphrases with a mother having 4 nouns\n",
" 5 subphrases with a mother having 5 nouns\n",
" 5 subphrases with a mother having 6 nouns\n",
" 3 subphrases with a mother having 7 nouns\n",
" 3 subphrases with a mother having 8 nouns\n",
" 1 subphrases with a mother having 9 nouns\n",
" 1 subphrases with a mother having 10 nouns\n"
]
}
],
"source": [
"mother_nouns = collections.Counter()\n",
"for (s, m) in rec_subphrase_mother.items():\n",
" mother_nouns[len([w for w in L.d('word', s) if F.sp.v(w) == 'subs'])] +=1\n",
"\n",
"for t in sorted(mother_nouns):\n",
" print('{:>4} subphrases with a mother having {:>2} nouns'.format(mother_nouns[t], t))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Generating output\n",
"\n",
"Let us now assemble all data into the final output.\n",
"We produce also a row of column headers."
]
},
{
"cell_type": "code",
"execution_count": 34,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"fields = '''\n",
" passage\n",
" phrase_text\n",
" phrase_gloss\n",
" head\n",
" absolute\n",
" #words_mother\n",
" #nouns_mother\n",
"'''.strip().split()\n",
"nfields = len(fields)\n",
"row_template = ('{}\\t' * (nfields - 1))+'{}\\n'"
]
},
{
"cell_type": "code",
"execution_count": 35,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"29h 29m 38s Written 34883 lines to regens_ec.csv\n",
"29h 29m 45s Written 34883 lines to regens_ha.csv\n"
]
}
],
"source": [
"of_path_template = 'regens_{}.csv'\n",
"for fmt in ['ec', 'ha']:\n",
" of = open(of_path_template.format(fmt), 'w')\n",
" of.write('{}\\n'.format('\\t'.join(fields)))\n",
" for s in sorted(rec_subphrase_mother, key=NK):\n",
" sw = list(L.d('word', s))\n",
" p = L.u('phrase', s)\n",
" pw = list(L.d('word', p))\n",
" m = rec_subphrase_mother[s]\n",
" mw = list(L.d('word', s))\n",
"\n",
" of.write(row_template.format(\n",
" T.passage(s),\n",
" T.words(pw, fmt=fmt).replace('\\n', ' '),\n",
" ' '.join(F.gloss.v(w) for w in pw),\n",
" T.words(mw, fmt=fmt).replace('\\n', ' '),\n",
" T.words(sw, fmt=fmt).replace('\\n', ' '),\n",
" len(mw),\n",
" len([w for w in mw if F.sp.v(w) == 'subs']),\n",
" ))\n",
"\n",
" of.close()\n",
" inf('Written {} lines to {}'.format(len(rec_subphrase_mother) + 1, of_path_template.format(fmt)))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Results\n",
"[etcbc consonantal](attributives_ec.csv)\n",
"and\n",
"[fully pointed hebrew](attributives_ha.csv).\n",
"\n",
"Screenshot made in the Numbers program:\n",
"\n",
"<img align=\"left\" src=\"attributives_numbers.png\"/>"
]
},
{
"cell_type": "code",
"execution_count": 38,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"passage\tphrase_text\tphrase_gloss\thead\tabsolute\t#words_mother\t#nouns_mother\n",
"Genesis 1:2\t<L&PNJ THWM \tupon face primeval ocean\tTHWM \tTHWM \t1\t1\n",
"Genesis 1:2\tRWX >LHJM \twind god(s)\t>LHJM \t>LHJM \t1\t1\n",
"Genesis 1:2\t<L&PNJ HMJM00 \tupon face the water\tHMJM00 \tHMJM00 \t2\t1\n",
"Genesis 1:6\tBTWK HMJM \tin midst the water\tHMJM \tHMJM \t2\t1\n",
"Genesis 1:9\tHMJM MTXT H#MJM \tthe water from under part the heavens\tH#MJM \tH#MJM \t2\t1\n",
"Genesis 1:10\tLMQWH HMJM \tto collection the water\tHMJM \tHMJM \t2\t1\n",
"Genesis 1:11\tD#> <#B <Y PRJ \tyoung grass herb tree fruit\tPRJ \tPRJ \t1\t1\n",
"Genesis 1:14\tBRQJ< H#MJM \tin firmament the heavens\tH#MJM \tH#MJM \t2\t1\n",
"Genesis 1:15\tBRQJ< H#MJM \tin firmament the heavens\tH#MJM \tH#MJM \t2\t1\n",
"Genesis 1:16\t>T&#NJ HM>RT HGDLJM \t<object marker> two the lamp the great\tHM>RT HGDLJM \tHM>RT HGDLJM \t4\t1\n",
"Genesis 1:16\t>T&HM>WR HGDL LMM#LT HJWM \t<object marker> the lamp the great to dominion the day\tHJWM \tHJWM \t2\t1\n",
"Genesis 1:16\t>T&HM>WR HQVN LMM#LT HLJLH \t<object marker> the lamp the small to dominion the night\tHLJLH \tHLJLH \t2\t1\n",
"Genesis 1:17\tBRQJ< H#MJM \tin firmament the heavens\tH#MJM \tH#MJM \t2\t1\n",
"Genesis 1:20\t#RY NP# XJH \tswarming creatures soul alive\tNP# XJH \tNP# XJH \t2\t1\n",
"Genesis 1:20\t<L&H>RY <L&PNJ RQJ< H#MJM00 \tupon the earth upon face firmament the heavens\tRQJ< H#MJM00 \tRQJ< H#MJM00 \t3\t2\n",
"Genesis 1:20\t<L&H>RY <L&PNJ RQJ< H#MJM00 \tupon the earth upon face firmament the heavens\tH#MJM00 \tH#MJM00 \t2\t1\n",
"Genesis 1:21\t>T&HTNJNM HGDLJM W>T KL&NP# \t<object marker> the sea-monster the great and <object marker> whole soul\tNP# \tNP# \t1\t1\n",
"Genesis 1:21\t>T KL&<WP KNP \t<object marker> whole birds wing\t<WP KNP \t<WP KNP \t2\t2\n",
"Genesis 1:24\tBHMH WRM# WXJTW&>RY \tcattle and creeping animals and wild animal earth\t>RY \t>RY \t1\t1\n",
"Genesis 1:25\t>T&XJT H>RY \t<object marker> wild animal the earth\tH>RY \tH>RY \t2\t1\n",
"Genesis 1:25\t>T KL&RM# H>DMH \t<object marker> whole creeping animals the soil\tRM# H>DMH \tRM# H>DMH \t3\t2\n",
"Genesis 1:25\t>T KL&RM# H>DMH \t<object marker> whole creeping animals the soil\tH>DMH \tH>DMH \t2\t1\n",
"Genesis 1:26\tBDGT HJM WB<WP H#MJM WBBHMH WBKL&H>RY WBKL&HRM# \tin fish the sea and in birds the heavens and in the cattle and in whole the earth and in whole the creeping animals\tHJM \tHJM \t2\t1\n",
"Genesis 1:26\tBDGT HJM WB<WP H#MJM WBBHMH WBKL&H>RY WBKL&HRM# \tin fish the sea and in birds the heavens and in the cattle and in whole the earth and in whole the creeping animals\tH#MJM \tH#MJM \t2\t1\n",
"Genesis 1:26\tBDGT HJM WB<WP H#MJM WBBHMH WBKL&H>RY WBKL&HRM# \tin fish the sea and in birds the heavens and in the cattle and in whole the earth and in whole the creeping animals\tH>RY \tH>RY \t2\t1\n",
"Genesis 1:26\tBDGT HJM WB<WP H#MJM WBBHMH WBKL&H>RY WBKL&HRM# \tin fish the sea and in birds the heavens and in the cattle and in whole the earth and in whole the creeping animals\tHRM# \tHRM# \t2\t1\n",
"Genesis 1:27\tBYLM >LHJM \tin image god(s)\t>LHJM \t>LHJM \t1\t1\n",
"Genesis 1:28\tBDGT HJM WB<WP H#MJM WBKL&XJH \tin fish the sea and in birds the heavens and in whole wild animal\tHJM \tHJM \t2\t1\n",
"Genesis 1:28\tBDGT HJM WB<WP H#MJM WBKL&XJH \tin fish the sea and in birds the heavens and in whole wild animal\tH#MJM \tH#MJM \t2\t1\n",
"Genesis 1:28\tBDGT HJM WB<WP H#MJM WBKL&XJH \tin fish the sea and in birds the heavens and in whole wild animal\tXJH \tXJH \t1\t1\n",
"Genesis 1:29\t>T&KL&<#B W>T&KL&H<Y \t<object marker> whole herb and <object marker> whole the tree\t<#B \t<#B \t1\t1\n",
"Genesis 1:29\t<L&PNJ KL&H>RY \tupon face whole the earth\tKL&H>RY \tKL&H>RY \t3\t2\n",
"Genesis 1:29\t<L&PNJ KL&H>RY \tupon face whole the earth\tH>RY \tH>RY \t2\t1\n",
"Genesis 1:29\t>T&KL&<#B W>T&KL&H<Y \t<object marker> whole herb and <object marker> whole the tree\tH<Y \tH<Y \t2\t1\n",
"Genesis 1:29\tPRJ&<Y \tfruit tree\t<Y \t<Y \t1\t1\n",
"Genesis 1:30\tLKL&XJT H>RY WLKL&<WP H#MJM WLKL RWM# <L&H>RY \tto whole wild animal the earth and to whole birds the heavens and to whole creep upon the earth\tXJT H>RY \tXJT H>RY \t3\t2\n",
"Genesis 1:30\tLKL&XJT H>RY WLKL&<WP H#MJM WLKL RWM# <L&H>RY \tto whole wild animal the earth and to whole birds the heavens and to whole creep upon the earth\tH>RY \tH>RY \t2\t1\n",
"Genesis 1:30\tLKL&XJT H>RY WLKL&<WP H#MJM WLKL RWM# <L&H>RY \tto whole wild animal the earth and to whole birds the heavens and to whole creep upon the earth\t<WP H#MJM \t<WP H#MJM \t3\t2\n",
"Genesis 1:30\tLKL&XJT H>RY WLKL&<WP H#MJM WLKL RWM# <L&H>RY \tto whole wild animal the earth and to whole birds the heavens and to whole creep upon the earth\tH#MJM \tH#MJM \t2\t1\n",
"Genesis 1:30\tLKL&XJT H>RY WLKL&<WP H#MJM WLKL RWM# <L&H>RY \tto whole wild animal the earth and to whole birds the heavens and to whole creep upon the earth\tRWM# \tRWM# \t1\t0\n",
"Genesis 1:30\t>T&KL&JRQ <#B \t<object marker> whole greens herb\tJRQ <#B \tJRQ <#B \t2\t2\n",
"Genesis 1:31\tJWM H##J00 \tday the sixth\tH##J00 \tH##J00 \t2\t0\n",
"Genesis 2:1\tH#MJM WH>RY WKL&YB>M00 \tthe heavens and the earth and whole service\tYB>M00 \tYB>M00 \t1\t1\n",
"Genesis 2:2\tMKL&ML>KTW \tfrom whole work\tML>KTW \tML>KTW \t1\t1\n",
"Genesis 2:3\t>T&JWM H#BJ<J \t<object marker> day the seventh\tH#BJ<J \tH#BJ<J \t2\t0\n",
"Genesis 2:3\tMKL&ML>KTW \tfrom whole work\tML>KTW \tML>KTW \t1\t1\n",
"Genesis 2:4\tTWLDWT H#MJM WH>RY \tgenerations the heavens and the earth\tH#MJM WH>RY \tH#MJM WH>RY \t5\t2\n",
"Genesis 2:5\tKL #JX H#DH \twhole shrub the open field\t#JX H#DH \t#JX H#DH \t3\t2\n",
"Genesis 2:5\tKL #JX H#DH \twhole shrub the open field\tH#DH \tH#DH \t2\t1\n",
"Genesis 2:5\tKL&<#B H#DH \twhole herb the open field\t<#B H#DH \t<#B H#DH \t3\t2\n",
"Genesis 2:5\tKL&<#B H#DH \twhole herb the open field\tH#DH \tH#DH \t2\t1\n",
"Genesis 2:6\t>T&KL&PNJ&H>DMH00 \t<object marker> whole face the soil\tPNJ&H>DMH00 \tPNJ&H>DMH00 \t3\t2\n",
"Genesis 2:6\t>T&KL&PNJ&H>DMH00 \t<object marker> whole face the soil\tH>DMH00 \tH>DMH00 \t2\t1\n",
"Genesis 2:7\tN#MT XJJM \tbreath life\tXJJM \tXJJM \t1\t1\n",
"Genesis 2:9\tKL&<Y \twhole tree\t<Y \t<Y \t1\t1\n",
"Genesis 2:9\t<Y HXJJM \ttree the life\tHXJJM \tHXJJM \t2\t1\n",
"Genesis 2:9\tBTWK HGN \tin midst the garden\tHGN \tHGN \t2\t1\n",
"Genesis 2:9\t<Y HD<T VWB WR<00 \ttree the knowledge good and evil\tHD<T \tHD<T \t2\t1\n",
"Genesis 2:11\t#M H>XD \tname the one\tH>XD \tH>XD \t2\t1\n",
"Genesis 2:11\t>T KL&>RY HXWJLH \t<object marker> whole earth the Havilah\t>RY HXWJLH \t>RY HXWJLH \t3\t1\n",
"Genesis 2:11\t>T KL&>RY HXWJLH \t<object marker> whole earth the Havilah\tHXWJLH \tHXWJLH \t2\t0\n",
"Genesis 2:12\tZHB H>RY HHW> \tgold the earth the she\tH>RY HHW> \tH>RY HHW> \t4\t1\n",
"Genesis 2:12\tHBDLX W>BN H#HM00 \tthe bdellium-gum and stone the carnelian\tH#HM00 \tH#HM00 \t2\t1\n",
"Genesis 2:13\t#M&HNHR H#NJ \tname the stream the second\tHNHR H#NJ \tHNHR H#NJ \t4\t1\n",
"Genesis 2:13\t>T KL&>RY KW#00 \t<object marker> whole earth Cush\t>RY KW#00 \t>RY KW#00 \t2\t1\n",
"Genesis 2:13\t>T KL&>RY KW#00 \t<object marker> whole earth Cush\tKW#00 \tKW#00 \t1\t0\n",
"Genesis 2:14\t#M HNHR H#LJ#J \tname the stream the third\tHNHR H#LJ#J \tHNHR H#LJ#J \t4\t1\n",
"Genesis 2:15\tBGN&<DN \tin garden Eden\t<DN \t<DN \t1\t0\n",
"Genesis 2:16\tMKL <Y&HGN \tfrom whole tree the garden\t<Y&HGN \t<Y&HGN \t3\t2\n",
"Genesis 2:16\tMKL <Y&HGN \tfrom whole tree the garden\tHGN \tHGN \t2\t1\n",
"Genesis 2:17\tM<Y HD<T VWB WR< \tfrom tree the knowledge good and evil\tHD<T \tHD<T \t2\t1\n",
"Genesis 2:19\tKL&XJT H#DH W>T KL&<WP H#MJM \twhole wild animal the open field and <object marker> whole birds the heavens\tXJT H#DH \tXJT H#DH \t3\t2\n",
"Genesis 2:19\tKL&XJT H#DH W>T KL&<WP H#MJM \twhole wild animal the open field and <object marker> whole birds the heavens\tH#DH \tH#DH \t2\t1\n",
"Genesis 2:19\tKL&XJT H#DH W>T KL&<WP H#MJM \twhole wild animal the open field and <object marker> whole birds the heavens\t<WP H#MJM \t<WP H#MJM \t3\t2\n",
"Genesis 2:19\tKL&XJT H#DH W>T KL&<WP H#MJM \twhole wild animal the open field and <object marker> whole birds the heavens\tH#MJM \tH#MJM \t2\t1\n",
"Genesis 2:20\tLKL&HBHMH WL<WP H#MJM WLKL XJT H#DH \tto whole the cattle and to birds the heavens and to whole wild animal the open field\tHBHMH \tHBHMH \t2\t1\n",
"Genesis 2:20\tLKL&HBHMH WL<WP H#MJM WLKL XJT H#DH \tto whole the cattle and to birds the heavens and to whole wild animal the open field\tH#MJM \tH#MJM \t2\t1\n",
"Genesis 2:20\tLKL&HBHMH WL<WP H#MJM WLKL XJT H#DH \tto whole the cattle and to birds the heavens and to whole wild animal the open field\tXJT H#DH \tXJT H#DH \t3\t2\n",
"Genesis 2:20\tLKL&HBHMH WL<WP H#MJM WLKL XJT H#DH \tto whole the cattle and to birds the heavens and to whole wild animal the open field\tH#DH \tH#DH \t2\t1\n",
"Genesis 3:1\tMKL XJT H#DH \tfrom whole wild animal the open field\tXJT H#DH \tXJT H#DH \t3\t2\n",
"Genesis 3:1\tMKL XJT H#DH \tfrom whole wild animal the open field\tH#DH \tH#DH \t2\t1\n",
"Genesis 3:1\tMKL <Y HGN00 \tfrom whole tree the garden\t<Y HGN00 \t<Y HGN00 \t3\t2\n",
"Genesis 3:1\tMKL <Y HGN00 \tfrom whole tree the garden\tHGN00 \tHGN00 \t2\t1\n",
"Genesis 3:2\tMPRJ <Y&HGN \tfrom fruit tree the garden\t<Y&HGN \t<Y&HGN \t3\t2\n",
"Genesis 3:2\tMPRJ <Y&HGN \tfrom fruit tree the garden\tHGN \tHGN \t2\t1\n",
"Genesis 3:3\tMPRJ H<Y \tfrom fruit the tree\tH<Y \tH<Y \t2\t1\n",
"Genesis 3:3\tBTWK&HGN \tin midst the garden\tHGN \tHGN \t2\t1\n",
"Genesis 3:5\tJD<J VWB WR<00 \tknow good and evil\tVWB WR<00 \tVWB WR<00 \t3\t0\n",
"Genesis 3:7\t<JNJ #NJHM \teye two\t#NJHM \t#NJHM \t1\t1\n",
"Genesis 3:7\t<LH T>NH \tleafage fig\tT>NH \tT>NH \t1\t1\n",
"Genesis 3:8\t>T&QWL JHWH >LHJM \t<object marker> sound YHWH god(s)\tJHWH >LHJM \tJHWH >LHJM \t2\t1\n",
"Genesis 3:8\tLRWX HJWM \tto wind the day\tHJWM \tHJWM \t2\t1\n",
"Genesis 3:8\tMPNJ JHWH >LHJM \tfrom face YHWH god(s)\tJHWH >LHJM \tJHWH >LHJM \t2\t1\n",
"Genesis 3:8\tBTWK <Y HGN00 \tin midst tree the garden\t<Y HGN00 \t<Y HGN00 \t3\t2\n",
"Genesis 3:8\tBTWK <Y HGN00 \tin midst tree the garden\tHGN00 \tHGN00 \t2\t1\n",
"Genesis 3:14\tMKL&HBHMH WMKL XJT H#DH \tfrom whole the cattle and from whole wild animal the open field\tHBHMH \tHBHMH \t2\t1\n",
"Genesis 3:14\tMKL&HBHMH WMKL XJT H#DH \tfrom whole the cattle and from whole wild animal the open field\tXJT H#DH \tXJT H#DH \t3\t2\n",
"Genesis 3:14\tMKL&HBHMH WMKL XJT H#DH \tfrom whole the cattle and from whole wild animal the open field\tH#DH \tH#DH \t2\t1\n",
"Genesis 3:14\tKL&JMJ XJJK00 \twhole day life\tJMJ XJJK00 \tJMJ XJJK00 \t2\t2\n",
"Genesis 3:14\tKL&JMJ XJJK00 \twhole day life\tXJJK00 \tXJJK00 \t1\t1\n",
"Genesis 3:17\tLQWL >#TK \tto sound woman\t>#TK \t>#TK \t1\t1\n",
"Genesis 3:17\tKL JMJ XJJK00 \twhole day life\tJMJ XJJK00 \tJMJ XJJK00 \t2\t2\n",
"Genesis 3:17\tKL JMJ XJJK00 \twhole day life\tXJJK00 \tXJJK00 \t1\t1\n",
"Genesis 3:18\t>T&<#B H#DH00 \t<object marker> herb the open field\tH#DH00 \tH#DH00 \t2\t1\n",
"Genesis 3:19\tBZ<T >PJK \tin sweat nose\t>PJK \t>PJK \t1\t1\n",
"Genesis 3:20\t#M >#TW \tname woman\t>#TW \t>#TW \t1\t1\n",
"Genesis 3:20\t>M KL&XJ00 \tmother w\n"
]
}
],
"source": [
"print(open(of_path_template.format('ec')).read()[0:10000])"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"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.5.2"
}
},
"nbformat": 4,
"nbformat_minor": 0
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment