parallels.ipynb
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"import collections\n",
"\n",
"from tf.app import use"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"TF app is up-to-date.\n",
"Using annotation/app-oldbabylonian commit 1f12c687368dec8eabefe35264a30f4d5eac3fb4 (=latest)\n",
" in /Users/dirk/text-fabric-data/__apps__/oldbabylonian.\n",
"No new data release available online.\n",
"Using Nino-cunei/oldbabylonian/tf - 1.0.1 rv1.0.1 (=latest) in /Users/dirk/text-fabric-data.\n"
]
},
{
"data": {
"text/html": [
"<b>Documentation:</b> <a target=\"_blank\" href=\"https://github.com/Nino-cunei/oldbabylonian/blob/master/docs/\" title=\"provenance of Old Babylonian Letters 1900-1600: Cuneiform tablets \">OLDBABYLONIAN</a> <a target=\"_blank\" href=\"https://github.com/Nino-cunei/oldbabylonian/blob/master/docs/transcription.md\" title=\"How TF features represent ATF\">Character table</a> <a target=\"_blank\" href=\"https://github.com/Nino-cunei/oldbabylonian/blob/master/docs//transcription.md\" title=\"OLDBABYLONIAN feature documentation\">Feature docs</a> <a target=\"_blank\" href=\"https://github.com/annotation/app-oldbabylonian\" title=\"oldbabylonian API documentation\">oldbabylonian API</a> <a target=\"_blank\" href=\"https://annotation.github.io/text-fabric/Api/Fabric/\" title=\"text-fabric-api\">Text-Fabric API 7.4.11</a> <a target=\"_blank\" href=\"https://annotation.github.io/text-fabric/Use/Search/\" title=\"Search Templates Introduction and Reference\">Search Reference</a><details open><summary><b>Loaded features</b>:</summary>\n",
"<p><b>Old Babylonian Letters 1900-1600: Cuneiform tablets </b>: <a target=\"_blank\" href=\"https://github.com/Nino-cunei/oldbabylonian/blob/master/docs//transcription.md\" title=\"/Users/dirk/text-fabric-data/Nino-cunei/oldbabylonian/tf/1.0.1/after.tf\">after</a> <a target=\"_blank\" href=\"https://github.com/Nino-cunei/oldbabylonian/blob/master/docs//transcription.md\" title=\"/Users/dirk/text-fabric-data/Nino-cunei/oldbabylonian/tf/1.0.1/afterr.tf\">afterr</a> <a target=\"_blank\" href=\"https://github.com/Nino-cunei/oldbabylonian/blob/master/docs//transcription.md\" title=\"/Users/dirk/text-fabric-data/Nino-cunei/oldbabylonian/tf/1.0.1/afteru.tf\">afteru</a> <a target=\"_blank\" href=\"https://github.com/Nino-cunei/oldbabylonian/blob/master/docs//transcription.md\" title=\"/Users/dirk/text-fabric-data/Nino-cunei/oldbabylonian/tf/1.0.1/atf.tf\">atf</a> <a target=\"_blank\" href=\"https://github.com/Nino-cunei/oldbabylonian/blob/master/docs//transcription.md\" title=\"/Users/dirk/text-fabric-data/Nino-cunei/oldbabylonian/tf/1.0.1/atfpost.tf\">atfpost</a> <a target=\"_blank\" href=\"https://github.com/Nino-cunei/oldbabylonian/blob/master/docs//transcription.md\" title=\"/Users/dirk/text-fabric-data/Nino-cunei/oldbabylonian/tf/1.0.1/atfpre.tf\">atfpre</a> <a target=\"_blank\" href=\"https://github.com/Nino-cunei/oldbabylonian/blob/master/docs//transcription.md\" title=\"/Users/dirk/text-fabric-data/Nino-cunei/oldbabylonian/tf/1.0.1/col.tf\">col</a> <a target=\"_blank\" href=\"https://github.com/Nino-cunei/oldbabylonian/blob/master/docs//transcription.md\" title=\"/Users/dirk/text-fabric-data/Nino-cunei/oldbabylonian/tf/1.0.1/collated.tf\">collated</a> <a target=\"_blank\" href=\"https://github.com/Nino-cunei/oldbabylonian/blob/master/docs//transcription.md\" title=\"/Users/dirk/text-fabric-data/Nino-cunei/oldbabylonian/tf/1.0.1/collection.tf\">collection</a> <a target=\"_blank\" href=\"https://github.com/Nino-cunei/oldbabylonian/blob/master/docs//transcription.md\" title=\"/Users/dirk/text-fabric-data/Nino-cunei/oldbabylonian/tf/1.0.1/comment.tf\">comment</a> <a target=\"_blank\" href=\"https://github.com/Nino-cunei/oldbabylonian/blob/master/docs//transcription.md\" title=\"/Users/dirk/text-fabric-data/Nino-cunei/oldbabylonian/tf/1.0.1/damage.tf\">damage</a> <a target=\"_blank\" href=\"https://github.com/Nino-cunei/oldbabylonian/blob/master/docs//transcription.md\" title=\"/Users/dirk/text-fabric-data/Nino-cunei/oldbabylonian/tf/1.0.1/det.tf\">det</a> <a target=\"_blank\" href=\"https://github.com/Nino-cunei/oldbabylonian/blob/master/docs//transcription.md\" title=\"/Users/dirk/text-fabric-data/Nino-cunei/oldbabylonian/tf/1.0.1/docnote.tf\">docnote</a> <a target=\"_blank\" href=\"https://github.com/Nino-cunei/oldbabylonian/blob/master/docs//transcription.md\" title=\"/Users/dirk/text-fabric-data/Nino-cunei/oldbabylonian/tf/1.0.1/docnumber.tf\">docnumber</a> <a target=\"_blank\" href=\"https://github.com/Nino-cunei/oldbabylonian/blob/master/docs//transcription.md\" title=\"/Users/dirk/text-fabric-data/Nino-cunei/oldbabylonian/tf/1.0.1/excised.tf\">excised</a> <a target=\"_blank\" href=\"https://github.com/Nino-cunei/oldbabylonian/blob/master/docs//transcription.md\" title=\"/Users/dirk/text-fabric-data/Nino-cunei/oldbabylonian/tf/1.0.1/face.tf\">face</a> <a target=\"_blank\" href=\"https://github.com/Nino-cunei/oldbabylonian/blob/master/docs//transcription.md\" title=\"/Users/dirk/text-fabric-data/Nino-cunei/oldbabylonian/tf/1.0.1/flags.tf\">flags</a> <a target=\"_blank\" href=\"https://github.com/Nino-cunei/oldbabylonian/blob/master/docs//transcription.md\" title=\"/Users/dirk/text-fabric-data/Nino-cunei/oldbabylonian/tf/1.0.1/fraction.tf\">fraction</a> <a target=\"_blank\" href=\"https://github.com/Nino-cunei/oldbabylonian/blob/master/docs//transcription.md\" title=\"/Users/dirk/text-fabric-data/Nino-cunei/oldbabylonian/tf/1.0.1/grapheme.tf\">grapheme</a> <a target=\"_blank\" href=\"https://github.com/Nino-cunei/oldbabylonian/blob/master/docs//transcription.md\" title=\"/Users/dirk/text-fabric-data/Nino-cunei/oldbabylonian/tf/1.0.1/graphemer.tf\">graphemer</a> <a target=\"_blank\" href=\"https://github.com/Nino-cunei/oldbabylonian/blob/master/docs//transcription.md\" title=\"/Users/dirk/text-fabric-data/Nino-cunei/oldbabylonian/tf/1.0.1/graphemeu.tf\">graphemeu</a> <a target=\"_blank\" href=\"https://github.com/Nino-cunei/oldbabylonian/blob/master/docs//transcription.md\" title=\"/Users/dirk/text-fabric-data/Nino-cunei/oldbabylonian/tf/1.0.1/lang.tf\">lang</a> <a target=\"_blank\" href=\"https://github.com/Nino-cunei/oldbabylonian/blob/master/docs//transcription.md\" title=\"/Users/dirk/text-fabric-data/Nino-cunei/oldbabylonian/tf/1.0.1/langalt.tf\">langalt</a> <a target=\"_blank\" href=\"https://github.com/Nino-cunei/oldbabylonian/blob/master/docs//transcription.md\" title=\"/Users/dirk/text-fabric-data/Nino-cunei/oldbabylonian/tf/1.0.1/ln.tf\">ln</a> <a target=\"_blank\" href=\"https://github.com/Nino-cunei/oldbabylonian/blob/master/docs//transcription.md\" title=\"/Users/dirk/text-fabric-data/Nino-cunei/oldbabylonian/tf/1.0.1/lnc.tf\">lnc</a> <a target=\"_blank\" href=\"https://github.com/Nino-cunei/oldbabylonian/blob/master/docs//transcription.md\" title=\"/Users/dirk/text-fabric-data/Nino-cunei/oldbabylonian/tf/1.0.1/lnno.tf\">lnno</a> <a target=\"_blank\" href=\"https://github.com/Nino-cunei/oldbabylonian/blob/master/docs//transcription.md\" title=\"/Users/dirk/text-fabric-data/Nino-cunei/oldbabylonian/tf/1.0.1/missing.tf\">missing</a> <a target=\"_blank\" href=\"https://github.com/Nino-cunei/oldbabylonian/blob/master/docs//transcription.md\" title=\"/Users/dirk/text-fabric-data/Nino-cunei/oldbabylonian/tf/1.0.1/object.tf\">object</a> <a target=\"_blank\" href=\"https://github.com/Nino-cunei/oldbabylonian/blob/master/docs//transcription.md\" title=\"/Users/dirk/text-fabric-data/Nino-cunei/oldbabylonian/tf/1.0.1/operator.tf\">operator</a> <a target=\"_blank\" href=\"https://github.com/Nino-cunei/oldbabylonian/blob/master/docs//transcription.md\" title=\"/Users/dirk/text-fabric-data/Nino-cunei/oldbabylonian/tf/1.0.1/operatorr.tf\">operatorr</a> <a target=\"_blank\" href=\"https://github.com/Nino-cunei/oldbabylonian/blob/master/docs//transcription.md\" title=\"/Users/dirk/text-fabric-data/Nino-cunei/oldbabylonian/tf/1.0.1/operatoru.tf\">operatoru</a> <a target=\"_blank\" href=\"https://github.com/Nino-cunei/oldbabylonian/blob/master/docs//transcription.md\" title=\"/Users/dirk/text-fabric-data/Nino-cunei/oldbabylonian/tf/1.0.1/otype.tf\">otype</a> <a target=\"_blank\" href=\"https://github.com/Nino-cunei/oldbabylonian/blob/master/docs//transcription.md\" title=\"/Users/dirk/text-fabric-data/Nino-cunei/oldbabylonian/tf/1.0.1/pnumber.tf\">pnumber</a> <a target=\"_blank\" href=\"https://github.com/Nino-cunei/oldbabylonian/blob/master/docs//transcription.md\" title=\"/Users/dirk/text-fabric-data/Nino-cunei/oldbabylonian/tf/1.0.1/primecol.tf\">primecol</a> <a target=\"_blank\" href=\"https://github.com/Nino-cunei/oldbabylonian/blob/master/docs//transcription.md\" title=\"/Users/dirk/text-fabric-data/Nino-cunei/oldbabylonian/tf/1.0.1/primeln.tf\">primeln</a> <a target=\"_blank\" href=\"https://github.com/Nino-cunei/oldbabylonian/blob/master/docs//transcription.md\" title=\"/Users/dirk/text-fabric-data/Nino-cunei/oldbabylonian/tf/1.0.1/question.tf\">question</a> <a target=\"_blank\" href=\"https://github.com/Nino-cunei/oldbabylonian/blob/master/docs//transcription.md\" title=\"/Users/dirk/text-fabric-data/Nino-cunei/oldbabylonian/tf/1.0.1/reading.tf\">reading</a> <a target=\"_blank\" href=\"https://github.com/Nino-cunei/oldbabylonian/blob/master/docs//transcription.md\" title=\"/Users/dirk/text-fabric-data/Nino-cunei/oldbabylonian/tf/1.0.1/readingr.tf\">readingr</a> <a target=\"_blank\" href=\"https://github.com/Nino-cunei/oldbabylonian/blob/master/docs//transcription.md\" title=\"/Users/dirk/text-fabric-data/Nino-cunei/oldbabylonian/tf/1.0.1/readingu.tf\">readingu</a> <a target=\"_blank\" href=\"https://github.com/Nino-cunei/oldbabylonian/blob/master/docs//transcription.md\" title=\"/Users/dirk/text-fabric-data/Nino-cunei/oldbabylonian/tf/1.0.1/remarkable.tf\">remarkable</a> <a target=\"_blank\" href=\"https://github.com/Nino-cunei/oldbabylonian/blob/master/docs//transcription.md\" title=\"/Users/dirk/text-fabric-data/Nino-cunei/oldbabylonian/tf/1.0.1/remarks.tf\">remarks</a> <a target=\"_blank\" href=\"https://github.com/Nino-cunei/oldbabylonian/blob/master/docs//transcription.md\" title=\"/Users/dirk/text-fabric-data/Nino-cunei/oldbabylonian/tf/1.0.1/repeat.tf\">repeat</a> <a target=\"_blank\" href=\"https://github.com/Nino-cunei/oldbabylonian/blob/master/docs//transcription.md\" title=\"/Users/dirk/text-fabric-data/Nino-cunei/oldbabylonian/tf/1.0.1/srcLn.tf\">srcLn</a> <a target=\"_blank\" href=\"https://github.com/Nino-cunei/oldbabylonian/blob/master/docs//transcription.md\" title=\"/Users/dirk/text-fabric-data/Nino-cunei/oldbabylonian/tf/1.0.1/srcLnNum.tf\">srcLnNum</a> <a target=\"_blank\" href=\"https://github.com/Nino-cunei/oldbabylonian/blob/master/docs//transcription.md\" title=\"/Users/dirk/text-fabric-data/Nino-cunei/oldbabylonian/tf/1.0.1/srcfile.tf\">srcfile</a> <a target=\"_blank\" href=\"https://github.com/Nino-cunei/oldbabylonian/blob/master/docs//transcription.md\" title=\"/Users/dirk/text-fabric-data/Nino-cunei/oldbabylonian/tf/1.0.1/supplied.tf\">supplied</a> <a target=\"_blank\" href=\"https://github.com/Nino-cunei/oldbabylonian/blob/master/docs//transcription.md\" title=\"/Users/dirk/text-fabric-data/Nino-cunei/oldbabylonian/tf/1.0.1/sym.tf\">sym</a> <a target=\"_blank\" href=\"https://github.com/Nino-cunei/oldbabylonian/blob/master/docs//transcription.md\" title=\"/Users/dirk/text-fabric-data/Nino-cunei/oldbabylonian/tf/1.0.1/symr.tf\">symr</a> <a target=\"_blank\" href=\"https://github.com/Nino-cunei/oldbabylonian/blob/master/docs//transcription.md\" title=\"/Users/dirk/text-fabric-data/Nino-cunei/oldbabylonian/tf/1.0.1/symu.tf\">symu</a> <a target=\"_blank\" href=\"https://github.com/Nino-cunei/oldbabylonian/blob/master/docs//transcription.md\" title=\"/Users/dirk/text-fabric-data/Nino-cunei/oldbabylonian/tf/1.0.1/trans.tf\">trans</a> <a target=\"_blank\" href=\"https://github.com/Nino-cunei/oldbabylonian/blob/master/docs//transcription.md\" title=\"/Users/dirk/text-fabric-data/Nino-cunei/oldbabylonian/tf/1.0.1/translation@en.tf\">translation@ll</a> <a target=\"_blank\" href=\"https://github.com/Nino-cunei/oldbabylonian/blob/master/docs//transcription.md\" title=\"/Users/dirk/text-fabric-data/Nino-cunei/oldbabylonian/tf/1.0.1/type.tf\">type</a> <a target=\"_blank\" href=\"https://github.com/Nino-cunei/oldbabylonian/blob/master/docs//transcription.md\" title=\"/Users/dirk/text-fabric-data/Nino-cunei/oldbabylonian/tf/1.0.1/uncertain.tf\">uncertain</a> <a target=\"_blank\" href=\"https://github.com/Nino-cunei/oldbabylonian/blob/master/docs//transcription.md\" title=\"/Users/dirk/text-fabric-data/Nino-cunei/oldbabylonian/tf/1.0.1/volume.tf\">volume</a> <b><i><a target=\"_blank\" href=\"https://github.com/Nino-cunei/oldbabylonian/blob/master/docs//transcription.md\" title=\"/Users/dirk/text-fabric-data/Nino-cunei/oldbabylonian/tf/1.0.1/oslots.tf\">oslots</a></i></b> </p></details>"
],
"text/plain": [
"<IPython.core.display.HTML object>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"<style>\n",
"@font-face {\n",
" font-family: \"Santakku\";\n",
" src:\n",
" local(\"Santakku.ttf\"),\n",
" url(\"https://github.com/annotation/text-fabric/blob/master/tf/server/static/fonts/Santakku.woff?raw=true\");\n",
"}\n",
".txtn,.txtn a:visited,.txtn a:link {\n",
" font-family: sans-serif;\n",
" font-size: normal;\n",
" text-decoration: none;\n",
"}\n",
".txtp,.txtp a:visited,.txtp a:link {\n",
" font-family: monospace;\n",
" font-size: normal;\n",
" text-decoration: none;\n",
"}\n",
".txtr,.txtr a:visited,.txtr a:link {\n",
" font-family: serif;\n",
" font-size: large;\n",
" text-decoration: none;\n",
"}\n",
".txtu,.txtu a:visited,.txtu a:link {\n",
" font-family: Santakku;\n",
" font-size: x-large;\n",
" text-decoration: none;\n",
"}\n",
".features {\n",
" font-family: monospace;\n",
" font-size: medium;\n",
" font-weight: bold;\n",
" color: #0a6611;\n",
" display: flex;\n",
" flex-flow: column nowrap;\n",
" padding: 0.1em;\n",
" margin: 0.1em;\n",
" direction: ltr;\n",
"}\n",
".features div,.features span {\n",
" padding: 0;\n",
" margin: -0.1rem 0;\n",
"}\n",
".features .f {\n",
" font-family: sans-serif;\n",
" font-size: x-small;\n",
" font-weight: normal;\n",
" color: #5555bb;\n",
"}\n",
".features .xft {\n",
" color: #000000;\n",
" background-color: #eeeeee;\n",
" font-size: medium;\n",
" margin: 0.1em 0em;\n",
"}\n",
".features .xft .f {\n",
" color: #000000;\n",
" background-color: #eeeeee;\n",
" font-style: italic;\n",
" font-size: small;\n",
" font-weight: normal;\n",
"}\n",
".pnum {\n",
" font-family: sans-serif;\n",
" font-size: small;\n",
" font-weight: bold;\n",
" color: #444444;\n",
"}\n",
".nd {\n",
" font-family: monospace;\n",
" font-size: x-small;\n",
" color: #999999;\n",
"}\n",
".meta {\n",
" display: flex;\n",
" justify-content: flex-start;\n",
" align-items: flex-start;\n",
" align-content: flex-start;\n",
" flex-flow: row nowrap;\n",
"}\n",
".features,.comments {\n",
" display: flex;\n",
" justify-content: flex-start;\n",
" align-items: flex-start;\n",
" align-content: flex-start;\n",
" flex-flow: column nowrap;\n",
"}\n",
".children {\n",
" display: flex;\n",
" justify-content: flex-start;\n",
" align-items: flex-start;\n",
" align-content: flex-start;\n",
" border: 0;\n",
" background-color: #ffffff;\n",
"}\n",
".children.document {\n",
" flex-flow: column nowrap;\n",
"}\n",
".children.face {\n",
" flex-flow: column nowrap;\n",
"}\n",
".children.line {\n",
" align-items: stretch;\n",
" flex-flow: row nowrap;\n",
"}\n",
".children.cluster {\n",
" flex-flow: row wrap;\n",
"}\n",
".children.line {\n",
" align-items: stretch;\n",
" flex-flow: row nowrap;\n",
"}\n",
".children.sign {\n",
" flex-flow: column nowrap;\n",
"}\n",
".contnr {\n",
" width: fit-content;\n",
"}\n",
".contnr.document,.contnr.face,\n",
".contnr.line,\n",
".contnr.cluster,\n",
".contnr.word,\n",
".contnr.sign {\n",
" display: flex;\n",
" justify-content: flex-start;\n",
" align-items: flex-start;\n",
" align-content: flex-start;\n",
" flex-flow: column nowrap;\n",
" background: #ffffff none repeat scroll 0 0;\n",
" padding: 0.5em 0.1em 0.1em 0.1em;\n",
" margin: 0.8em 0.1em 0.1em 0.1em;\n",
" border-radius: 0.2em;\n",
" border-style: solid;\n",
" border-width: 0.2em;\n",
" font-size: small;\n",
"}\n",
".contnr.document,.contnr.face {\n",
" border-color: #bb8800;\n",
"}\n",
".contnr.line {\n",
" border-color: #0088bb;\n",
"}\n",
".contnr.cluster {\n",
" flex-flow: row wrap;\n",
" border: 0;\n",
"}\n",
".contnr.word {\n",
" border-color: #44bbff;\n",
"}\n",
".contnr.sign {\n",
" border-color: #bbbbbb;\n",
"}\n",
".contnr.hl {\n",
" background-color: #ffee66;\n",
"}\n",
".lbl.document,.lbl.face,\n",
".lbl.line,\n",
".lbl.cluster,\n",
".lbl.sign,.lbl.word {\n",
" margin-top: -1.2em;\n",
" margin-left: 1em;\n",
" background: #ffffff none repeat scroll 0 0;\n",
" padding: 0 0.3em;\n",
" border-style: solid;\n",
" font-size: small;\n",
" display: block;\n",
"}\n",
".lbl.document,.lbl.face {\n",
" border-color: #bb8800;\n",
" border-width: 0.3em;\n",
" border-radius: 0.3em;\n",
" color: #bb8800;\n",
"}\n",
".lbl.line {\n",
" border-color: #0088bb;\n",
" border-width: 0.3em;\n",
" border-radius: 0.3em;\n",
" color: #0088bb;\n",
"}\n",
".lbl.cluster {\n",
" border-color: #dddddd;\n",
" border-width: 0.2em;\n",
" border-radius: 0.2em;\n",
" color: #0000cc;\n",
"}\n",
".lbl.word {\n",
" border-color: #44bbff;\n",
" border-width: 0.2em;\n",
" border-radius: 0.2em;\n",
" font-size: medium;\n",
" color: #000000;\n",
"}\n",
".lbl.sign {\n",
" border-color: #bbbbbb;\n",
" border-width: 0.1em;\n",
" border-radius: 0.1em;\n",
" font-size: small;\n",
" color: #000000;\n",
"}\n",
".op {\n",
" padding: 0.5em 0.1em 0.1em 0.1em;\n",
" margin: 0.8em 0.1em 0.1em 0.1em;\n",
" font-family: monospace;\n",
" font-size: x-large;\n",
" font-weight: bold;\n",
"}\n",
".name {\n",
" font-family: monospace;\n",
" font-size: medium;\n",
" color: #0000bb;\n",
"}\n",
".period {\n",
" font-family: monospace;\n",
" font-size: medium;\n",
" font-weight: bold;\n",
" color: #0000bb;\n",
"}\n",
".text {\n",
" font-family: sans-serif;\n",
" font-size: x-small;\n",
" color: #000000;\n",
"}\n",
".srcln {\n",
" font-family: monospace;\n",
" font-size: medium;\n",
" color: #000000;\n",
"}\n",
".srclnnum {\n",
" font-family: monospace;\n",
" font-size: x-small;\n",
" color: #0000bb;\n",
"}\n",
".comment {\n",
" color: #7777dd;\n",
" font-family: monospace;\n",
" font-size: small;\n",
"}\n",
".operator {\n",
" color: #ff77ff;\n",
" font-size: large;\n",
"}\n",
"/* LANGUAGE: superscript and subscript */\n",
"\n",
"/* cluster */\n",
".det {\n",
" vertical-align: super;\n",
"}\n",
"/* cluster */\n",
".langalt {\n",
" vertical-align: sub;\n",
"}\n",
"/* REDACTIONAL: line over or under */\n",
"\n",
"/* flag */\n",
".collated {\n",
" font-weight: bold;\n",
" text-decoration: underline;\n",
"}\n",
"/* cluster */\n",
".excised {\n",
" color: #dd0000;\n",
" text-decoration: line-through;\n",
"}\n",
"/* cluster */\n",
".supplied {\n",
" color: #0000ff;\n",
" text-decoration: overline;\n",
"}\n",
"/* flag */\n",
".remarkable {\n",
" font-weight: bold;\n",
" text-decoration: overline;\n",
"}\n",
"\n",
"/* UNSURE: italic*/\n",
"\n",
"/* cluster */\n",
".uncertain {\n",
" font-style: italic\n",
"}\n",
"/* flag */\n",
".question {\n",
" font-weight: bold;\n",
" font-style: italic\n",
"}\n",
"\n",
"/* BROKEN: text-shadow */\n",
"\n",
"/* cluster */\n",
".missing {\n",
" color: #999999;\n",
" text-shadow: #bbbbbb 1px 1px;\n",
"}\n",
"/* flag */\n",
".damage {\n",
" font-weight: bold;\n",
" color: #999999;\n",
" text-shadow: #bbbbbb 1px 1px;\n",
"}\n",
".empty {\n",
" color: #ff0000;\n",
"}\n",
"\n",
"span.hldot {\n",
"\tbackground-color: var(--hl-strong);\n",
"\tborder: 0.2rem solid var(--hl-rim);\n",
"\tborder-radius: 0.4rem;\n",
"\t/*\n",
"\tdisplay: inline-block;\n",
"\twidth: 0.8rem;\n",
"\theight: 0.8rem;\n",
"\t*/\n",
"}\n",
"span.hl {\n",
"\tbackground-color: var(--hl-strong);\n",
"\tborder-width: 0;\n",
"\tborder-radius: 0.1rem;\n",
"\tborder-style: solid;\n",
"}\n",
"\n",
"span.hlup {\n",
"\tborder-color: var(--hl-dark);\n",
"\tborder-width: 0.1rem;\n",
"\tborder-style: solid;\n",
"\tborder-radius: 0.2rem;\n",
" padding: 0.2rem;\n",
"}\n",
"\n",
":root {\n",
"\t--hl-strong: hsla( 60, 100%, 70%, 0.9 );\n",
"\t--hl-rim: hsla( 55, 100%, 60%, 0.9 );\n",
"\t--hl-dark: hsla( 55, 100%, 40%, 0.9 );\n",
"}\n",
"</style>"
],
"text/plain": [
"<IPython.core.display.HTML object>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"<details open><summary><b>API members</b>:</summary>\n",
"<a target=\"_blank\" href=\"https://annotation.github.io/text-fabric/Api/Computed/#computed-data\" title=\"doc\">C Computed</a>, <a target=\"_blank\" href=\"https://annotation.github.io/text-fabric/Api/Computed/#computed-data\" title=\"doc\">Call AllComputeds</a>, <a target=\"_blank\" href=\"https://annotation.github.io/text-fabric/Api/Computed/#computed-data\" title=\"doc\">Cs ComputedString</a><br/>\n",
"<a target=\"_blank\" href=\"https://annotation.github.io/text-fabric/Api/Features/#edge-features\" title=\"doc\">E Edge</a>, <a target=\"_blank\" href=\"https://annotation.github.io/text-fabric/Api/Features/#edge-features\" title=\"doc\">Eall AllEdges</a>, <a target=\"_blank\" href=\"https://annotation.github.io/text-fabric/Api/Features/#edge-features\" title=\"doc\">Es EdgeString</a><br/>\n",
"<a target=\"_blank\" href=\"https://annotation.github.io/text-fabric/Api/Fabric/#loading\" title=\"doc\">ensureLoaded</a>, <a target=\"_blank\" href=\"https://annotation.github.io/text-fabric/Api/Fabric/#loading\" title=\"doc\">TF</a>, <a target=\"_blank\" href=\"https://annotation.github.io/text-fabric/Api/Fabric/#loading\" title=\"doc\">ignored</a>, <a target=\"_blank\" href=\"https://annotation.github.io/text-fabric/Api/Fabric/#loading\" title=\"doc\">loadLog</a><br/>\n",
"<a target=\"_blank\" href=\"https://annotation.github.io/text-fabric/Api/Locality/#locality\" title=\"doc\">L Locality</a><br/>\n",
"<a target=\"_blank\" href=\"https://annotation.github.io/text-fabric/Api/Misc/#messaging\" title=\"doc\">cache</a>, <a target=\"_blank\" href=\"https://annotation.github.io/text-fabric/Api/Misc/#messaging\" title=\"doc\">error</a>, <a target=\"_blank\" href=\"https://annotation.github.io/text-fabric/Api/Misc/#messaging\" title=\"doc\">indent</a>, <a target=\"_blank\" href=\"https://annotation.github.io/text-fabric/Api/Misc/#messaging\" title=\"doc\">info</a>, <a target=\"_blank\" href=\"https://annotation.github.io/text-fabric/Api/Misc/#messaging\" title=\"doc\">reset</a><br/>\n",
"<a target=\"_blank\" href=\"https://annotation.github.io/text-fabric/Api/Nodes/#navigating-nodes\" title=\"doc\">N Nodes</a>, <a target=\"_blank\" href=\"https://annotation.github.io/text-fabric/Api/Nodes/#navigating-nodes\" title=\"doc\">sortKey</a>, <a target=\"_blank\" href=\"https://annotation.github.io/text-fabric/Api/Nodes/#navigating-nodes\" title=\"doc\">sortKeyTuple</a>, <a target=\"_blank\" href=\"https://annotation.github.io/text-fabric/Api/Nodes/#navigating-nodes\" title=\"doc\">otypeRank</a>, <a target=\"_blank\" href=\"https://annotation.github.io/text-fabric/Api/Nodes/#navigating-nodes\" title=\"doc\">sortNodes</a><br/>\n",
"<a target=\"_blank\" href=\"https://annotation.github.io/text-fabric/Api/Features/#node-features\" title=\"doc\">F Feature</a>, <a target=\"_blank\" href=\"https://annotation.github.io/text-fabric/Api/Features/#node-features\" title=\"doc\">Fall AllFeatures</a>, <a target=\"_blank\" href=\"https://annotation.github.io/text-fabric/Api/Features/#node-features\" title=\"doc\">Fs FeatureString</a><br/>\n",
"<a target=\"_blank\" href=\"https://annotation.github.io/text-fabric/Api/Search/#search\" title=\"doc\">S Search</a><br/>\n",
"<a target=\"_blank\" href=\"https://annotation.github.io/text-fabric/Api/Text/#text\" title=\"doc\">T Text</a></details>"
],
"text/plain": [
"<IPython.core.display.HTML object>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"A = use('oldbabylonian', hoist=globals(), check=True)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Parallels\n",
"\n",
"We make edges between similar lines.\n",
"\n",
"When are lines similar?\n",
"\n",
"If a certain distance metric is above a certain threshold.\n",
"\n",
"We choose this metric:\n",
"\n",
"* we reduce a line to the set of readings and graphemes in it, excluding unknown signs and ellipses.\n",
"* the similarite between two lines is the length of the intersection divided by the length of the union of their sets times 100."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Preparation\n",
"\n",
"We pre-compute all sets for all lines."
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [],
"source": [
"READABLE_TYPES = {'reading', 'grapheme', 'numeral', 'complex'}\n",
"\n",
"def makeSet(l):\n",
" if F.lnc.v(l): # comment line\n",
" return None\n",
" lineSet = set()\n",
" for s in L.d(l, otype='sign'):\n",
" if F.type.v(s) in READABLE_TYPES:\n",
" r = F.readingr.v(s)\n",
" if r:\n",
" lineSet.add(r)\n",
" g = F.graphemer.v(s)\n",
" if g:\n",
" lineSet.add(g)\n",
" return lineSet"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"25923 lines\n"
]
}
],
"source": [
"lines = {}\n",
"\n",
"for l in F.otype.s('line'):\n",
" lineSet = makeSet(l)\n",
" if lineSet:\n",
" lines[l] = makeSet(l)\n",
" \n",
"print(f'{len(lines)} lines')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Measure"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [],
"source": [
"def sim(lSet, mSet):\n",
" return 100 * len(lSet & mSet) / len(lSet | mSet)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Compute all similarities\n",
"\n",
"We are going to perform millions of comparisons, each of which is more than an elemetary operation.\n",
"\n",
"Let's measure time."
]
},
{
"cell_type": "code",
"execution_count": 51,
"metadata": {},
"outputs": [],
"source": [
"THRESHOLD = 90\n",
"\n",
"def computeSim(limit=None):\n",
" similarity = {}\n",
"\n",
" lineNodes = sorted(lines.keys())\n",
" nLines = len(lineNodes)\n",
"\n",
" nComparisons = nLines * (nLines - 1) // 2\n",
"\n",
" print(f'{nComparisons} comparisons to make')\n",
" chunkSize = nComparisons // 100\n",
"\n",
" co = 0\n",
" b = 0\n",
" si = 0\n",
" p = 0\n",
"\n",
" indent(reset=True)\n",
"\n",
" stop = False\n",
" for i in range(nLines):\n",
" nodeI = lineNodes[i]\n",
" lineI = lines[nodeI]\n",
" for j in range(i + 1, nLines):\n",
" nodeJ = lineNodes[j]\n",
" lineJ = lines[nodeJ]\n",
" s = sim(lineI, lineJ)\n",
" co += 1\n",
" b += 1\n",
" if b == chunkSize:\n",
" p += 1\n",
" info(f'{p:>3}% - {co:>12} comparisons and {si:>10} similarities')\n",
" b = 0\n",
" if limit is not None and p >= limit:\n",
" stop = True\n",
" break\n",
"\n",
" if s < THRESHOLD:\n",
" continue\n",
" similarity[(nodeI, nodeJ)] = sim(lineI, lineJ)\n",
" si += 1\n",
" if stop:\n",
" break\n",
"\n",
" info(f'{p:>3}% - {co:>12} comparisons and {si:>10} similarities')\n",
" return similarity"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We are going to run it to 3% first and do some checks then."
]
},
{
"cell_type": "code",
"execution_count": 52,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"335988003 comparisons to make\n",
" 3.71s 1% - 3359880 comparisons and 5695 similarities\n",
" 7.16s 2% - 6719760 comparisons and 10604 similarities\n",
" 11s 3% - 10079640 comparisons and 16028 similarities\n",
" 11s 3% - 10079640 comparisons and 16028 similarities\n"
]
}
],
"source": [
"similarity = computeSim(limit=3)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We check the sanity of the results."
]
},
{
"cell_type": "code",
"execution_count": 53,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"90.0\n",
"100.0\n"
]
}
],
"source": [
"print(min(similarity.values()))\n",
"print(max(similarity.values()))"
]
},
{
"cell_type": "code",
"execution_count": 54,
"metadata": {},
"outputs": [],
"source": [
"eq = [x for x in similarity.items() if x[1] >= 100]\n",
"neq = [x for x in similarity.items() if x[1] <= 90]"
]
},
{
"cell_type": "code",
"execution_count": 55,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"16006\n",
"11\n"
]
}
],
"source": [
"print(len(eq))\n",
"print(len(neq))"
]
},
{
"cell_type": "code",
"execution_count": 56,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"((230787, 235393), 100.0)\n",
"((230796, 230810), 90.0)\n"
]
}
],
"source": [
"print(eq[0])\n",
"print(neq[0])"
]
},
{
"cell_type": "code",
"execution_count": 57,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<a href=\"https://cdli.ucla.edu/search/search_results.php?SearchMode=Text&ObjectID=P509373\" title=\"P509373 obverse:1\" sec=\"P509373 obverse:1\">P509373 obverse:1 </a><span class=\"txtp\">[a-na] _{d}suen_-i-[din-nam]</span>"
],
"text/plain": [
"<IPython.core.display.HTML object>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"<a href=\"https://cdli.ucla.edu/search/search_results.php?SearchMode=Text&ObjectID=P510729\" title=\"P510729 obverse:1\" sec=\"P510729 obverse:1\">P510729 obverse:1 </a><span class=\"txtp\">a-na {d}suen-i-din-[nam]</span>"
],
"text/plain": [
"<IPython.core.display.HTML object>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"A.plain(eq[0][0][0])\n",
"A.plain(eq[0][0][1])"
]
},
{
"cell_type": "code",
"execution_count": 58,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<a href=\"https://cdli.ucla.edu/search/search_results.php?SearchMode=Text&ObjectID=P509373\" title=\"P509373 obverse:10\" sec=\"P509373 obverse:10\">P509373 obverse:10 </a><span class=\"txtp\">_a-sza3 a-gar3_ na-ag-[ma-lum] _uru_ x x x{ki}</span>"
],
"text/plain": [
"<IPython.core.display.HTML object>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"<a href=\"https://cdli.ucla.edu/search/search_results.php?SearchMode=Text&ObjectID=P509373\" title=\"P509373 reverse:7'\" sec=\"P509373 reverse:7'\">P509373 reverse:7' </a><span class=\"txtp\">_a-[sza3 a-gar3_ na-ag]-ma-lum _uru gan2_ x x{ki}</span>"
],
"text/plain": [
"<IPython.core.display.HTML object>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"A.plain(neq[0][0][0])\n",
"A.plain(neq[0][0][1])"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Looks good.\n",
"\n",
"Now the whole computation:"
]
},
{
"cell_type": "code",
"execution_count": 39,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"335988003 comparisons to make\n",
" 3.53s 1% - 3359880 comparisons and 5695 similarities\n",
" 7.04s 2% - 6719760 comparisons and 10604 similarities\n",
" 11s 3% - 10079640 comparisons and 16028 similarities\n",
" 14s 4% - 13439520 comparisons and 24005 similarities\n",
" 17s 5% - 16799400 comparisons and 30694 similarities\n",
" 21s 6% - 20159280 comparisons and 37992 similarities\n",
" 24s 7% - 23519160 comparisons and 44479 similarities\n",
" 28s 8% - 26879040 comparisons and 49298 similarities\n",
" 31s 9% - 30238920 comparisons and 56259 similarities\n",
" 35s 10% - 33598800 comparisons and 59520 similarities\n",
" 38s 11% - 36958680 comparisons and 64009 similarities\n",
" 41s 12% - 40318560 comparisons and 69139 similarities\n",
" 45s 13% - 43678440 comparisons and 71511 similarities\n",
" 48s 14% - 47038320 comparisons and 75137 similarities\n",
" 52s 15% - 50398200 comparisons and 82081 similarities\n",
" 55s 16% - 53758080 comparisons and 88712 similarities\n",
" 59s 17% - 57117960 comparisons and 92990 similarities\n",
" 1m 02s 18% - 60477840 comparisons and 98118 similarities\n",
" 1m 06s 19% - 63837720 comparisons and 103792 similarities\n",
" 1m 09s 20% - 67197600 comparisons and 110670 similarities\n",
" 1m 12s 21% - 70557480 comparisons and 116855 similarities\n",
" 1m 16s 22% - 73917360 comparisons and 123838 similarities\n",
" 1m 19s 23% - 77277240 comparisons and 127108 similarities\n",
" 1m 22s 24% - 80637120 comparisons and 131270 similarities\n",
" 1m 26s 25% - 83997000 comparisons and 135406 similarities\n",
" 1m 29s 26% - 87356880 comparisons and 140367 similarities\n",
" 1m 32s 27% - 90716760 comparisons and 146136 similarities\n",
" 1m 36s 28% - 94076640 comparisons and 149919 similarities\n",
" 1m 39s 29% - 97436520 comparisons and 155037 similarities\n",
" 1m 42s 30% - 100796400 comparisons and 160769 similarities\n",
" 1m 46s 31% - 104156280 comparisons and 164092 similarities\n",
" 1m 49s 32% - 107516160 comparisons and 170963 similarities\n",
" 1m 52s 33% - 110876040 comparisons and 177421 similarities\n",
" 1m 56s 34% - 114235920 comparisons and 186822 similarities\n",
" 1m 59s 35% - 117595800 comparisons and 192102 similarities\n",
" 2m 03s 36% - 120955680 comparisons and 198873 similarities\n",
" 2m 06s 37% - 124315560 comparisons and 204197 similarities\n",
" 2m 09s 38% - 127675440 comparisons and 207838 similarities\n",
" 2m 13s 39% - 131035320 comparisons and 213338 similarities\n",
" 2m 16s 40% - 134395200 comparisons and 218114 similarities\n",
" 2m 20s 41% - 137755080 comparisons and 223468 similarities\n",
" 2m 23s 42% - 141114960 comparisons and 229385 similarities\n",
" 2m 26s 43% - 144474840 comparisons and 233501 similarities\n",
" 2m 30s 44% - 147834720 comparisons and 237545 similarities\n",
" 2m 33s 45% - 151194600 comparisons and 242863 similarities\n",
" 2m 36s 46% - 154554480 comparisons and 252160 similarities\n",
" 2m 40s 47% - 157914360 comparisons and 258274 similarities\n",
" 2m 43s 48% - 161274240 comparisons and 265206 similarities\n",
" 2m 46s 49% - 164634120 comparisons and 274614 similarities\n",
" 2m 50s 50% - 167994000 comparisons and 281825 similarities\n",
" 2m 53s 51% - 171353880 comparisons and 290341 similarities\n",
" 2m 56s 52% - 174713760 comparisons and 297977 similarities\n",
" 2m 59s 53% - 178073640 comparisons and 304632 similarities\n",
" 3m 03s 54% - 181433520 comparisons and 311062 similarities\n",
" 3m 06s 55% - 184793400 comparisons and 317243 similarities\n",
" 3m 10s 56% - 188153280 comparisons and 326968 similarities\n",
" 3m 13s 57% - 191513160 comparisons and 333969 similarities\n",
" 3m 16s 58% - 194873040 comparisons and 339376 similarities\n",
" 3m 19s 59% - 198232920 comparisons and 345997 similarities\n",
" 3m 23s 60% - 201592800 comparisons and 351050 similarities\n",
" 3m 26s 61% - 204952680 comparisons and 354695 similarities\n",
" 3m 30s 62% - 208312560 comparisons and 359567 similarities\n",
" 3m 34s 63% - 211672440 comparisons and 363161 similarities\n",
" 3m 37s 64% - 215032320 comparisons and 366434 similarities\n",
" 3m 40s 65% - 218392200 comparisons and 372897 similarities\n",
" 3m 44s 66% - 221752080 comparisons and 380610 similarities\n",
" 3m 47s 67% - 225111960 comparisons and 386202 similarities\n",
" 3m 51s 68% - 228471840 comparisons and 393015 similarities\n",
" 3m 54s 69% - 231831720 comparisons and 399906 similarities\n",
" 3m 57s 70% - 235191600 comparisons and 405773 similarities\n",
" 4m 01s 71% - 238551480 comparisons and 411679 similarities\n",
" 4m 04s 72% - 241911360 comparisons and 415664 similarities\n",
" 4m 08s 73% - 245271240 comparisons and 419565 similarities\n",
" 4m 11s 74% - 248631120 comparisons and 422896 similarities\n",
" 4m 15s 75% - 251991000 comparisons and 426916 similarities\n",
" 4m 18s 76% - 255350880 comparisons and 432908 similarities\n",
" 4m 21s 77% - 258710760 comparisons and 439784 similarities\n",
" 4m 25s 78% - 262070640 comparisons and 445047 similarities\n",
" 4m 28s 79% - 265430520 comparisons and 448685 similarities\n",
" 4m 32s 80% - 268790400 comparisons and 451252 similarities\n",
" 4m 35s 81% - 272150280 comparisons and 454937 similarities\n",
" 4m 38s 82% - 275510160 comparisons and 458353 similarities\n",
" 4m 42s 83% - 278870040 comparisons and 464920 similarities\n",
" 4m 45s 84% - 282229920 comparisons and 472589 similarities\n",
" 4m 49s 85% - 285589800 comparisons and 478506 similarities\n",
" 4m 52s 86% - 288949680 comparisons and 486143 similarities\n",
" 4m 55s 87% - 292309560 comparisons and 492395 similarities\n",
" 4m 59s 88% - 295669440 comparisons and 498300 similarities\n",
" 5m 02s 89% - 299029320 comparisons and 503356 similarities\n",
" 5m 05s 90% - 302389200 comparisons and 509476 similarities\n",
" 5m 09s 91% - 305749080 comparisons and 517028 similarities\n",
" 5m 12s 92% - 309108960 comparisons and 523411 similarities\n",
" 5m 16s 93% - 312468840 comparisons and 529125 similarities\n",
" 5m 19s 94% - 315828720 comparisons and 534434 similarities\n",
" 5m 22s 95% - 319188600 comparisons and 541479 similarities\n",
" 5m 26s 96% - 322548480 comparisons and 547824 similarities\n",
" 5m 29s 97% - 325908360 comparisons and 555995 similarities\n",
" 5m 32s 98% - 329268240 comparisons and 562546 similarities\n",
" 5m 35s 99% - 332628120 comparisons and 567831 similarities\n",
" 5m 39s 100% - 335988000 comparisons and 574579 similarities\n",
" 5m 39s 100% - 335988003 comparisons and 574579 similarities\n"
]
}
],
"source": [
"similarity = computeSim()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"So, over half a million pairs of similar lines.\n",
"\n",
"Let's find out which lines have the most correspondences."
]
},
{
"cell_type": "code",
"execution_count": 42,
"metadata": {},
"outputs": [],
"source": [
"parallels = {}\n",
"\n",
"for (l, m) in similarity:\n",
" parallels.setdefault(l, set()).add(m)"
]
},
{
"cell_type": "code",
"execution_count": 43,
"metadata": {},
"outputs": [],
"source": [
"rankedParallels = sorted(\n",
" parallels.items(),\n",
" key=lambda x: (-len(x[1]), x[0]),\n",
")"
]
},
{
"cell_type": "code",
"execution_count": 46,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"1005 siblings of qi2-bi2-[ma]\n",
"1004 siblings of qi2-bi2-ma\n",
"1003 siblings of [qi2]-bi2#-ma\n",
"1002 siblings of qi2-bi2-ma\n",
"1001 siblings of qi2-bi2-ma\n",
"1000 siblings of qi2-bi2-ma\n",
" 999 siblings of qi2-bi2-ma\n",
" 998 siblings of [qi2]-bi2-ma\n",
" 997 siblings of qi2-bi2-ma\n",
" 996 siblings of [qi2]-bi2#-ma\n"
]
}
],
"source": [
"for (l, paras) in rankedParallels[0:10]:\n",
" print(f'{len(paras):>4} siblings of {T.text(l)}')"
]
},
{
"cell_type": "code",
"execution_count": 48,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
" 91 siblings of um-ma ha-am-mu-ra-bi-ma\n",
" 91 siblings of li-ba-al-li-t,u2-ka\n",
" 91 siblings of {d}utu u3 {d}marduk li-ba-al-li#-[t,u2-ka]\n",
" 91 siblings of qi2#-bi2-ma#\n",
" 90 siblings of um-ma ha-am-mu-ra-bi-ma\n",
" 90 siblings of li-ba-al-li-t,u2#-ka#\n",
" 90 siblings of {d}utu u3 {d}marduk li-ba-al-li-t,u2-<ka>\n",
" 90 siblings of qi2-bi2-ma\n",
" 89 siblings of um#-ma ha-am-mu-ra-bi-ma\n",
" 89 siblings of li-ba-al-li-t,u2-ka\n"
]
}
],
"source": [
"for (l, paras) in rankedParallels[1000:1010]:\n",
" print(f'{len(paras):>4} siblings of {T.text(l)}')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"This is just the beginning!"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"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.7.2"
}
},
"nbformat": 4,
"nbformat_minor": 2
}