{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "\n", "\n", "\n", "You might want to consider the [start](search.ipynb) of this tutorial.\n", "\n", "Short introductions to other TF datasets:\n", "\n", "* [Dead Sea Scrolls](https://nbviewer.jupyter.org/github/annotation/tutorials/blob/master/lorentz2020/dss.ipynb),\n", "* [Old Babylonian Letters](https://nbviewer.jupyter.org/github/annotation/tutorials/blob/master/lorentz2020/oldbabylonian.ipynb),\n", "or the\n", "* [Quran](https://nbviewer.jupyter.org/github/annotation/tutorials/blob/master/lorentz2020/quran.ipynb)\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Search from MQL\n", "\n", "Maybe you know MQL.\n", "It is the search template language implemented by Ulrik Sandborg-Petersen in Emdros, and used\n", "by [SHEBANQ](https://shebanq.ancient-data.org).\n", "\n", "TF search templates have been inspired by MQL, but they are different.\n", "\n", "This notebook shows examples of real-life\n", "[MQL](https://github.com/ETCBC/shebanq/wiki/Documents/MQL-Query-Guide.pdf)\n", "queries on\n", "[SHEBANQ](https://shebanq.ancient-data.org/hebrew/queries).\n", "and\n", "expresses them\n", "as Text-Fabric [search templates](https://annotation.github.io/text-fabric/tf/about/searchusage.html).\n", "\n", "See also the\n", "[SHEBANQ tutorial by Bas Meeuse translated to TF](https://nbviewer.jupyter.org/github/ETCBC/bhsa/blob/master/primer/tfVersusMql.ipynb)." ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "%load_ext autoreload\n", "%autoreload 2" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "ExecuteTime": { "end_time": "2018-05-11T10:04:07.889266Z", "start_time": "2018-05-11T10:04:07.826697Z" } }, "outputs": [], "source": [ "from tf.app import use\n", "from tf.core.helpers import project" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We want to use a fixed data version, not a changing one, for the purposes of this notebook.\n", "Also, we pick it from our cloned repo.\n", "So, if you want to run this, you need to have cloned the bhsa repo to your computer." ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "ExecuteTime": { "end_time": "2018-05-24T10:06:48.865143Z", "start_time": "2018-05-24T10:06:44.712958Z" } }, "outputs": [ { "data": { "text/html": [ "TF-app: ~/github/etcbc/bhsa/app" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "data: ~/text-fabric-data/etcbc/bhsa/tf/2017" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "data: ~/text-fabric-data/etcbc/phono/tf/2017" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "data: ~/text-fabric-data/etcbc/parallels/tf/2017" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "This is Text-Fabric 9.2.3\n", "Api reference : https://annotation.github.io/text-fabric/tf/cheatsheet.html\n", "\n", "121 features found and 0 ignored\n" ] }, { "data": { "text/html": [ "Text-Fabric: Text-Fabric API 9.2.3, etcbc/bhsa/app v3, Search Reference
Data: BHSA, Character table, Feature docs
Features:
\n", "
Parallel Passages\n", "
\n", "\n", "
\n", "
\n", "crossref\n", "
\n", "
int
\n", "
\n", " \n", "
\n", "\n", "
\n", "
author:
\n", "
BHSA Data: Constantijn Sikkel; Parallels Notebook: Dirk Roorda, Martijn Naaijer
\n", "
\n", "\n", "
\n", "
coreData:
\n", "
BHSA
\n", "
\n", "\n", "
\n", "
coreVersion:
\n", "
2017
\n", "
\n", "\n", "
\n", "
dateWritten:
\n", "
2018-01-17T17:31:34Z
\n", "
\n", "\n", "
\n", "
source:
\n", "
Parallels Module
\n", "
\n", "\n", "
\n", "
writtenBy:
\n", "
Text-Fabric
\n", "
\n", "\n", "
\n", "
\n", "
\n", "\n", "
\n", "
\n", "\n", "
BHSA = Biblia Hebraica Stuttgartensia Amstelodamensis\n", "
\n", "\n", "
\n", "
\n", "book\n", "
\n", "
str
\n", "
\n", " \n", "
\n", "\n", "
\n", "
author:
\n", "
Eep Talstra Centre for Bible and Computer
\n", "
\n", "\n", "
\n", "
dataset:
\n", "
BHSA
\n", "
\n", "\n", "
\n", "
datasetName:
\n", "
Biblia Hebraica Stuttgartensia Amstelodamensis
\n", "
\n", "\n", "
\n", "
dateWritten:
\n", "
2019-03-02T09:50:16Z
\n", "
\n", "\n", "
\n", "
email:
\n", "
shebanq@ancient-data.org
\n", "
\n", "\n", "
\n", "
encoders:
\n", "
Constantijn Sikkel (QDF), Ulrik Petersen (MQL) and Dirk Roorda (TF)
\n", "
\n", "\n", "
\n", "
version:
\n", "
2017
\n", "
\n", "\n", "
\n", "
website:
\n", "
https://shebanq.ancient-data.org
\n", "
\n", "\n", "
\n", "
writtenBy:
\n", "
Text-Fabric
\n", "
\n", "\n", "
\n", "
\n", "
\n", "\n", "
\n", "
\n", "book@ll\n", "
\n", "
str
\n", "
\n", " \n", "
\n", "\n", "
\n", "
author:
\n", "
Eep Talstra Centre for Bible and Computer
\n", "
\n", "\n", "
\n", "
dataset:
\n", "
BHSA
\n", "
\n", "\n", "
\n", "
datasetName:
\n", "
Biblia Hebraica Stuttgartensia Amstelodamensis
\n", "
\n", "\n", "
\n", "
dateWritten:
\n", "
2019-03-02T09:53:07Z
\n", "
\n", "\n", "
\n", "
email:
\n", "
shebanq@ancient-data.org
\n", "
\n", "\n", "
\n", "
encoders:
\n", "
Dirk Roorda (TF)
\n", "
\n", "\n", "
\n", "
language:
\n", "
ኣማርኛ
\n", "
\n", "\n", "
\n", "
languageCode:
\n", "
am
\n", "
\n", "\n", "
\n", "
languageEnglish:
\n", "
amharic
\n", "
\n", "\n", "
\n", "
provenance:
\n", "
book names from wikipedia and other sources
\n", "
\n", "\n", "
\n", "
version:
\n", "
2017
\n", "
\n", "\n", "
\n", "
website:
\n", "
https://shebanq.ancient-data.org
\n", "
\n", "\n", "
\n", "
writtenBy:
\n", "
Text-Fabric
\n", "
\n", "\n", "
\n", "
\n", "
\n", "\n", "
\n", "
\n", "chapter\n", "
\n", "
int
\n", "
\n", " \n", "
\n", "\n", "
\n", "
author:
\n", "
Eep Talstra Centre for Bible and Computer
\n", "
\n", "\n", "
\n", "
dataset:
\n", "
BHSA
\n", "
\n", "\n", "
\n", "
datasetName:
\n", "
Biblia Hebraica Stuttgartensia Amstelodamensis
\n", "
\n", "\n", "
\n", "
dateWritten:
\n", "
2019-03-02T09:50:16Z
\n", "
\n", "\n", "
\n", "
email:
\n", "
shebanq@ancient-data.org
\n", "
\n", "\n", "
\n", "
encoders:
\n", "
Constantijn Sikkel (QDF), Ulrik Petersen (MQL) and Dirk Roorda (TF)
\n", "
\n", "\n", "
\n", "
version:
\n", "
2017
\n", "
\n", "\n", "
\n", "
website:
\n", "
https://shebanq.ancient-data.org
\n", "
\n", "\n", "
\n", "
writtenBy:
\n", "
Text-Fabric
\n", "
\n", "\n", "
\n", "
\n", "
\n", "\n", "
\n", "
\n", "code\n", "
\n", "
int
\n", "
\n", " \n", "
\n", "\n", "
\n", "
author:
\n", "
Eep Talstra Centre for Bible and Computer
\n", "
\n", "\n", "
\n", "
dataset:
\n", "
BHSA
\n", "
\n", "\n", "
\n", "
datasetName:
\n", "
Biblia Hebraica Stuttgartensia Amstelodamensis
\n", "
\n", "\n", "
\n", "
dateWritten:
\n", "
2019-03-02T09:50:16Z
\n", "
\n", "\n", "
\n", "
email:
\n", "
shebanq@ancient-data.org
\n", "
\n", "\n", "
\n", "
encoders:
\n", "
Constantijn Sikkel (QDF), Ulrik Petersen (MQL) and Dirk Roorda (TF)
\n", "
\n", "\n", "
\n", "
version:
\n", "
2017
\n", "
\n", "\n", "
\n", "
website:
\n", "
https://shebanq.ancient-data.org
\n", "
\n", "\n", "
\n", "
writtenBy:
\n", "
Text-Fabric
\n", "
\n", "\n", "
\n", "
\n", "
\n", "\n", "
\n", "
\n", "det\n", "
\n", "
str
\n", "
\n", " \n", "
\n", "\n", "
\n", "
author:
\n", "
Eep Talstra Centre for Bible and Computer
\n", "
\n", "\n", "
\n", "
dataset:
\n", "
BHSA
\n", "
\n", "\n", "
\n", "
datasetName:
\n", "
Biblia Hebraica Stuttgartensia Amstelodamensis
\n", "
\n", "\n", "
\n", "
dateWritten:
\n", "
2019-03-02T09:50:17Z
\n", "
\n", "\n", "
\n", "
email:
\n", "
shebanq@ancient-data.org
\n", "
\n", "\n", "
\n", "
encoders:
\n", "
Constantijn Sikkel (QDF), Ulrik Petersen (MQL) and Dirk Roorda (TF)
\n", "
\n", "\n", "
\n", "
version:
\n", "
2017
\n", "
\n", "\n", "
\n", "
website:
\n", "
https://shebanq.ancient-data.org
\n", "
\n", "\n", "
\n", "
writtenBy:
\n", "
Text-Fabric
\n", "
\n", "\n", "
\n", "
\n", "
\n", "\n", "
\n", "
\n", "domain\n", "
\n", "
str
\n", "
\n", " \n", "
\n", "\n", "
\n", "
author:
\n", "
Eep Talstra Centre for Bible and Computer
\n", "
\n", "\n", "
\n", "
dataset:
\n", "
BHSA
\n", "
\n", "\n", "
\n", "
datasetName:
\n", "
Biblia Hebraica Stuttgartensia Amstelodamensis
\n", "
\n", "\n", "
\n", "
dateWritten:
\n", "
2019-03-02T09:50:19Z
\n", "
\n", "\n", "
\n", "
email:
\n", "
shebanq@ancient-data.org
\n", "
\n", "\n", "
\n", "
encoders:
\n", "
Constantijn Sikkel (QDF), Ulrik Petersen (MQL) and Dirk Roorda (TF)
\n", "
\n", "\n", "
\n", "
version:
\n", "
2017
\n", "
\n", "\n", "
\n", "
website:
\n", "
https://shebanq.ancient-data.org
\n", "
\n", "\n", "
\n", "
writtenBy:
\n", "
Text-Fabric
\n", "
\n", "\n", "
\n", "
\n", "
\n", "\n", "
\n", "
\n", "freq_lex\n", "
\n", "
int
\n", "
\n", " \n", "
\n", "\n", "
\n", "
author:
\n", "
Eep Talstra Centre for Bible and Computer
\n", "
\n", "\n", "
\n", "
dataset:
\n", "
BHSA
\n", "
\n", "\n", "
\n", "
datasetName:
\n", "
Biblia Hebraica Stuttgartensia Amstelodamensis
\n", "
\n", "\n", "
\n", "
dateWritten:
\n", "
2019-03-02T10:00:43Z
\n", "
\n", "\n", "
\n", "
email:
\n", "
shebanq@ancient-data.org
\n", "
\n", "\n", "
\n", "
encoders:
\n", "
Dirk Roorda (TF)
\n", "
\n", "\n", "
\n", "
provenance:
\n", "
computed addition to core set of features
\n", "
\n", "\n", "
\n", "
version:
\n", "
2017
\n", "
\n", "\n", "
\n", "
website:
\n", "
https://shebanq.ancient-data.org
\n", "
\n", "\n", "
\n", "
writtenBy:
\n", "
Text-Fabric
\n", "
\n", "\n", "
\n", "
\n", "
\n", "\n", "
\n", "
\n", "function\n", "
\n", "
str
\n", "
\n", " \n", "
\n", "\n", "
\n", "
author:
\n", "
Eep Talstra Centre for Bible and Computer
\n", "
\n", "\n", "
\n", "
dataset:
\n", "
BHSA
\n", "
\n", "\n", "
\n", "
datasetName:
\n", "
Biblia Hebraica Stuttgartensia Amstelodamensis
\n", "
\n", "\n", "
\n", "
dateWritten:
\n", "
2019-03-02T09:50:19Z
\n", "
\n", "\n", "
\n", "
email:
\n", "
shebanq@ancient-data.org
\n", "
\n", "\n", "
\n", "
encoders:
\n", "
Constantijn Sikkel (QDF), Ulrik Petersen (MQL) and Dirk Roorda (TF)
\n", "
\n", "\n", "
\n", "
version:
\n", "
2017
\n", "
\n", "\n", "
\n", "
website:
\n", "
https://shebanq.ancient-data.org
\n", "
\n", "\n", "
\n", "
writtenBy:
\n", "
Text-Fabric
\n", "
\n", "\n", "
\n", "
\n", "
\n", "\n", "
\n", "
\n", "g_cons\n", "
\n", "
str
\n", "
\n", " \n", "
\n", "\n", "
\n", "
author:
\n", "
Eep Talstra Centre for Bible and Computer
\n", "
\n", "\n", "
\n", "
dataset:
\n", "
BHSA
\n", "
\n", "\n", "
\n", "
datasetName:
\n", "
Biblia Hebraica Stuttgartensia Amstelodamensis
\n", "
\n", "\n", "
\n", "
dateWritten:
\n", "
2019-03-02T09:50:20Z
\n", "
\n", "\n", "
\n", "
email:
\n", "
shebanq@ancient-data.org
\n", "
\n", "\n", "
\n", "
encoders:
\n", "
Constantijn Sikkel (QDF), Ulrik Petersen (MQL) and Dirk Roorda (TF)
\n", "
\n", "\n", "
\n", "
version:
\n", "
2017
\n", "
\n", "\n", "
\n", "
website:
\n", "
https://shebanq.ancient-data.org
\n", "
\n", "\n", "
\n", "
writtenBy:
\n", "
Text-Fabric
\n", "
\n", "\n", "
\n", "
\n", "
\n", "\n", "
\n", "
\n", "g_cons_utf8\n", "
\n", "
str
\n", "
\n", " \n", "
\n", "\n", "
\n", "
author:
\n", "
Eep Talstra Centre for Bible and Computer
\n", "
\n", "\n", "
\n", "
dataset:
\n", "
BHSA
\n", "
\n", "\n", "
\n", "
datasetName:
\n", "
Biblia Hebraica Stuttgartensia Amstelodamensis
\n", "
\n", "\n", "
\n", "
dateWritten:
\n", "
2019-03-02T09:50:20Z
\n", "
\n", "\n", "
\n", "
email:
\n", "
shebanq@ancient-data.org
\n", "
\n", "\n", "
\n", "
encoders:
\n", "
Constantijn Sikkel (QDF), Ulrik Petersen (MQL) and Dirk Roorda (TF)
\n", "
\n", "\n", "
\n", "
version:
\n", "
2017
\n", "
\n", "\n", "
\n", "
website:
\n", "
https://shebanq.ancient-data.org
\n", "
\n", "\n", "
\n", "
writtenBy:
\n", "
Text-Fabric
\n", "
\n", "\n", "
\n", "
\n", "
\n", "\n", "
\n", "
\n", "g_lex\n", "
\n", "
str
\n", "
\n", " \n", "
\n", "\n", "
\n", "
author:
\n", "
Eep Talstra Centre for Bible and Computer
\n", "
\n", "\n", "
\n", "
dataset:
\n", "
BHSA
\n", "
\n", "\n", "
\n", "
datasetName:
\n", "
Biblia Hebraica Stuttgartensia Amstelodamensis
\n", "
\n", "\n", "
\n", "
dateWritten:
\n", "
2019-03-02T09:50:21Z
\n", "
\n", "\n", "
\n", "
email:
\n", "
shebanq@ancient-data.org
\n", "
\n", "\n", "
\n", "
encoders:
\n", "
Constantijn Sikkel (QDF), Ulrik Petersen (MQL) and Dirk Roorda (TF)
\n", "
\n", "\n", "
\n", "
version:
\n", "
2017
\n", "
\n", "\n", "
\n", "
website:
\n", "
https://shebanq.ancient-data.org
\n", "
\n", "\n", "
\n", "
writtenBy:
\n", "
Text-Fabric
\n", "
\n", "\n", "
\n", "
\n", "
\n", "\n", "
\n", "
\n", "g_lex_utf8\n", "
\n", "
str
\n", "
\n", " \n", "
\n", "\n", "
\n", "
author:
\n", "
Eep Talstra Centre for Bible and Computer
\n", "
\n", "\n", "
\n", "
dataset:
\n", "
BHSA
\n", "
\n", "\n", "
\n", "
datasetName:
\n", "
Biblia Hebraica Stuttgartensia Amstelodamensis
\n", "
\n", "\n", "
\n", "
dateWritten:
\n", "
2019-03-02T09:50:21Z
\n", "
\n", "\n", "
\n", "
email:
\n", "
shebanq@ancient-data.org
\n", "
\n", "\n", "
\n", "
encoders:
\n", "
Constantijn Sikkel (QDF), Ulrik Petersen (MQL) and Dirk Roorda (TF)
\n", "
\n", "\n", "
\n", "
version:
\n", "
2017
\n", "
\n", "\n", "
\n", "
website:
\n", "
https://shebanq.ancient-data.org
\n", "
\n", "\n", "
\n", "
writtenBy:
\n", "
Text-Fabric
\n", "
\n", "\n", "
\n", "
\n", "
\n", "\n", "
\n", "
\n", "g_word\n", "
\n", "
str
\n", "
\n", " \n", "
\n", "\n", "
\n", "
author:
\n", "
Eep Talstra Centre for Bible and Computer
\n", "
\n", "\n", "
\n", "
dataset:
\n", "
BHSA
\n", "
\n", "\n", "
\n", "
datasetName:
\n", "
Biblia Hebraica Stuttgartensia Amstelodamensis
\n", "
\n", "\n", "
\n", "
dateWritten:
\n", "
2019-03-02T09:50:31Z
\n", "
\n", "\n", "
\n", "
email:
\n", "
shebanq@ancient-data.org
\n", "
\n", "\n", "
\n", "
encoders:
\n", "
Constantijn Sikkel (QDF), Ulrik Petersen (MQL) and Dirk Roorda (TF)
\n", "
\n", "\n", "
\n", "
version:
\n", "
2017
\n", "
\n", "\n", "
\n", "
website:
\n", "
https://shebanq.ancient-data.org
\n", "
\n", "\n", "
\n", "
writtenBy:
\n", "
Text-Fabric
\n", "
\n", "\n", "
\n", "
\n", "
\n", "\n", "
\n", "
\n", "g_word_utf8\n", "
\n", "
str
\n", "
\n", " \n", "
\n", "\n", "
\n", "
author:
\n", "
Eep Talstra Centre for Bible and Computer
\n", "
\n", "\n", "
\n", "
dataset:
\n", "
BHSA
\n", "
\n", "\n", "
\n", "
datasetName:
\n", "
Biblia Hebraica Stuttgartensia Amstelodamensis
\n", "
\n", "\n", "
\n", "
dateWritten:
\n", "
2019-03-02T09:50:32Z
\n", "
\n", "\n", "
\n", "
email:
\n", "
shebanq@ancient-data.org
\n", "
\n", "\n", "
\n", "
encoders:
\n", "
Constantijn Sikkel (QDF), Ulrik Petersen (MQL) and Dirk Roorda (TF)
\n", "
\n", "\n", "
\n", "
version:
\n", "
2017
\n", "
\n", "\n", "
\n", "
website:
\n", "
https://shebanq.ancient-data.org
\n", "
\n", "\n", "
\n", "
writtenBy:
\n", "
Text-Fabric
\n", "
\n", "\n", "
\n", "
\n", "
\n", "\n", "
\n", "
\n", "gloss\n", "
\n", "
str
\n", "
\n", " \n", "
\n", "\n", "
\n", "
author:
\n", "
Eep Talstra Centre for Bible and Computer
\n", "
\n", "\n", "
\n", "
dataset:
\n", "
BHSA
\n", "
\n", "\n", "
\n", "
datasetName:
\n", "
Biblia Hebraica Stuttgartensia Amstelodamensis
\n", "
\n", "\n", "
\n", "
dateWritten:
\n", "
2019-03-02T09:53:29Z
\n", "
\n", "\n", "
\n", "
email:
\n", "
shebanq@ancient-data.org
\n", "
\n", "\n", "
\n", "
encoders:
\n", "
Constantijn Sikkel (QDF), and Dirk Roorda (TF)
\n", "
\n", "\n", "
\n", "
version:
\n", "
2017
\n", "
\n", "\n", "
\n", "
website:
\n", "
https://shebanq.ancient-data.org
\n", "
\n", "\n", "
\n", "
writtenBy:
\n", "
Text-Fabric
\n", "
\n", "\n", "
\n", "
\n", "
\n", "\n", "
\n", "
\n", "gn\n", "
\n", "
str
\n", "
\n", " \n", "
\n", "\n", "
\n", "
author:
\n", "
Eep Talstra Centre for Bible and Computer
\n", "
\n", "\n", "
\n", "
dataset:
\n", "
BHSA
\n", "
\n", "\n", "
\n", "
datasetName:
\n", "
Biblia Hebraica Stuttgartensia Amstelodamensis
\n", "
\n", "\n", "
\n", "
dateWritten:
\n", "
2019-03-02T09:50:33Z
\n", "
\n", "\n", "
\n", "
email:
\n", "
shebanq@ancient-data.org
\n", "
\n", "\n", "
\n", "
encoders:
\n", "
Constantijn Sikkel (QDF), Ulrik Petersen (MQL) and Dirk Roorda (TF)
\n", "
\n", "\n", "
\n", "
version:
\n", "
2017
\n", "
\n", "\n", "
\n", "
website:
\n", "
https://shebanq.ancient-data.org
\n", "
\n", "\n", "
\n", "
writtenBy:
\n", "
Text-Fabric
\n", "
\n", "\n", "
\n", "
\n", "
\n", "\n", "
\n", "
\n", "label\n", "
\n", "
str
\n", "
\n", " \n", "
\n", "\n", "
\n", "
author:
\n", "
Eep Talstra Centre for Bible and Computer
\n", "
\n", "\n", "
\n", "
dataset:
\n", "
BHSA
\n", "
\n", "\n", "
\n", "
datasetName:
\n", "
Biblia Hebraica Stuttgartensia Amstelodamensis
\n", "
\n", "\n", "
\n", "
dateWritten:
\n", "
2019-03-02T09:50:34Z
\n", "
\n", "\n", "
\n", "
email:
\n", "
shebanq@ancient-data.org
\n", "
\n", "\n", "
\n", "
encoders:
\n", "
Constantijn Sikkel (QDF), Ulrik Petersen (MQL) and Dirk Roorda (TF)
\n", "
\n", "\n", "
\n", "
version:
\n", "
2017
\n", "
\n", "\n", "
\n", "
website:
\n", "
https://shebanq.ancient-data.org
\n", "
\n", "\n", "
\n", "
writtenBy:
\n", "
Text-Fabric
\n", "
\n", "\n", "
\n", "
\n", "
\n", "\n", "
\n", "
\n", "language\n", "
\n", "
str
\n", "
\n", " \n", "
\n", "\n", "
\n", "
author:
\n", "
Eep Talstra Centre for Bible and Computer
\n", "
\n", "\n", "
\n", "
dataset:
\n", "
BHSA
\n", "
\n", "\n", "
\n", "
datasetName:
\n", "
Biblia Hebraica Stuttgartensia Amstelodamensis
\n", "
\n", "\n", "
\n", "
dateWritten:
\n", "
2019-03-02T09:53:29Z
\n", "
\n", "\n", "
\n", "
email:
\n", "
shebanq@ancient-data.org
\n", "
\n", "\n", "
\n", "
encoders:
\n", "
Constantijn Sikkel (QDF), and Dirk Roorda (TF)
\n", "
\n", "\n", "
\n", "
version:
\n", "
2017
\n", "
\n", "\n", "
\n", "
website:
\n", "
https://shebanq.ancient-data.org
\n", "
\n", "\n", "
\n", "
writtenBy:
\n", "
Text-Fabric
\n", "
\n", "\n", "
\n", "
\n", "
\n", "\n", "
\n", "
\n", "lex\n", "
\n", "
str
\n", "
\n", " \n", "
\n", "\n", "
\n", "
author:
\n", "
Eep Talstra Centre for Bible and Computer
\n", "
\n", "\n", "
\n", "
dataset:
\n", "
BHSA
\n", "
\n", "\n", "
\n", "
datasetName:
\n", "
Biblia Hebraica Stuttgartensia Amstelodamensis
\n", "
\n", "\n", "
\n", "
dateWritten:
\n", "
2019-03-02T09:53:31Z
\n", "
\n", "\n", "
\n", "
email:
\n", "
shebanq@ancient-data.org
\n", "
\n", "\n", "
\n", "
encoders:
\n", "
Constantijn Sikkel (QDF), and Dirk Roorda (TF)
\n", "
\n", "\n", "
\n", "
version:
\n", "
2017
\n", "
\n", "\n", "
\n", "
website:
\n", "
https://shebanq.ancient-data.org
\n", "
\n", "\n", "
\n", "
writtenBy:
\n", "
Text-Fabric
\n", "
\n", "\n", "
\n", "
\n", "
\n", "\n", "
\n", "
\n", "lex_utf8\n", "
\n", "
str
\n", "
\n", " \n", "
\n", "\n", "
\n", "
author:
\n", "
Eep Talstra Centre for Bible and Computer
\n", "
\n", "\n", "
\n", "
dataset:
\n", "
BHSA
\n", "
\n", "\n", "
\n", "
datasetName:
\n", "
Biblia Hebraica Stuttgartensia Amstelodamensis
\n", "
\n", "\n", "
\n", "
dateWritten:
\n", "
2019-03-02T09:53:32Z
\n", "
\n", "\n", "
\n", "
email:
\n", "
shebanq@ancient-data.org
\n", "
\n", "\n", "
\n", "
encoders:
\n", "
Constantijn Sikkel (QDF), and Dirk Roorda (TF)
\n", "
\n", "\n", "
\n", "
version:
\n", "
2017
\n", "
\n", "\n", "
\n", "
website:
\n", "
https://shebanq.ancient-data.org
\n", "
\n", "\n", "
\n", "
writtenBy:
\n", "
Text-Fabric
\n", "
\n", "\n", "
\n", "
\n", "
\n", "\n", "
\n", "
\n", "ls\n", "
\n", "
str
\n", "
\n", " \n", "
\n", "\n", "
\n", "
author:
\n", "
Eep Talstra Centre for Bible and Computer
\n", "
\n", "\n", "
\n", "
dataset:
\n", "
BHSA
\n", "
\n", "\n", "
\n", "
datasetName:
\n", "
Biblia Hebraica Stuttgartensia Amstelodamensis
\n", "
\n", "\n", "
\n", "
dateWritten:
\n", "
2019-03-02T09:53:33Z
\n", "
\n", "\n", "
\n", "
email:
\n", "
shebanq@ancient-data.org
\n", "
\n", "\n", "
\n", "
encoders:
\n", "
Constantijn Sikkel (QDF), and Dirk Roorda (TF)
\n", "
\n", "\n", "
\n", "
version:
\n", "
2017
\n", "
\n", "\n", "
\n", "
website:
\n", "
https://shebanq.ancient-data.org
\n", "
\n", "\n", "
\n", "
writtenBy:
\n", "
Text-Fabric
\n", "
\n", "\n", "
\n", "
\n", "
\n", "\n", "
\n", "
\n", "nametype\n", "
\n", "
str
\n", "
\n", " \n", "
\n", "\n", "
\n", "
author:
\n", "
Eep Talstra Centre for Bible and Computer
\n", "
\n", "\n", "
\n", "
dataset:
\n", "
BHSA
\n", "
\n", "\n", "
\n", "
datasetName:
\n", "
Biblia Hebraica Stuttgartensia Amstelodamensis
\n", "
\n", "\n", "
\n", "
dateWritten:
\n", "
2019-03-02T09:53:33Z
\n", "
\n", "\n", "
\n", "
email:
\n", "
shebanq@ancient-data.org
\n", "
\n", "\n", "
\n", "
encoders:
\n", "
Constantijn Sikkel (QDF), and Dirk Roorda (TF)
\n", "
\n", "\n", "
\n", "
version:
\n", "
2017
\n", "
\n", "\n", "
\n", "
website:
\n", "
https://shebanq.ancient-data.org
\n", "
\n", "\n", "
\n", "
writtenBy:
\n", "
Text-Fabric
\n", "
\n", "\n", "
\n", "
\n", "
\n", "\n", "
\n", "
\n", "nme\n", "
\n", "
str
\n", "
\n", " \n", "
\n", "\n", "
\n", "
author:
\n", "
Eep Talstra Centre for Bible and Computer
\n", "
\n", "\n", "
\n", "
dataset:
\n", "
BHSA
\n", "
\n", "\n", "
\n", "
datasetName:
\n", "
Biblia Hebraica Stuttgartensia Amstelodamensis
\n", "
\n", "\n", "
\n", "
dateWritten:
\n", "
2019-03-02T09:50:38Z
\n", "
\n", "\n", "
\n", "
email:
\n", "
shebanq@ancient-data.org
\n", "
\n", "\n", "
\n", "
encoders:
\n", "
Constantijn Sikkel (QDF), Ulrik Petersen (MQL) and Dirk Roorda (TF)
\n", "
\n", "\n", "
\n", "
version:
\n", "
2017
\n", "
\n", "\n", "
\n", "
website:
\n", "
https://shebanq.ancient-data.org
\n", "
\n", "\n", "
\n", "
writtenBy:
\n", "
Text-Fabric
\n", "
\n", "\n", "
\n", "
\n", "
\n", "\n", "
\n", "
\n", "nu\n", "
\n", "
str
\n", "
\n", " \n", "
\n", "\n", "
\n", "
author:
\n", "
Eep Talstra Centre for Bible and Computer
\n", "
\n", "\n", "
\n", "
dataset:
\n", "
BHSA
\n", "
\n", "\n", "
\n", "
datasetName:
\n", "
Biblia Hebraica Stuttgartensia Amstelodamensis
\n", "
\n", "\n", "
\n", "
dateWritten:
\n", "
2019-03-02T09:50:39Z
\n", "
\n", "\n", "
\n", "
email:
\n", "
shebanq@ancient-data.org
\n", "
\n", "\n", "
\n", "
encoders:
\n", "
Constantijn Sikkel (QDF), Ulrik Petersen (MQL) and Dirk Roorda (TF)
\n", "
\n", "\n", "
\n", "
version:
\n", "
2017
\n", "
\n", "\n", "
\n", "
website:
\n", "
https://shebanq.ancient-data.org
\n", "
\n", "\n", "
\n", "
writtenBy:
\n", "
Text-Fabric
\n", "
\n", "\n", "
\n", "
\n", "
\n", "\n", "
\n", "
\n", "number\n", "
\n", "
int
\n", "
\n", " \n", "
\n", "\n", "
\n", "
author:
\n", "
Eep Talstra Centre for Bible and Computer
\n", "
\n", "\n", "
\n", "
dataset:
\n", "
BHSA
\n", "
\n", "\n", "
\n", "
datasetName:
\n", "
Biblia Hebraica Stuttgartensia Amstelodamensis
\n", "
\n", "\n", "
\n", "
dateWritten:
\n", "
2019-03-02T09:50:39Z
\n", "
\n", "\n", "
\n", "
email:
\n", "
shebanq@ancient-data.org
\n", "
\n", "\n", "
\n", "
encoders:
\n", "
Constantijn Sikkel (QDF), Ulrik Petersen (MQL) and Dirk Roorda (TF)
\n", "
\n", "\n", "
\n", "
version:
\n", "
2017
\n", "
\n", "\n", "
\n", "
website:
\n", "
https://shebanq.ancient-data.org
\n", "
\n", "\n", "
\n", "
writtenBy:
\n", "
Text-Fabric
\n", "
\n", "\n", "
\n", "
\n", "
\n", "\n", "
\n", "
\n", "otype\n", "
\n", "
str
\n", "
\n", " \n", "
\n", "\n", "
\n", "
author:
\n", "
Eep Talstra Centre for Bible and Computer
\n", "
\n", "\n", "
\n", "
dataset:
\n", "
BHSA
\n", "
\n", "\n", "
\n", "
datasetName:
\n", "
Biblia Hebraica Stuttgartensia Amstelodamensis
\n", "
\n", "\n", "
\n", "
dateWritten:
\n", "
2019-03-02T09:53:33Z
\n", "
\n", "\n", "
\n", "
email:
\n", "
shebanq@ancient-data.org
\n", "
\n", "\n", "
\n", "
encoders:
\n", "
Constantijn Sikkel (QDF), and Dirk Roorda (TF)
\n", "
\n", "\n", "
\n", "
version:
\n", "
2017
\n", "
\n", "\n", "
\n", "
website:
\n", "
https://shebanq.ancient-data.org
\n", "
\n", "\n", "
\n", "
writtenBy:
\n", "
Text-Fabric
\n", "
\n", "\n", "
\n", "
\n", "
\n", "\n", "
\n", "
\n", "pargr\n", "
\n", "
str
\n", "
\n", " \n", "
\n", "\n", "
\n", "
author:
\n", "
Eep Talstra Centre for Bible and Computer
\n", "
\n", "\n", "
\n", "
dataset:
\n", "
BHSA
\n", "
\n", "\n", "
\n", "
datasetName:
\n", "
Biblia Hebraica Stuttgartensia Amstelodamensis
\n", "
\n", "\n", "
\n", "
dateWritten:
\n", "
2019-03-02T09:58:36Z
\n", "
\n", "\n", "
\n", "
email:
\n", "
shebanq@ancient-data.org
\n", "
\n", "\n", "
\n", "
encoders:
\n", "
Constantijn Sikkel (QDF), and Dirk Roorda (TF)
\n", "
\n", "\n", "
\n", "
version:
\n", "
2017
\n", "
\n", "\n", "
\n", "
website:
\n", "
https://shebanq.ancient-data.org
\n", "
\n", "\n", "
\n", "
writtenBy:
\n", "
Text-Fabric
\n", "
\n", "\n", "
\n", "
\n", "
\n", "\n", "
\n", "
\n", "pdp\n", "
\n", "
str
\n", "
\n", " \n", "
\n", "\n", "
\n", "
author:
\n", "
Eep Talstra Centre for Bible and Computer
\n", "
\n", "\n", "
\n", "
dataset:
\n", "
BHSA
\n", "
\n", "\n", "
\n", "
datasetName:
\n", "
Biblia Hebraica Stuttgartensia Amstelodamensis
\n", "
\n", "\n", "
\n", "
dateWritten:
\n", "
2019-03-02T09:50:41Z
\n", "
\n", "\n", "
\n", "
email:
\n", "
shebanq@ancient-data.org
\n", "
\n", "\n", "
\n", "
encoders:
\n", "
Constantijn Sikkel (QDF), Ulrik Petersen (MQL) and Dirk Roorda (TF)
\n", "
\n", "\n", "
\n", "
version:
\n", "
2017
\n", "
\n", "\n", "
\n", "
website:
\n", "
https://shebanq.ancient-data.org
\n", "
\n", "\n", "
\n", "
writtenBy:
\n", "
Text-Fabric
\n", "
\n", "\n", "
\n", "
\n", "
\n", "\n", "
\n", "
\n", "pfm\n", "
\n", "
str
\n", "
\n", " \n", "
\n", "\n", "
\n", "
author:
\n", "
Eep Talstra Centre for Bible and Computer
\n", "
\n", "\n", "
\n", "
dataset:
\n", "
BHSA
\n", "
\n", "\n", "
\n", "
datasetName:
\n", "
Biblia Hebraica Stuttgartensia Amstelodamensis
\n", "
\n", "\n", "
\n", "
dateWritten:
\n", "
2019-03-02T09:50:42Z
\n", "
\n", "\n", "
\n", "
email:
\n", "
shebanq@ancient-data.org
\n", "
\n", "\n", "
\n", "
encoders:
\n", "
Constantijn Sikkel (QDF), Ulrik Petersen (MQL) and Dirk Roorda (TF)
\n", "
\n", "\n", "
\n", "
version:
\n", "
2017
\n", "
\n", "\n", "
\n", "
website:
\n", "
https://shebanq.ancient-data.org
\n", "
\n", "\n", "
\n", "
writtenBy:
\n", "
Text-Fabric
\n", "
\n", "\n", "
\n", "
\n", "
\n", "\n", "
\n", "
\n", "prs\n", "
\n", "
str
\n", "
\n", " \n", "
\n", "\n", "
\n", "
author:
\n", "
Eep Talstra Centre for Bible and Computer
\n", "
\n", "\n", "
\n", "
dataset:
\n", "
BHSA
\n", "
\n", "\n", "
\n", "
datasetName:
\n", "
Biblia Hebraica Stuttgartensia Amstelodamensis
\n", "
\n", "\n", "
\n", "
dateWritten:
\n", "
2019-03-02T09:50:42Z
\n", "
\n", "\n", "
\n", "
email:
\n", "
shebanq@ancient-data.org
\n", "
\n", "\n", "
\n", "
encoders:
\n", "
Constantijn Sikkel (QDF), Ulrik Petersen (MQL) and Dirk Roorda (TF)
\n", "
\n", "\n", "
\n", "
version:
\n", "
2017
\n", "
\n", "\n", "
\n", "
website:
\n", "
https://shebanq.ancient-data.org
\n", "
\n", "\n", "
\n", "
writtenBy:
\n", "
Text-Fabric
\n", "
\n", "\n", "
\n", "
\n", "
\n", "\n", "
\n", "
\n", "prs_gn\n", "
\n", "
str
\n", "
\n", " \n", "
\n", "\n", "
\n", "
author:
\n", "
Eep Talstra Centre for Bible and Computer
\n", "
\n", "\n", "
\n", "
dataset:
\n", "
BHSA
\n", "
\n", "\n", "
\n", "
datasetName:
\n", "
Biblia Hebraica Stuttgartensia Amstelodamensis
\n", "
\n", "\n", "
\n", "
dateWritten:
\n", "
2019-03-02T09:50:43Z
\n", "
\n", "\n", "
\n", "
email:
\n", "
shebanq@ancient-data.org
\n", "
\n", "\n", "
\n", "
encoders:
\n", "
Constantijn Sikkel (QDF), Ulrik Petersen (MQL) and Dirk Roorda (TF)
\n", "
\n", "\n", "
\n", "
version:
\n", "
2017
\n", "
\n", "\n", "
\n", "
website:
\n", "
https://shebanq.ancient-data.org
\n", "
\n", "\n", "
\n", "
writtenBy:
\n", "
Text-Fabric
\n", "
\n", "\n", "
\n", "
\n", "
\n", "\n", "
\n", "
\n", "prs_nu\n", "
\n", "
str
\n", "
\n", " \n", "
\n", "\n", "
\n", "
author:
\n", "
Eep Talstra Centre for Bible and Computer
\n", "
\n", "\n", "
\n", "
dataset:
\n", "
BHSA
\n", "
\n", "\n", "
\n", "
datasetName:
\n", "
Biblia Hebraica Stuttgartensia Amstelodamensis
\n", "
\n", "\n", "
\n", "
dateWritten:
\n", "
2019-03-02T09:50:43Z
\n", "
\n", "\n", "
\n", "
email:
\n", "
shebanq@ancient-data.org
\n", "
\n", "\n", "
\n", "
encoders:
\n", "
Constantijn Sikkel (QDF), Ulrik Petersen (MQL) and Dirk Roorda (TF)
\n", "
\n", "\n", "
\n", "
version:
\n", "
2017
\n", "
\n", "\n", "
\n", "
website:
\n", "
https://shebanq.ancient-data.org
\n", "
\n", "\n", "
\n", "
writtenBy:
\n", "
Text-Fabric
\n", "
\n", "\n", "
\n", "
\n", "
\n", "\n", "
\n", "
\n", "prs_ps\n", "
\n", "
str
\n", "
\n", " \n", "
\n", "\n", "
\n", "
author:
\n", "
Eep Talstra Centre for Bible and Computer
\n", "
\n", "\n", "
\n", "
dataset:
\n", "
BHSA
\n", "
\n", "\n", "
\n", "
datasetName:
\n", "
Biblia Hebraica Stuttgartensia Amstelodamensis
\n", "
\n", "\n", "
\n", "
dateWritten:
\n", "
2019-03-02T09:50:44Z
\n", "
\n", "\n", "
\n", "
email:
\n", "
shebanq@ancient-data.org
\n", "
\n", "\n", "
\n", "
encoders:
\n", "
Constantijn Sikkel (QDF), Ulrik Petersen (MQL) and Dirk Roorda (TF)
\n", "
\n", "\n", "
\n", "
version:
\n", "
2017
\n", "
\n", "\n", "
\n", "
website:
\n", "
https://shebanq.ancient-data.org
\n", "
\n", "\n", "
\n", "
writtenBy:
\n", "
Text-Fabric
\n", "
\n", "\n", "
\n", "
\n", "
\n", "\n", "
\n", "
\n", "ps\n", "
\n", "
str
\n", "
\n", " \n", "
\n", "\n", "
\n", "
author:
\n", "
Eep Talstra Centre for Bible and Computer
\n", "
\n", "\n", "
\n", "
dataset:
\n", "
BHSA
\n", "
\n", "\n", "
\n", "
datasetName:
\n", "
Biblia Hebraica Stuttgartensia Amstelodamensis
\n", "
\n", "\n", "
\n", "
dateWritten:
\n", "
2019-03-02T09:50:45Z
\n", "
\n", "\n", "
\n", "
email:
\n", "
shebanq@ancient-data.org
\n", "
\n", "\n", "
\n", "
encoders:
\n", "
Constantijn Sikkel (QDF), Ulrik Petersen (MQL) and Dirk Roorda (TF)
\n", "
\n", "\n", "
\n", "
version:
\n", "
2017
\n", "
\n", "\n", "
\n", "
website:
\n", "
https://shebanq.ancient-data.org
\n", "
\n", "\n", "
\n", "
writtenBy:
\n", "
Text-Fabric
\n", "
\n", "\n", "
\n", "
\n", "
\n", "\n", "
\n", "
\n", "qere\n", "
\n", "
str
\n", "
\n", " \n", "
\n", "\n", "
\n", "
author:
\n", "
Eep Talstra Centre for Bible and Computer
\n", "
\n", "\n", "
\n", "
dataset:
\n", "
BHSA
\n", "
\n", "\n", "
\n", "
datasetName:
\n", "
Biblia Hebraica Stuttgartensia Amstelodamensis
\n", "
\n", "\n", "
\n", "
dateWritten:
\n", "
2019-03-02T09:59:58Z
\n", "
\n", "\n", "
\n", "
email:
\n", "
shebanq@ancient-data.org
\n", "
\n", "\n", "
\n", "
encoders:
\n", "
Constantijn Sikkel (QDF), and Dirk Roorda (TF)
\n", "
\n", "\n", "
\n", "
version:
\n", "
2017
\n", "
\n", "\n", "
\n", "
website:
\n", "
https://shebanq.ancient-data.org
\n", "
\n", "\n", "
\n", "
writtenBy:
\n", "
Text-Fabric
\n", "
\n", "\n", "
\n", "
\n", "
\n", "\n", "
\n", "
\n", "qere_trailer\n", "
\n", "
str
\n", "
\n", " \n", "
\n", "\n", "
\n", "
author:
\n", "
Eep Talstra Centre for Bible and Computer
\n", "
\n", "\n", "
\n", "
dataset:
\n", "
BHSA
\n", "
\n", "\n", "
\n", "
datasetName:
\n", "
Biblia Hebraica Stuttgartensia Amstelodamensis
\n", "
\n", "\n", "
\n", "
dateWritten:
\n", "
2019-03-02T09:59:58Z
\n", "
\n", "\n", "
\n", "
email:
\n", "
shebanq@ancient-data.org
\n", "
\n", "\n", "
\n", "
encoders:
\n", "
Constantijn Sikkel (QDF), and Dirk Roorda (TF)
\n", "
\n", "\n", "
\n", "
version:
\n", "
2017
\n", "
\n", "\n", "
\n", "
website:
\n", "
https://shebanq.ancient-data.org
\n", "
\n", "\n", "
\n", "
writtenBy:
\n", "
Text-Fabric
\n", "
\n", "\n", "
\n", "
\n", "
\n", "\n", "
\n", "
\n", "qere_trailer_utf8\n", "
\n", "
str
\n", "
\n", " \n", "
\n", "\n", "
\n", "
author:
\n", "
Eep Talstra Centre for Bible and Computer
\n", "
\n", "\n", "
\n", "
dataset:
\n", "
BHSA
\n", "
\n", "\n", "
\n", "
datasetName:
\n", "
Biblia Hebraica Stuttgartensia Amstelodamensis
\n", "
\n", "\n", "
\n", "
dateWritten:
\n", "
2019-03-02T09:59:58Z
\n", "
\n", "\n", "
\n", "
email:
\n", "
shebanq@ancient-data.org
\n", "
\n", "\n", "
\n", "
encoders:
\n", "
Constantijn Sikkel (QDF), and Dirk Roorda (TF)
\n", "
\n", "\n", "
\n", "
version:
\n", "
2017
\n", "
\n", "\n", "
\n", "
website:
\n", "
https://shebanq.ancient-data.org
\n", "
\n", "\n", "
\n", "
writtenBy:
\n", "
Text-Fabric
\n", "
\n", "\n", "
\n", "
\n", "
\n", "\n", "
\n", "
\n", "qere_utf8\n", "
\n", "
str
\n", "
\n", " \n", "
\n", "\n", "
\n", "
author:
\n", "
Eep Talstra Centre for Bible and Computer
\n", "
\n", "\n", "
\n", "
dataset:
\n", "
BHSA
\n", "
\n", "\n", "
\n", "
datasetName:
\n", "
Biblia Hebraica Stuttgartensia Amstelodamensis
\n", "
\n", "\n", "
\n", "
dateWritten:
\n", "
2019-03-02T09:59:58Z
\n", "
\n", "\n", "
\n", "
email:
\n", "
shebanq@ancient-data.org
\n", "
\n", "\n", "
\n", "
encoders:
\n", "
Constantijn Sikkel (QDF), and Dirk Roorda (TF)
\n", "
\n", "\n", "
\n", "
version:
\n", "
2017
\n", "
\n", "\n", "
\n", "
website:
\n", "
https://shebanq.ancient-data.org
\n", "
\n", "\n", "
\n", "
writtenBy:
\n", "
Text-Fabric
\n", "
\n", "\n", "
\n", "
\n", "
\n", "\n", "
\n", "
\n", "rank_lex\n", "
\n", "
int
\n", "
\n", " \n", "
\n", "\n", "
\n", "
author:
\n", "
Eep Talstra Centre for Bible and Computer
\n", "
\n", "\n", "
\n", "
dataset:
\n", "
BHSA
\n", "
\n", "\n", "
\n", "
datasetName:
\n", "
Biblia Hebraica Stuttgartensia Amstelodamensis
\n", "
\n", "\n", "
\n", "
dateWritten:
\n", "
2019-03-02T10:00:45Z
\n", "
\n", "\n", "
\n", "
email:
\n", "
shebanq@ancient-data.org
\n", "
\n", "\n", "
\n", "
encoders:
\n", "
Dirk Roorda (TF)
\n", "
\n", "\n", "
\n", "
provenance:
\n", "
computed addition to core set of features
\n", "
\n", "\n", "
\n", "
version:
\n", "
2017
\n", "
\n", "\n", "
\n", "
website:
\n", "
https://shebanq.ancient-data.org
\n", "
\n", "\n", "
\n", "
writtenBy:
\n", "
Text-Fabric
\n", "
\n", "\n", "
\n", "
\n", "
\n", "\n", "
\n", "
\n", "rela\n", "
\n", "
str
\n", "
\n", " \n", "
\n", "\n", "
\n", "
author:
\n", "
Eep Talstra Centre for Bible and Computer
\n", "
\n", "\n", "
\n", "
dataset:
\n", "
BHSA
\n", "
\n", "\n", "
\n", "
datasetName:
\n", "
Biblia Hebraica Stuttgartensia Amstelodamensis
\n", "
\n", "\n", "
\n", "
dateWritten:
\n", "
2019-03-02T09:50:46Z
\n", "
\n", "\n", "
\n", "
email:
\n", "
shebanq@ancient-data.org
\n", "
\n", "\n", "
\n", "
encoders:
\n", "
Constantijn Sikkel (QDF), Ulrik Petersen (MQL) and Dirk Roorda (TF)
\n", "
\n", "\n", "
\n", "
version:
\n", "
2017
\n", "
\n", "\n", "
\n", "
website:
\n", "
https://shebanq.ancient-data.org
\n", "
\n", "\n", "
\n", "
writtenBy:
\n", "
Text-Fabric
\n", "
\n", "\n", "
\n", "
\n", "
\n", "\n", "
\n", "
\n", "sp\n", "
\n", "
str
\n", "
\n", " \n", "
\n", "\n", "
\n", "
author:
\n", "
Eep Talstra Centre for Bible and Computer
\n", "
\n", "\n", "
\n", "
dataset:
\n", "
BHSA
\n", "
\n", "\n", "
\n", "
datasetName:
\n", "
Biblia Hebraica Stuttgartensia Amstelodamensis
\n", "
\n", "\n", "
\n", "
dateWritten:
\n", "
2019-03-02T09:53:34Z
\n", "
\n", "\n", "
\n", "
email:
\n", "
shebanq@ancient-data.org
\n", "
\n", "\n", "
\n", "
encoders:
\n", "
Constantijn Sikkel (QDF), and Dirk Roorda (TF)
\n", "
\n", "\n", "
\n", "
version:
\n", "
2017
\n", "
\n", "\n", "
\n", "
website:
\n", "
https://shebanq.ancient-data.org
\n", "
\n", "\n", "
\n", "
writtenBy:
\n", "
Text-Fabric
\n", "
\n", "\n", "
\n", "
\n", "
\n", "\n", "
\n", "
\n", "st\n", "
\n", "
str
\n", "
\n", " \n", "
\n", "\n", "
\n", "
author:
\n", "
Eep Talstra Centre for Bible and Computer
\n", "
\n", "\n", "
\n", "
dataset:
\n", "
BHSA
\n", "
\n", "\n", "
\n", "
datasetName:
\n", "
Biblia Hebraica Stuttgartensia Amstelodamensis
\n", "
\n", "\n", "
\n", "
dateWritten:
\n", "
2019-03-02T09:50:48Z
\n", "
\n", "\n", "
\n", "
email:
\n", "
shebanq@ancient-data.org
\n", "
\n", "\n", "
\n", "
encoders:
\n", "
Constantijn Sikkel (QDF), Ulrik Petersen (MQL) and Dirk Roorda (TF)
\n", "
\n", "\n", "
\n", "
version:
\n", "
2017
\n", "
\n", "\n", "
\n", "
website:
\n", "
https://shebanq.ancient-data.org
\n", "
\n", "\n", "
\n", "
writtenBy:
\n", "
Text-Fabric
\n", "
\n", "\n", "
\n", "
\n", "
\n", "\n", "
\n", "
\n", "tab\n", "
\n", "
int
\n", "
\n", " \n", "
\n", "\n", "
\n", "
author:
\n", "
Eep Talstra Centre for Bible and Computer
\n", "
\n", "\n", "
\n", "
dataset:
\n", "
BHSA
\n", "
\n", "\n", "
\n", "
datasetName:
\n", "
Biblia Hebraica Stuttgartensia Amstelodamensis
\n", "
\n", "\n", "
\n", "
dateWritten:
\n", "
2019-03-02T09:50:50Z
\n", "
\n", "\n", "
\n", "
email:
\n", "
shebanq@ancient-data.org
\n", "
\n", "\n", "
\n", "
encoders:
\n", "
Constantijn Sikkel (QDF), Ulrik Petersen (MQL) and Dirk Roorda (TF)
\n", "
\n", "\n", "
\n", "
version:
\n", "
2017
\n", "
\n", "\n", "
\n", "
website:
\n", "
https://shebanq.ancient-data.org
\n", "
\n", "\n", "
\n", "
writtenBy:
\n", "
Text-Fabric
\n", "
\n", "\n", "
\n", "
\n", "
\n", "\n", "
\n", "
\n", "trailer\n", "
\n", "
str
\n", "
\n", " \n", "
\n", "\n", "
\n", "
author:
\n", "
Eep Talstra Centre for Bible and Computer
\n", "
\n", "\n", "
\n", "
dataset:
\n", "
BHSA
\n", "
\n", "\n", "
\n", "
datasetName:
\n", "
Biblia Hebraica Stuttgartensia Amstelodamensis
\n", "
\n", "\n", "
\n", "
dateWritten:
\n", "
2019-03-02T09:50:26Z
\n", "
\n", "\n", "
\n", "
email:
\n", "
shebanq@ancient-data.org
\n", "
\n", "\n", "
\n", "
encoders:
\n", "
Constantijn Sikkel (QDF), Ulrik Petersen (MQL) and Dirk Roorda (TF)
\n", "
\n", "\n", "
\n", "
version:
\n", "
2017
\n", "
\n", "\n", "
\n", "
website:
\n", "
https://shebanq.ancient-data.org
\n", "
\n", "\n", "
\n", "
writtenBy:
\n", "
Text-Fabric
\n", "
\n", "\n", "
\n", "
\n", "
\n", "\n", "
\n", "
\n", "trailer_utf8\n", "
\n", "
str
\n", "
\n", " \n", "
\n", "\n", "
\n", "
author:
\n", "
Eep Talstra Centre for Bible and Computer
\n", "
\n", "\n", "
\n", "
dataset:
\n", "
BHSA
\n", "
\n", "\n", "
\n", "
datasetName:
\n", "
Biblia Hebraica Stuttgartensia Amstelodamensis
\n", "
\n", "\n", "
\n", "
dateWritten:
\n", "
2019-03-02T09:50:26Z
\n", "
\n", "\n", "
\n", "
email:
\n", "
shebanq@ancient-data.org
\n", "
\n", "\n", "
\n", "
encoders:
\n", "
Constantijn Sikkel (QDF), Ulrik Petersen (MQL) and Dirk Roorda (TF)
\n", "
\n", "\n", "
\n", "
version:
\n", "
2017
\n", "
\n", "\n", "
\n", "
website:
\n", "
https://shebanq.ancient-data.org
\n", "
\n", "\n", "
\n", "
writtenBy:
\n", "
Text-Fabric
\n", "
\n", "\n", "
\n", "
\n", "
\n", "\n", "
\n", "
\n", "txt\n", "
\n", "
str
\n", "
\n", " \n", "
\n", "\n", "
\n", "
author:
\n", "
Eep Talstra Centre for Bible and Computer
\n", "
\n", "\n", "
\n", "
dataset:
\n", "
BHSA
\n", "
\n", "\n", "
\n", "
datasetName:
\n", "
Biblia Hebraica Stuttgartensia Amstelodamensis
\n", "
\n", "\n", "
\n", "
dateWritten:
\n", "
2019-03-02T09:50:50Z
\n", "
\n", "\n", "
\n", "
email:
\n", "
shebanq@ancient-data.org
\n", "
\n", "\n", "
\n", "
encoders:
\n", "
Constantijn Sikkel (QDF), Ulrik Petersen (MQL) and Dirk Roorda (TF)
\n", "
\n", "\n", "
\n", "
version:
\n", "
2017
\n", "
\n", "\n", "
\n", "
website:
\n", "
https://shebanq.ancient-data.org
\n", "
\n", "\n", "
\n", "
writtenBy:
\n", "
Text-Fabric
\n", "
\n", "\n", "
\n", "
\n", "
\n", "\n", "
\n", "
\n", "typ\n", "
\n", "
str
\n", "
\n", " \n", "
\n", "\n", "
\n", "
author:
\n", "
Eep Talstra Centre for Bible and Computer
\n", "
\n", "\n", "
\n", "
dataset:
\n", "
BHSA
\n", "
\n", "\n", "
\n", "
datasetName:
\n", "
Biblia Hebraica Stuttgartensia Amstelodamensis
\n", "
\n", "\n", "
\n", "
dateWritten:
\n", "
2019-03-02T09:50:50Z
\n", "
\n", "\n", "
\n", "
email:
\n", "
shebanq@ancient-data.org
\n", "
\n", "\n", "
\n", "
encoders:
\n", "
Constantijn Sikkel (QDF), Ulrik Petersen (MQL) and Dirk Roorda (TF)
\n", "
\n", "\n", "
\n", "
version:
\n", "
2017
\n", "
\n", "\n", "
\n", "
website:
\n", "
https://shebanq.ancient-data.org
\n", "
\n", "\n", "
\n", "
writtenBy:
\n", "
Text-Fabric
\n", "
\n", "\n", "
\n", "
\n", "
\n", "\n", "
\n", "
\n", "uvf\n", "
\n", "
str
\n", "
\n", " \n", "
\n", "\n", "
\n", "
author:
\n", "
Eep Talstra Centre for Bible and Computer
\n", "
\n", "\n", "
\n", "
dataset:
\n", "
BHSA
\n", "
\n", "\n", "
\n", "
datasetName:
\n", "
Biblia Hebraica Stuttgartensia Amstelodamensis
\n", "
\n", "\n", "
\n", "
dateWritten:
\n", "
2019-03-02T09:50:51Z
\n", "
\n", "\n", "
\n", "
email:
\n", "
shebanq@ancient-data.org
\n", "
\n", "\n", "
\n", "
encoders:
\n", "
Constantijn Sikkel (QDF), Ulrik Petersen (MQL) and Dirk Roorda (TF)
\n", "
\n", "\n", "
\n", "
version:
\n", "
2017
\n", "
\n", "\n", "
\n", "
website:
\n", "
https://shebanq.ancient-data.org
\n", "
\n", "\n", "
\n", "
writtenBy:
\n", "
Text-Fabric
\n", "
\n", "\n", "
\n", "
\n", "
\n", "\n", "
\n", "
\n", "vbe\n", "
\n", "
str
\n", "
\n", " \n", "
\n", "\n", "
\n", "
author:
\n", "
Eep Talstra Centre for Bible and Computer
\n", "
\n", "\n", "
\n", "
dataset:
\n", "
BHSA
\n", "
\n", "\n", "
\n", "
datasetName:
\n", "
Biblia Hebraica Stuttgartensia Amstelodamensis
\n", "
\n", "\n", "
\n", "
dateWritten:
\n", "
2019-03-02T09:50:52Z
\n", "
\n", "\n", "
\n", "
email:
\n", "
shebanq@ancient-data.org
\n", "
\n", "\n", "
\n", "
encoders:
\n", "
Constantijn Sikkel (QDF), Ulrik Petersen (MQL) and Dirk Roorda (TF)
\n", "
\n", "\n", "
\n", "
version:
\n", "
2017
\n", "
\n", "\n", "
\n", "
website:
\n", "
https://shebanq.ancient-data.org
\n", "
\n", "\n", "
\n", "
writtenBy:
\n", "
Text-Fabric
\n", "
\n", "\n", "
\n", "
\n", "
\n", "\n", "
\n", "
\n", "vbs\n", "
\n", "
str
\n", "
\n", " \n", "
\n", "\n", "
\n", "
author:
\n", "
Eep Talstra Centre for Bible and Computer
\n", "
\n", "\n", "
\n", "
dataset:
\n", "
BHSA
\n", "
\n", "\n", "
\n", "
datasetName:
\n", "
Biblia Hebraica Stuttgartensia Amstelodamensis
\n", "
\n", "\n", "
\n", "
dateWritten:
\n", "
2019-03-02T09:50:53Z
\n", "
\n", "\n", "
\n", "
email:
\n", "
shebanq@ancient-data.org
\n", "
\n", "\n", "
\n", "
encoders:
\n", "
Constantijn Sikkel (QDF), Ulrik Petersen (MQL) and Dirk Roorda (TF)
\n", "
\n", "\n", "
\n", "
version:
\n", "
2017
\n", "
\n", "\n", "
\n", "
website:
\n", "
https://shebanq.ancient-data.org
\n", "
\n", "\n", "
\n", "
writtenBy:
\n", "
Text-Fabric
\n", "
\n", "\n", "
\n", "
\n", "
\n", "\n", "
\n", "
\n", "verse\n", "
\n", "
int
\n", "
\n", " \n", "
\n", "\n", "
\n", "
author:
\n", "
Eep Talstra Centre for Bible and Computer
\n", "
\n", "\n", "
\n", "
dataset:
\n", "
BHSA
\n", "
\n", "\n", "
\n", "
datasetName:
\n", "
Biblia Hebraica Stuttgartensia Amstelodamensis
\n", "
\n", "\n", "
\n", "
dateWritten:
\n", "
2019-03-02T09:50:53Z
\n", "
\n", "\n", "
\n", "
email:
\n", "
shebanq@ancient-data.org
\n", "
\n", "\n", "
\n", "
encoders:
\n", "
Constantijn Sikkel (QDF), Ulrik Petersen (MQL) and Dirk Roorda (TF)
\n", "
\n", "\n", "
\n", "
version:
\n", "
2017
\n", "
\n", "\n", "
\n", "
website:
\n", "
https://shebanq.ancient-data.org
\n", "
\n", "\n", "
\n", "
writtenBy:
\n", "
Text-Fabric
\n", "
\n", "\n", "
\n", "
\n", "
\n", "\n", "
\n", "
\n", "voc_lex\n", "
\n", "
str
\n", "
\n", " \n", "
\n", "\n", "
\n", "
author:
\n", "
Eep Talstra Centre for Bible and Computer
\n", "
\n", "\n", "
\n", "
dataset:
\n", "
BHSA
\n", "
\n", "\n", "
\n", "
datasetName:
\n", "
Biblia Hebraica Stuttgartensia Amstelodamensis
\n", "
\n", "\n", "
\n", "
dateWritten:
\n", "
2019-03-02T09:53:34Z
\n", "
\n", "\n", "
\n", "
email:
\n", "
shebanq@ancient-data.org
\n", "
\n", "\n", "
\n", "
encoders:
\n", "
Constantijn Sikkel (QDF), and Dirk Roorda (TF)
\n", "
\n", "\n", "
\n", "
version:
\n", "
2017
\n", "
\n", "\n", "
\n", "
website:
\n", "
https://shebanq.ancient-data.org
\n", "
\n", "\n", "
\n", "
writtenBy:
\n", "
Text-Fabric
\n", "
\n", "\n", "
\n", "
\n", "
\n", "\n", "
\n", "
\n", "voc_lex_utf8\n", "
\n", "
str
\n", "
\n", " \n", "
\n", "\n", "
\n", "
author:
\n", "
Eep Talstra Centre for Bible and Computer
\n", "
\n", "\n", "
\n", "
dataset:
\n", "
BHSA
\n", "
\n", "\n", "
\n", "
datasetName:
\n", "
Biblia Hebraica Stuttgartensia Amstelodamensis
\n", "
\n", "\n", "
\n", "
dateWritten:
\n", "
2019-03-02T09:53:34Z
\n", "
\n", "\n", "
\n", "
email:
\n", "
shebanq@ancient-data.org
\n", "
\n", "\n", "
\n", "
encoders:
\n", "
Constantijn Sikkel (QDF), and Dirk Roorda (TF)
\n", "
\n", "\n", "
\n", "
version:
\n", "
2017
\n", "
\n", "\n", "
\n", "
website:
\n", "
https://shebanq.ancient-data.org
\n", "
\n", "\n", "
\n", "
writtenBy:
\n", "
Text-Fabric
\n", "
\n", "\n", "
\n", "
\n", "
\n", "\n", "
\n", "
\n", "vs\n", "
\n", "
str
\n", "
\n", " \n", "
\n", "\n", "
\n", "
author:
\n", "
Eep Talstra Centre for Bible and Computer
\n", "
\n", "\n", "
\n", "
dataset:
\n", "
BHSA
\n", "
\n", "\n", "
\n", "
datasetName:
\n", "
Biblia Hebraica Stuttgartensia Amstelodamensis
\n", "
\n", "\n", "
\n", "
dateWritten:
\n", "
2019-03-02T09:50:53Z
\n", "
\n", "\n", "
\n", "
email:
\n", "
shebanq@ancient-data.org
\n", "
\n", "\n", "
\n", "
encoders:
\n", "
Constantijn Sikkel (QDF), Ulrik Petersen (MQL) and Dirk Roorda (TF)
\n", "
\n", "\n", "
\n", "
version:
\n", "
2017
\n", "
\n", "\n", "
\n", "
website:
\n", "
https://shebanq.ancient-data.org
\n", "
\n", "\n", "
\n", "
writtenBy:
\n", "
Text-Fabric
\n", "
\n", "\n", "
\n", "
\n", "
\n", "\n", "
\n", "
\n", "vt\n", "
\n", "
str
\n", "
\n", " \n", "
\n", "\n", "
\n", "
author:
\n", "
Eep Talstra Centre for Bible and Computer
\n", "
\n", "\n", "
\n", "
dataset:
\n", "
BHSA
\n", "
\n", "\n", "
\n", "
datasetName:
\n", "
Biblia Hebraica Stuttgartensia Amstelodamensis
\n", "
\n", "\n", "
\n", "
dateWritten:
\n", "
2019-03-02T09:50:54Z
\n", "
\n", "\n", "
\n", "
email:
\n", "
shebanq@ancient-data.org
\n", "
\n", "\n", "
\n", "
encoders:
\n", "
Constantijn Sikkel (QDF), Ulrik Petersen (MQL) and Dirk Roorda (TF)
\n", "
\n", "\n", "
\n", "
version:
\n", "
2017
\n", "
\n", "\n", "
\n", "
website:
\n", "
https://shebanq.ancient-data.org
\n", "
\n", "\n", "
\n", "
writtenBy:
\n", "
Text-Fabric
\n", "
\n", "\n", "
\n", "
\n", "
\n", "\n", "
\n", "
\n", "mother\n", "
\n", "
none
\n", "
\n", " \n", "
\n", "\n", "
\n", "
author:
\n", "
Eep Talstra Centre for Bible and Computer
\n", "
\n", "\n", "
\n", "
dataset:
\n", "
BHSA
\n", "
\n", "\n", "
\n", "
datasetName:
\n", "
Biblia Hebraica Stuttgartensia Amstelodamensis
\n", "
\n", "\n", "
\n", "
dateWritten:
\n", "
2019-03-02T09:50:58Z
\n", "
\n", "\n", "
\n", "
email:
\n", "
shebanq@ancient-data.org
\n", "
\n", "\n", "
\n", "
encoders:
\n", "
Constantijn Sikkel (QDF), Ulrik Petersen (MQL) and Dirk Roorda (TF)
\n", "
\n", "\n", "
\n", "
version:
\n", "
2017
\n", "
\n", "\n", "
\n", "
website:
\n", "
https://shebanq.ancient-data.org
\n", "
\n", "\n", "
\n", "
writtenBy:
\n", "
Text-Fabric
\n", "
\n", "\n", "
\n", "
\n", "
\n", "\n", "
\n", "
\n", "oslots\n", "
\n", "
none
\n", "
\n", " \n", "
\n", "\n", "
\n", "
author:
\n", "
Eep Talstra Centre for Bible and Computer
\n", "
\n", "\n", "
\n", "
dataset:
\n", "
BHSA
\n", "
\n", "\n", "
\n", "
datasetName:
\n", "
Biblia Hebraica Stuttgartensia Amstelodamensis
\n", "
\n", "\n", "
\n", "
dateWritten:
\n", "
2019-03-02T09:53:34Z
\n", "
\n", "\n", "
\n", "
email:
\n", "
shebanq@ancient-data.org
\n", "
\n", "\n", "
\n", "
encoders:
\n", "
Constantijn Sikkel (QDF), and Dirk Roorda (TF)
\n", "
\n", "\n", "
\n", "
version:
\n", "
2017
\n", "
\n", "\n", "
\n", "
website:
\n", "
https://shebanq.ancient-data.org
\n", "
\n", "\n", "
\n", "
writtenBy:
\n", "
Text-Fabric
\n", "
\n", "\n", "
\n", "
\n", "
\n", "\n", "
\n", "
\n", "\n", "
Phonetic Transcriptions\n", "
\n", "\n", "
\n", "
\n", "phono\n", "
\n", "
str
\n", "
\n", " \n", "
\n", "\n", "
\n", "
author:
\n", "
BHSA Data: Constantijn Sikkel; Phono Notebook: Dirk Roorda
\n", "
\n", "\n", "
\n", "
coreData:
\n", "
BHSA
\n", "
\n", "\n", "
\n", "
coreVersion:
\n", "
2017
\n", "
\n", "\n", "
\n", "
dateWritten:
\n", "
2018-01-17T17:29:02Z
\n", "
\n", "\n", "
\n", "
source:
\n", "
Phono Notebook applied to BHSA Data
\n", "
\n", "\n", "
\n", "
writtenBy:
\n", "
Text-Fabric
\n", "
\n", "\n", "
\n", "
\n", "
\n", "\n", "
\n", "
\n", "phono_trailer\n", "
\n", "
str
\n", "
\n", " \n", "
\n", "\n", "
\n", "
author:
\n", "
BHSA Data: Constantijn Sikkel; Phono Notebook: Dirk Roorda
\n", "
\n", "\n", "
\n", "
coreData:
\n", "
BHSA
\n", "
\n", "\n", "
\n", "
coreVersion:
\n", "
2017
\n", "
\n", "\n", "
\n", "
dateWritten:
\n", "
2018-01-17T17:29:03Z
\n", "
\n", "\n", "
\n", "
source:
\n", "
Phono Notebook applied to BHSA Data
\n", "
\n", "\n", "
\n", "
writtenBy:
\n", "
Text-Fabric
\n", "
\n", "\n", "
\n", "
\n", "
\n", "\n", "
\n", "
\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/html": [ "
Text-Fabric API: names N F E L T S C TF directly usable

" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "VERSION = \"2017\"\n", "A = use(\"ETCBC/bhsa:clone\", hoist=globals(), version=VERSION)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# By Oliver Glanz\n", "\n", "## MQL\n", "\n", "[Oliver Glanz: PP with adjective followed by noun](https://shebanq.ancient-data.org/hebrew/query?version=4b&id=547)\n", "```\n", "select all objects where\n", "[phrase FOCUS typ = PP\n", " [word sp= prep]\n", " [word sp=adjv]\n", " [word sp=subs]\n", "]\n", "```\n", "64 results having 251 words." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## TF" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "ExecuteTime": { "end_time": "2018-05-07T08:04:18.767013Z", "start_time": "2018-05-07T08:04:15.856216Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " 1.44s 64 results\n" ] } ], "source": [ "query = \"\"\"\n", "phrase typ=PP\n", " word sp=prep\n", " <: word sp=adjv\n", " <: word sp=subs\n", "\"\"\"\n", "results = A.search(query)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Comparison\n", "\n", "The number of results is right. The number of words that SHEBANQ reports\n", "is the number of words in the phrases of the result. Let us count them:" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "ExecuteTime": { "end_time": "2018-05-07T08:04:18.777085Z", "start_time": "2018-05-07T08:04:18.770729Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "251\n" ] } ], "source": [ "print(sum([len(L.d(r[0], otype=\"word\")) for r in results]))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Inspired by Oliver Glanz\n", "\n", "## MQL\n", "\n", "[Dirk Roorda: `Anapher`](https://shebanq.ancient-data.org/hebrew/query?version=2017&id=3455)\n", "\n", "```\n", "select all objects where\n", "[phrase\n", " [word AS samelex FOCUS FIRST]\n", " [word FOCUS lex = samelex.lex]\n", "]\n", "```\n", "220 results having 458 words." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This means: 220 verses, with 458 result words, and since there are exactly 2 words in each result, we expect 229 results.\n", "\n", "## TF" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "ExecuteTime": { "end_time": "2018-05-07T08:04:18.767013Z", "start_time": "2018-05-07T08:04:15.856216Z" } }, "outputs": [], "source": [ "queryTight = \"\"\"\n", "phrase\n", " =: w1:word\n", " <: w2:word\n", "\n", "w1 .lex. w2\n", "\"\"\"" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "ExecuteTime": { "end_time": "2018-05-07T08:04:18.767013Z", "start_time": "2018-05-07T08:04:15.856216Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " 2.41s 206 results\n" ] } ], "source": [ "resultsTight = A.search(queryTight)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We miss 23 results. How can that be?\n", "\n", "Well, in MQL\n", "\n", "```\n", "[phrase]\n", " [word]\n", " [word]\n", "```\n", "\n", "means that the two words are adjacent in the phrase.\n", "If the phrase has gaps, words around a gap are still adjacent.\n", "\n", "In TF it is different, there such words are not adjacent.\n", "\n", "Let's lift the requirement of adjacency from the TF query:" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "ExecuteTime": { "end_time": "2018-05-07T08:04:18.767013Z", "start_time": "2018-05-07T08:04:15.856216Z" } }, "outputs": [], "source": [ "queryLoose = \"\"\"\n", "phrase\n", " =: w1:word\n", " < w2:word\n", "\n", "w1 .lex. w2\n", "\"\"\"" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "ExecuteTime": { "end_time": "2018-05-07T08:04:18.767013Z", "start_time": "2018-05-07T08:04:15.856216Z" }, "lines_to_next_cell": 2 }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " 2.33s 6735 results\n" ] } ], "source": [ "resultsLoose = A.search(queryLoose)" ] }, { "cell_type": "markdown", "metadata": { "lines_to_next_cell": 2 }, "source": [ "Way to many results.\n", "\n", "Let's filter these results and only retain those where `w1` and `w2` are adjacent in the MQL sense." ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [], "source": [ "def filterTight(results):\n", " good = []\n", " for (p, w1, w2) in results:\n", " phraseWords = set(L.d(p, otype=\"word\"))\n", " if all(w not in phraseWords for w in range(w1 + 1, w2)):\n", " good.append((p, w1, w2))\n", " return good" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "229" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "len(filterTight(resultsLoose))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "So it looks like we have the same set in our hands.\n", "\n", "There must be 23 cases of phrases with an intervening phrase after the first word,\n", "after which the phrase resumes with a word\n", "of the same lexeme. Let's identify those.\n", "\n", "From [search Gaps](searchGaps.ipynb) we pick the query that finds all gapped phrases, and we store it in a set." ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "ExecuteTime": { "end_time": "2018-05-24T10:09:32.685437Z", "start_time": "2018-05-24T10:09:32.680670Z" } }, "outputs": [], "source": [ "queryGap = \"\"\"\n", "p:phrase\n", " wPreGap:word\n", " wLast:word\n", " :=\n", "\n", "wGap:word\n", "wPreGap <: wGap\n", "wGap < wLast\n", "\n", "p || wGap\n", "\"\"\"" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " 2.50s 671 results\n" ] } ], "source": [ "gaps = A.search(queryGap, shallow=True)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now we modify our loose query to run over gapped phrases only:" ] }, { "cell_type": "code", "execution_count": 14, "metadata": { "ExecuteTime": { "end_time": "2018-05-07T08:04:18.767013Z", "start_time": "2018-05-07T08:04:15.856216Z" } }, "outputs": [], "source": [ "queryLooseGap = \"\"\"\n", "phrasegap\n", " =: w1:word\n", " < w2:word\n", "\n", "w1 .lex. w2\n", "\"\"\"" ] }, { "cell_type": "code", "execution_count": 15, "metadata": { "ExecuteTime": { "end_time": "2018-05-07T08:04:18.767013Z", "start_time": "2018-05-07T08:04:15.856216Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " 0.52s 492 results\n" ] } ], "source": [ "resultsLooseGap = A.search(queryLooseGap, sets=dict(phrasegap=gaps))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "And apply the filter again:" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "24" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "resultsGap = filterTight(resultsLooseGap)\n", "len(resultsGap)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now we have one more than expected. It could be that one of the gapped phrases has an adjacent pair that\n", "does not lie around a gap.\n", "\n", "Indeed, result 9 is such a case." ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "data": { "text/html": [ "

result 8

" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
clause
phrase
lex=W
phrase
phrase
phrase
phrase
lex=L
" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "

result 9

" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
clause
phrase
clause
" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "

result 10

" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
clause
phrase
lex=W
phrase
phrase
phrase
phrase
" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "A.show(resultsGap, start=8, end=10, condenseType=\"clause\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## An other example by Oliver Glanz\n", "\n", "We look for words with the same value for the `g_cons` feature but with a different `lex` feature.\n", "There is a word pair in Jeremiah 1:11-12 that has this.\n", "\n", "An obvious query to try is the following:" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [], "source": [ "query = \"\"\"\n", "verse book=Jeremia chapter=1 verse=11|12\n", " w1:word lex*\n", " < w2:word\n", "w1 .g_cons=g_cons. w2\n", "w1 .lex#lex. w2\n", "\"\"\"" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " 0.54s 0 results\n" ] } ], "source": [ "results = A.search(query)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "But the thing is, one of those words is in verse 11, and the other in verse 12. The query as it stands, requires both\n", "words to be in the same verse.\n", "\n", "We could write a bit more intricate query, that requires the word pair between the last word of verse 10 and the first one of\n", "verse 13, but this query turns out to be inefficient. It finds a result in a few seconds (that is already way to slow) and then it spends\n", "ages to search a vast space where no results are to be found." ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [], "source": [ "query = \"\"\"\n", "verse book=Jeremia chapter=1 verse=10\n", " start:word\n", " :=\n", "verse book=Jeremia chapter=1 verse=13\n", " =: end:word\n", "\n", "start\n", "< w1:word\n", "< w2:word\n", "< end\n", "\n", "w1 .g_cons=g_cons. w2\n", "w1 .lex#lex. w2\n", "\"\"\"" ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " 0.00s Checking search template ...\n", " 0.00s Setting up search space for 8 objects ...\n", " 0.38s Constraining search space with 11 relations ...\n", " 0.45s \t2 edges thinned\n", " 0.45s Setting up retrieval plan with strategy small_choice_multi ...\n", " 0.50s Ready to deliver results from 1706340 nodes\n", "Iterate over S.fetch() to get the results\n", "See S.showPlan() to interpret the results\n" ] } ], "source": [ "S.study(query)" ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [], "source": [ "firstResult = next(S.fetch())" ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [ { "data": { "text/html": [ "

result 1

" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
clause
phrase
g_cons=Wlex=W
phrase
g_cons=Llex=L
g_cons=NVW<lex=NV<[
" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
clause
phrase
g_cons=MQLlex=MQL/
g_cons=CQDlex=CQD/
phrase
g_cons=>NJlex=>NJ
phrase
g_cons=R>Hlex=R>H[
" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
clause
phrase
g_cons=KJlex=KJ
phrase
g_cons=CQDlex=CQD[
phrase
g_cons=>NJlex=>NJ
phrase
g_cons=<Llex=<L
g_cons=DBRJlex=DBR/
" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
clause
phrase
g_cons=Wlex=W
phrase
g_cons=JHJlex=HJH[
phrase
g_cons=DBRlex=DBR/
g_cons=JHWHlex=JHWH/
phrase
g_cons=>LJlex=>L
phrase
g_cons=CNJTlex=CNJ/
" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "A.prettyTuple(firstResult, 1, condenseType=\"clause\", skipCols=\"1 3\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "An alternative is to look in a whole chapter, and to require the words not to be too far apart, e.g. at most 20." ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [], "source": [ "query = \"\"\"\n", "chapter book=Jeremia chapter=1\n", " w1:word\n", " <20: w2:word\n", "\n", "w1 < w2\n", "w1 .g_cons=g_cons. w2\n", "w1 .lex#lex. w2\n", "\"\"\"" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Note that `<20:` relaxes to adjacency condition `<:` with 20 slots in both directions.\n", "If there is a pair of words within a slot distance of 20, then the reversed pair also satisfies that condition.\n", "\n", "Hence we put in an extra `w1 < w2`, so that every pair occurs only once." ] }, { "cell_type": "code", "execution_count": 25, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " 0.23s 1 result\n" ] } ], "source": [ "results = A.search(query)" ] }, { "cell_type": "code", "execution_count": 26, "metadata": {}, "outputs": [ { "data": { "text/html": [ "

result 1

" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
clause
phrase
g_cons=MQLlex=MQL/
g_cons=CQDlex=CQD/
phrase
g_cons=>NJlex=>NJ
phrase
g_cons=R>Hlex=R>H[
" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
clause
phrase
g_cons=KJlex=KJ
phrase
g_cons=CQDlex=CQD[
phrase
g_cons=>NJlex=>NJ
phrase
g_cons=<Llex=<L
g_cons=DBRJlex=DBR/
" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "A.show(results, condenseType=\"clause\", skipCols=\"1\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can do so for the whole book of Jeremiah." ] }, { "cell_type": "code", "execution_count": 27, "metadata": {}, "outputs": [], "source": [ "query = \"\"\"\n", "book book=Jeremia\n", " w1:word\n", " <20: w2:word\n", "\n", "w1 < w2\n", "w1 .g_cons=g_cons. w2\n", "w1 .lex#lex. w2\n", "\"\"\"" ] }, { "cell_type": "code", "execution_count": 28, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " 2.93s 277 results\n" ] } ], "source": [ "results = A.search(query)" ] }, { "cell_type": "code", "execution_count": 29, "metadata": {}, "outputs": [ { "data": { "text/html": [ "

result 1

" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
clause
phrase
g_cons=MQLlex=MQL/
g_cons=CQDlex=CQD/
phrase
g_cons=>NJlex=>NJ
phrase
g_cons=R>Hlex=R>H[
" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
clause
phrase
g_cons=KJlex=KJ
phrase
g_cons=CQDlex=CQD[
phrase
g_cons=>NJlex=>NJ
phrase
g_cons=<Llex=<L
g_cons=DBRJlex=DBR/
" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "

result 2

" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
clause
phrase
g_cons=>CRlex=>CR
phrase
g_cons=L>lex=L>
phrase
g_cons=JKLWlex=KWL[
phrase
g_cons=Hlex=H
g_cons=MJMlex=MJM/
" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
clause
phrase
g_cons=Hlex=H=
phrase
g_cons=<BDlex=<BD/
phrase
g_cons=JFR>Llex=JFR>L/
" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "

result 3

" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
clause
phrase
g_cons=Hlex=H
g_cons=DWRlex=DWR/
" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
clause
phrase
g_cons=Hlex=H=
phrase
g_cons=MDBRlex=MDBR/
phrase
g_cons=HJJTJlex=HJH[
phrase
g_cons=Llex=L
g_cons=JFR>Llex=JFR>L/
" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "A.show(results, condenseType=\"clause\", end=3, skipCols=\"1\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's try the whole Bible in this way:" ] }, { "cell_type": "code", "execution_count": 30, "metadata": {}, "outputs": [], "source": [ "query = \"\"\"\n", "w1:word\n", "<20: w2:word\n", "\n", "w1 < w2\n", "w1 .g_cons=g_cons. w2\n", "w1 .lex#lex. w2\n", "\"\"\"" ] }, { "cell_type": "code", "execution_count": 31, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " 15s 3423 results\n" ] } ], "source": [ "results = A.search(query)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "TF is struggling with it, but it delivers!" ] }, { "cell_type": "code", "execution_count": 32, "metadata": {}, "outputs": [ { "data": { "text/html": [ "

result 1

" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
clause
phrase
g_cons=Wlex=W
phrase
g_cons=JRDWlex=RDH[
phrase
g_cons=Blex=B
g_cons=DGTlex=DGH/
g_cons=Hlex=H
g_cons=JMlex=JM/
g_cons=Wlex=W
g_cons=Blex=B
g_cons=<WPlex=<WP/
g_cons=Hlex=H
g_cons=CMJMlex=CMJM/
g_cons=Wlex=W
g_cons=Blex=B
g_cons=lex=H
g_cons=BHMHlex=BHMH/
g_cons=Wlex=W
g_cons=Blex=B
g_cons=KLlex=KL/
g_cons=Hlex=H
g_cons=>RYlex=>RY/
g_cons=Wlex=W
g_cons=Blex=B
g_cons=KLlex=KL/
g_cons=Hlex=H
g_cons=RMFlex=RMF/
" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
clause
phrase
g_cons=Hlex=H
phrase
g_cons=RMFlex=RMF[
phrase
g_cons=<Llex=<L
g_cons=Hlex=H
g_cons=>RYlex=>RY/
" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "

result 2

" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
clause
phrase
g_cons=ZR<lex=ZR<[
phrase
g_cons=ZR<lex=ZR</
" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "

result 3

" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
clause
phrase
g_cons=ZR<lex=ZR<[
phrase
g_cons=ZR<lex=ZR</
" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
clause
phrase
g_cons=ZR<lex=ZR<[
phrase
g_cons=ZR<lex=ZR</
" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "A.show(results, condenseType=\"clause\", end=3)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# By Martijn Naaijer\n", "## MQL\n", "\n", "[Martijn Naaijer: Object clauses with `>CR`](https://shebanq.ancient-data.org/hebrew/query?version=4b&id=997)\n", "\n", "```\n", "Select all objects where\n", "\n", "[clause rela = Objc\n", " [word focus first lex = '>CR']\n", "]\n", "```\n", "\n", "157 results" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## TF" ] }, { "cell_type": "code", "execution_count": 33, "metadata": { "ExecuteTime": { "end_time": "2018-05-07T08:04:19.788071Z", "start_time": "2018-05-07T08:04:18.781205Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " 0.47s 96 results\n" ] }, { "data": { "text/html": [ "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "
npverseclauseword
1Genesis 14:24אֲשֶׁ֣ר אָֽכְל֣וּ הַנְּעָרִ֔ים אֲשֶׁ֣ר
2Genesis 18:17אֲשֶׁ֖ר אֲנִ֥י עֹשֶֽׂה׃ אֲשֶׁ֖ר
3Genesis 24:3אֲשֶׁ֨ר לֹֽא־תִקַּ֤ח אִשָּׁה֙ לִבְנִ֔י מִבְּנֹות֙ הַֽכְּנַעֲנִ֔י אֲשֶׁ֨ר
4Genesis 34:11אֲשֶׁ֥ר תֹּאמְר֛וּ אֵלַ֖י אֲשֶׁ֥ר
5Genesis 39:23אֲשֶׁר־ה֥וּא עֹשֶׂ֖ה אֲשֶׁר־
6Genesis 41:28אֲשֶׁ֧ר הָאֱלֹהִ֛ים עֹשֶׂ֖ה אֲשֶׁ֧ר
7Genesis 41:55אֲשֶׁר־יֹאמַ֥ר לָכֶ֖ם אֲשֶׁר־
8Genesis 44:5אֲשֶׁ֥ר עֲשִׂיתֶֽם׃ אֲשֶׁ֥ר
9Exodus 4:12אֲשֶׁ֥ר תְּדַבֵּֽר׃ אֲשֶׁ֥ר
10Exodus 5:21אֲשֶׁ֧ר הִבְאַשְׁתֶּ֣ם אֶת־רֵיחֵ֗נוּ בְּעֵינֵ֤י פַרְעֹה֙ וּבְעֵינֵ֣י עֲבָדָ֔יו אֲשֶׁ֧ר
" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "query = \"\"\"\n", "verse\n", " clause rela=Objc\n", " =: word lex=>CR\n", "\"\"\"\n", "results = A.search(query)\n", "A.table(results, end=10)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Comparison\n", "\n", "We have fewer cases: 96 instead of 157.\n", "We are working on the ETCBC version 2017, and the query has been executed against 4b.\n", "There have been coding updates that are relevant to this query, e.g. in Genesis 43:27, which is in the results\n", "on SHEBANQ, but not here. In 2017 the `rela` is `Attr`, and not `Objc`:" ] }, { "cell_type": "code", "execution_count": 34, "metadata": { "ExecuteTime": { "end_time": "2018-05-07T08:04:20.869670Z", "start_time": "2018-05-07T08:04:19.831834Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " 0.45s 1 result\n" ] }, { "data": { "text/html": [ "

result 1

" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
verse
book=Genesischapter=43verse=27
sentence
clause
phrase
lex=W
phrase
phrase
phrase
lex=L
sentence
clause
phrase
lex=W
phrase
sentence
clause
phrase
lex=H=
phrase
phrase
clause
phrase
sentence
clause
phrase
lex=H=
phrase
phrase
" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "query = \"\"\"\n", "verse book=Genesis chapter=43 verse=27\n", " clause\n", " =: word lex=>CR\n", "\"\"\"\n", "results = A.search(query)\n", "A.show(results)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# By Cody Kingham\n", "## MQL\n", "\n", "[Cody Kingham: Mutual Information Hierarchies. p.18n49. First Person Verbs in Narrative](https://shebanq.ancient-data.org/hebrew/query?version=4b&id=1050)\n", "\n", "```\n", "SELECT ALL OBJECTS WHERE\n", "\n", "[book\n", " [clause txt = 'N'\n", " [word FOCUS sp = verb\n", " [word ps = p1\n", " ]\n", " ]\n", " ]\n", "]\n", "OR\n", "[book\n", " [clause txt = '?N'\n", " [word FOCUS sp = verb\n", " [word ps = p1\n", " ]\n", " ]\n", " ]\n", "]\n", "```\n", "\n", "273 results." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## TF" ] }, { "cell_type": "code", "execution_count": 35, "metadata": { "ExecuteTime": { "end_time": "2018-05-07T08:04:24.489808Z", "start_time": "2018-05-07T08:04:20.875215Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " 0.56s 272 results\n" ] }, { "data": { "text/html": [ "\n", "\n", "\n", "\n", "\n", "
npbookclauseword
1Deuteronomy 2:1Deuteronomyוַנֵּ֜פֶן נֵּ֜פֶן
2Deuteronomy 2:1Deuteronomyוַנִּסַּ֤ע הַמִּדְבָּ֨רָה֙ דֶּ֣רֶךְ יַם־ס֔וּף נִּסַּ֤ע
3Deuteronomy 2:1Deuteronomyוַנָּ֥סָב אֶת־הַר־שֵׂעִ֖יר יָמִ֥ים רַבִּֽים׃ ס נָּ֥סָב
4Deuteronomy 2:8Deuteronomyוַֽנַּעֲבֹ֞ר מֵאֵ֧ת אַחֵ֣ינוּ בְנֵי־עֵשָׂ֗ו מִדֶּ֨רֶךְ֙ הָֽעֲרָבָ֔ה מֵאֵילַ֖ת וּמֵעֶצְיֹ֣ן גָּ֑בֶר ס נַּעֲבֹ֞ר
5Deuteronomy 2:8Deuteronomyוַנֵּ֨פֶן֙ נֵּ֨פֶן֙
" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "query = \"\"\"\n", "book\n", " clause txt=N|?N\n", " word sp=verb ps=p1\n", "\"\"\"\n", "results = A.search(query)\n", "A.table(results, end=5)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Comparison\n", "\n", "One result less. Again, a coding difference between versions.\n", "Exercise: find out where that happened." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# By Reinoud Oosting\n", "## MQL\n", "\n", "[Reinoud Oosting: to go + object marker](https://shebanq.ancient-data.org/hebrew/query?version=4b&id=755)\n", "\n", "```\n", "Select all objects\n", "where\n", " [clause\n", " [phrase function = Pred OR function = PreC\n", " [word FOCUS sp = verb AND vs = qal AND lex = \"HLK[\" ]\n", " ]\n", " ..\n", " [phrase FOCUS\n", " [word First lex = \">T\"]\n", " ]\n", " ]\n", "OR\n", " [clause\n", " [phrase FOCUS\n", " [word First lex = \">T\" ]\n", " ]\n", "..\n", " [phrase function = Pred OR function = PreC\n", " [word FOCUS sp = verb AND vs = qal AND lex = \"HLK[\"]\n", " ]\n", " ]\n", " ```\n", "\n", " 4 results.\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## TF\n", "\n", "This is a case where we can simplify greatly because we are not hampered\n", "by automatic constraints on the order of the phrases." ] }, { "cell_type": "code", "execution_count": 36, "metadata": { "ExecuteTime": { "end_time": "2018-05-07T08:04:26.904505Z", "start_time": "2018-05-07T08:04:24.496574Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " 1.25s 4 results\n" ] }, { "data": { "text/html": [ "

result 1

" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
clause
phrase
function=Conj
lex=Wsp=conj
phrase
function=Pred
lex=HLK[sp=verbvs=qal
phrase
function=Objc
lex=>Tsp=prep
lex=KL/sp=subs
lex=Hsp=art
lex=MDBR/sp=subs
lex=Hsp=art
lex=GDWL/sp=adjv
lex=Wsp=conj
lex=Hsp=art
lex=JR>[sp=verbvs=nif
lex=Hsp=art
lex=HW>sp=prps
clause
phrase
function=Objc
lex=DRK/sp=subs
lex=HR/sp=subs
lex=Hsp=art
lex=>MRJ/sp=adjv
" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "

result 2

" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
clause
phrase
function=Conj
lex=Wsp=conj
phrase
function=Objc
lex=>Tsp=prep
lex=BJT/sp=subs
lex=JHWH/sp=nmpr
phrase
function=Subj
lex=>NJsp=prps
phrase
function=PreC
lex=HLK[sp=verbvs=qal
" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "

result 3

" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
clause
phrase
function=Rela
lex=Hsp=art
phrase
function=PreC
lex=HLK[sp=verbvs=qal
phrase
function=Objc
lex=>Tsp=prep
" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "

result 4

" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
clause
phrase
function=Rela
lex=>Tsp=prep
lex=>CRsp=conj
phrase
function=Cmpl
lex=Bsp=prep
lex=XQ/sp=subs
phrase
function=Pred
lex=HLK[sp=verbvs=qal
" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "query = \"\"\"\n", "clause\n", " p1:phrase function=Pred|PreC\n", " word sp=verb vs=qal lex=HLK[\n", " p2:phrase\n", " =: word lex=>T\n", " p1 # p2\n", "\"\"\"\n", "\n", "results = A.search(query)\n", "A.show(sorted(results), condensed=False, condenseType=\"clause\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# By Reinoud Oosting (ii)\n", "## MQL\n", "\n", "[Reinoud Oosting: To establish covenant](https://shebanq.ancient-data.org/hebrew/query?version=4b&id=1485)\n", "\n", "```\n", "select all objects\n", "where\n", "\n", " [clause\n", " [phrase function = Pred OR function = PreC\n", " [word FOCUS sp = verb AND vs = hif AND lex = \"QWM[\" ]\n", " ]\n", " ..\n", " [phrase function = Objc\n", " [word FOCUS lex = \"BRJT/\" ]\n", " ]\n", " ]\n", "OR\n", " [clause\n", " [phrase function = Objc\n", " [word FOCUS lex = \"BRJT/\" ]\n", " ]\n", "..\n", " [phrase function = Pred OR function = PreC\n", " [word FOCUS sp = verb AND vs = hif AND lex = \"QWM[\"]\n", " ]\n", "\n", "]\n", "```\n", "\n", "13 results" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## TF" ] }, { "cell_type": "code", "execution_count": 37, "metadata": { "ExecuteTime": { "end_time": "2018-05-07T08:04:29.571751Z", "start_time": "2018-05-07T08:04:26.909700Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " 1.25s 13 results\n" ] }, { "data": { "text/html": [ "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "
npverseclausephrasewordphraseword
1Genesis 6:18וַהֲקִמֹתִ֥י אֶת־בְּרִיתִ֖י אִתָּ֑ךְ הֲקִמֹתִ֥י הֲקִמֹתִ֥י אֶת־בְּרִיתִ֖י בְּרִיתִ֖י
2Genesis 9:9הִנְנִ֥י מֵקִ֛ים אֶת־בְּרִיתִ֖י אִתְּכֶ֑ם וְאֶֽת־זַרְעֲכֶ֖ם אַֽחֲרֵיכֶֽם׃ מֵקִ֛ים מֵקִ֛ים אֶת־בְּרִיתִ֖י בְּרִיתִ֖י
3Genesis 9:11וַהֲקִמֹתִ֤י אֶת־בְּרִיתִי֙ אִתְּכֶ֔ם הֲקִמֹתִ֤י הֲקִמֹתִ֤י אֶת־בְּרִיתִי֙ בְּרִיתִי֙
4Genesis 17:7וַהֲקִמֹתִ֨י אֶת־בְּרִיתִ֜י בֵּינִ֣י וּבֵינֶ֗ךָ וּבֵ֨ין זַרְעֲךָ֧ אַחֲרֶ֛יךָ לְדֹרֹתָ֖ם לִבְרִ֣ית עֹולָ֑ם הֲקִמֹתִ֨י הֲקִמֹתִ֨י אֶת־בְּרִיתִ֜י בְּרִיתִ֜י
5Genesis 17:19וַהֲקִמֹתִ֨י אֶת־בְּרִיתִ֥י אִתֹּ֛ו לִבְרִ֥ית עֹולָ֖ם לְזַרְעֹ֥ו אַחֲרָֽיו׃ הֲקִמֹתִ֨י הֲקִמֹתִ֨י אֶת־בְּרִיתִ֥י בְּרִיתִ֥י
6Genesis 17:21וְאֶת־בְּרִיתִ֖י אָקִ֣ים אֶת־יִצְחָ֑ק אָקִ֣ים אָקִ֣ים אֶת־בְּרִיתִ֖י בְּרִיתִ֖י
7Exodus 6:4וְגַ֨ם הֲקִמֹ֤תִי אֶת־בְּרִיתִי֙ אִתָּ֔ם הֲקִמֹ֤תִי הֲקִמֹ֤תִי אֶת־בְּרִיתִי֙ בְּרִיתִי֙
8Leviticus 26:9וַהֲקִימֹתִ֥י אֶת־בְּרִיתִ֖י אִתְּכֶֽם׃ הֲקִימֹתִ֥י הֲקִימֹתִ֥י אֶת־בְּרִיתִ֖י בְּרִיתִ֖י
9Deuteronomy 8:18לְמַ֨עַן הָקִ֧ים אֶת־בְּרִיתֹ֛ו לְמַ֨עַן הָקִ֧ים הָקִ֧ים אֶת־בְּרִיתֹ֛ו בְּרִיתֹ֛ו
102_Kings 23:3לְהָקִ֗ים אֶת־דִּבְרֵי֙ הַבְּרִ֣ית הַזֹּ֔את לְהָקִ֗ים הָקִ֗ים אֶת־דִּבְרֵי֙ הַבְּרִ֣ית הַזֹּ֔את בְּרִ֣ית
11Jeremiah 34:18אֲשֶׁ֤ר לֹֽא־הֵקִ֨ימוּ֙ אֶת־דִּבְרֵ֣י הַבְּרִ֔ית הֵקִ֨ימוּ֙ הֵקִ֨ימוּ֙ אֶת־דִּבְרֵ֣י הַבְּרִ֔ית בְּרִ֔ית
12Ezekiel 16:60וַהֲקִמֹותִ֥י לָ֖ךְ בְּרִ֥ית עֹולָֽם׃ הֲקִמֹותִ֥י הֲקִמֹותִ֥י בְּרִ֥ית עֹולָֽם׃ בְּרִ֥ית
13Ezekiel 16:62וַהֲקִימֹותִ֥י אֲנִ֛י אֶת־בְּרִיתִ֖י אִתָּ֑ךְ הֲקִימֹותִ֥י הֲקִימֹותִ֥י אֶת־בְּרִיתִ֖י בְּרִיתִ֖י
" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "

result 4

" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
verse
sentence
clause
phrase
function=Conj
lex=Wsp=conj
phrase
function=Pred
lex=QWM[sp=verbvs=hif
phrase
function=Objc
lex=>Tsp=prep
lex=BRJT/sp=subs
phrase
function=Cmpl
lex=BJN/sp=subs
lex=Wsp=conj
lex=BJN/sp=subs
lex=Wsp=conj
lex=BJN/sp=subs
lex=ZR</sp=subs
lex=>XR/sp=subs
lex=Lsp=prep
lex=DWR/sp=subs
phrase
function=Cmpl
lex=Lsp=prep
lex=BRJT/sp=subs
lex=<WLM/sp=subs
clause
phrase
function=Pred
lex=Lsp=prep
lex=HJH[sp=verbvs=qal
phrase
function=Cmpl
lex=Lsp=prep
phrase
function=PreC
lex=Lsp=prep
lex=>LHJM/sp=subs
phrase
function=Cmpl
lex=Wsp=conj
lex=Lsp=prep
lex=ZR</sp=subs
" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "query = \"\"\"\n", "clause\n", " phrase function=Pred|PreC\n", " word sp=verb vs=hif lex=QWM[\n", " phrase function=Objc\n", " word lex=BRJT/\n", "\"\"\"\n", "\n", "results = A.search(query)\n", "resultsx = sorted(\n", " (L.u(r[0], otype=\"verse\") + r for r in results), key=lambda r: N.sortKey(r[0])\n", ")\n", "A.table(sorted(resultsx))\n", "A.show(resultsx, start=4, end=4)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# By Reinoud Oosting (iii)\n", "## MQL\n", "\n", "[Reinoud Oosting: To find grace in sight of](https://shebanq.ancient-data.org/hebrew/query?version=4b&id=1484)\n", "\n", "```\n", "select all objects\n", "where\n", "\n", " [clause\n", " [phrase FOCUS function = Pred OR function = PreC\n", " [word sp = verb AND vs = qal AND lex = \"MY>[\" ]\n", " ]\n", " ..\n", " [phrase function = Objc\n", " [word FOCUS lex = \"XN/\" ]\n", " ]\n", "[phrase function = Cmpl\n", "[word FOCUS lex = \"B\"]\n", "[word FOCUS lex = \"[\"]\n", " ]\n", " ]\n", "]\n", "\n", "```\n", "\n", "38 results" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## TF" ] }, { "cell_type": "code", "execution_count": 38, "metadata": { "ExecuteTime": { "end_time": "2018-05-07T08:04:34.090453Z", "start_time": "2018-05-07T08:04:29.577360Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " 2.25s 40 results\n" ] }, { "data": { "text/html": [ "\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", "
npverseclausephrasewordphrasewordphrasewordword
1Genesis 6:8וְנֹ֕חַ מָ֥צָא חֵ֖ן בְּעֵינֵ֥י יְהוָֽה׃ פ מָ֥צָא מָ֥צָא חֵ֖ן חֵ֖ן בְּעֵינֵ֥י יְהוָֽה׃ פ בְּעֵינֵ֥י
2Genesis 18:3אִם־נָ֨א מָצָ֤אתִי חֵן֙ בְּעֵינֶ֔יךָ מָצָ֤אתִי מָצָ֤אתִי חֵן֙ חֵן֙ בְּעֵינֶ֔יךָ בְּעֵינֶ֔יךָ
3Genesis 19:19הִנֵּה־נָ֠א מָצָ֨א עַבְדְּךָ֣ חֵן֮ בְּעֵינֶיךָ֒ מָצָ֨א מָצָ֨א חֵן֮ חֵן֮ בְּעֵינֶיךָ֒ בְּעֵינֶיךָ֒
4Genesis 30:27אִם־נָ֛א מָצָ֥אתִי חֵ֖ן בְּעֵינֶ֑יךָ מָצָ֥אתִי מָצָ֥אתִי חֵ֖ן חֵ֖ן בְּעֵינֶ֑יךָ בְּעֵינֶ֑יךָ
5Genesis 32:6לִמְצֹא־חֵ֖ן בְּעֵינֶֽיךָ׃ לִמְצֹא־מְצֹא־חֵ֖ן חֵ֖ן בְּעֵינֶֽיךָ׃ בְּעֵינֶֽיךָ׃
6Genesis 33:8לִמְצֹא־חֵ֖ן בְּעֵינֵ֥י אֲדֹנִֽי׃ לִמְצֹא־מְצֹא־חֵ֖ן חֵ֖ן בְּעֵינֵ֥י אֲדֹנִֽי׃ בְּעֵינֵ֥י
7Genesis 33:10אִם־נָ֨א מָצָ֤אתִי חֵן֙ בְּעֵינֶ֔יךָ מָצָ֤אתִי מָצָ֤אתִי חֵן֙ חֵן֙ בְּעֵינֶ֔יךָ בְּעֵינֶ֔יךָ
8Genesis 33:15לָ֣מָּה זֶּ֔ה אֶמְצָא־חֵ֖ן בְּעֵינֵ֥י אֲדֹנִֽי׃ אֶמְצָא־אֶמְצָא־חֵ֖ן חֵ֖ן בְּעֵינֵ֥י אֲדֹנִֽי׃ בְּעֵינֵ֥י
9Genesis 34:11אֶמְצָא־חֵ֖ן בְּעֵינֵיכֶ֑ם אֶמְצָא־אֶמְצָא־חֵ֖ן חֵ֖ן בְּעֵינֵיכֶ֑ם בְּעֵינֵיכֶ֑ם
10Genesis 39:4וַיִּמְצָ֨א יֹוסֵ֥ף חֵ֛ן בְּעֵינָ֖יו יִּמְצָ֨א יִּמְצָ֨א חֵ֛ן חֵ֛ן בְּעֵינָ֖יו בְּעֵינָ֖יו
11Genesis 47:25נִמְצָא־חֵן֙ בְּעֵינֵ֣י אֲדֹנִ֔י נִמְצָא־נִמְצָא־חֵן֙ חֵן֙ בְּעֵינֵ֣י אֲדֹנִ֔י בְּעֵינֵ֣י
12Genesis 47:29אִם־נָ֨א מָצָ֤אתִי חֵן֙ בְּעֵינֶ֔יךָ מָצָ֤אתִי מָצָ֤אתִי חֵן֙ חֵן֙ בְּעֵינֶ֔יךָ בְּעֵינֶ֔יךָ
13Genesis 50:4אִם־נָ֨א מָצָ֤אתִי חֵן֙ בְּעֵ֣ינֵיכֶ֔ם מָצָ֤אתִי מָצָ֤אתִי חֵן֙ חֵן֙ בְּעֵ֣ינֵיכֶ֔ם בְּעֵ֣ינֵיכֶ֔ם
14Exodus 33:12וְגַם־מָצָ֥אתָ חֵ֖ן בְּעֵינָֽי׃ מָצָ֥אתָ מָצָ֥אתָ חֵ֖ן חֵ֖ן בְּעֵינָֽי׃ בְּעֵינָֽי׃
15Exodus 33:13אִם־נָא֩ מָצָ֨אתִי חֵ֜ן בְּעֵינֶ֗יךָ מָצָ֨אתִי מָצָ֨אתִי חֵ֜ן חֵ֜ן בְּעֵינֶ֗יךָ בְּעֵינֶ֗יךָ
16Exodus 33:13לְמַ֥עַן אֶמְצָא־חֵ֖ן בְּעֵינֶ֑יךָ אֶמְצָא־אֶמְצָא־חֵ֖ן חֵ֖ן בְּעֵינֶ֑יךָ בְּעֵינֶ֑יךָ
17Exodus 33:16כִּֽי־מָצָ֨אתִי חֵ֤ן בְּעֵינֶ֨יךָ֙ אֲנִ֣י וְעַמֶּ֔ךָ מָצָ֨אתִי מָצָ֨אתִי חֵ֤ן חֵ֤ן בְּעֵינֶ֨יךָ֙ בְּעֵינֶ֨יךָ֙
18Exodus 33:17כִּֽי־מָצָ֤אתָ חֵן֙ בְּעֵינַ֔י מָצָ֤אתָ מָצָ֤אתָ חֵן֙ חֵן֙ בְּעֵינַ֔י בְּעֵינַ֔י
19Exodus 34:9אִם־נָא֩ מָצָ֨אתִי חֵ֤ן בְּעֵינֶ֨יךָ֙ מָצָ֨אתִי מָצָ֨אתִי חֵ֤ן חֵ֤ן בְּעֵינֶ֨יךָ֙ בְּעֵינֶ֨יךָ֙
20Numbers 11:11וְלָ֛מָּה לֹא־מָצָ֥תִי חֵ֖ן בְּעֵינֶ֑יךָ מָצָ֥תִי מָצָ֥תִי חֵ֖ן חֵ֖ן בְּעֵינֶ֑יךָ בְּעֵינֶ֑יךָ
21Numbers 11:15אִם־מָצָ֥אתִי חֵ֖ן בְּעֵינֶ֑יךָ מָצָ֥אתִי מָצָ֥אתִי חֵ֖ן חֵ֖ן בְּעֵינֶ֑יךָ בְּעֵינֶ֑יךָ
22Numbers 32:5אִם־מָצָ֤אנוּ חֵן֙ בְּעֵינֶ֔יךָ מָצָ֤אנוּ מָצָ֤אנוּ חֵן֙ חֵן֙ בְּעֵינֶ֔יךָ בְּעֵינֶ֔יךָ
23Deuteronomy 24:1אִם־לֹ֧א תִמְצָא־חֵ֣ן בְּעֵינָ֗יו תִמְצָא־תִמְצָא־חֵ֣ן חֵ֣ן בְּעֵינָ֗יו בְּעֵינָ֗יו
24Judges 6:17אִם־נָ֛א מָצָ֥אתִי חֵ֖ן בְּעֵינֶ֑יךָ מָצָ֥אתִי מָצָ֥אתִי חֵ֖ן חֵ֖ן בְּעֵינֶ֑יךָ בְּעֵינֶ֑יךָ
251_Samuel 1:18תִּמְצָ֧א שִׁפְחָתְךָ֛ חֵ֖ן בְּעֵינֶ֑יךָ תִּמְצָ֧א תִּמְצָ֧א חֵ֖ן חֵ֖ן בְּעֵינֶ֑יךָ בְּעֵינֶ֑יךָ
261_Samuel 16:22כִּֽי־מָ֥צָא חֵ֖ן בְּעֵינָֽי׃ מָ֥צָא מָ֥צָא חֵ֖ן חֵ֖ן בְּעֵינָֽי׃ בְּעֵינָֽי׃
271_Samuel 20:3כִּֽי־מָצָ֤אתִי חֵן֙ בְּעֵינֶ֔יךָ מָצָ֤אתִי מָצָ֤אתִי חֵן֙ חֵן֙ בְּעֵינֶ֔יךָ בְּעֵינֶ֔יךָ
281_Samuel 20:29אִם־מָצָ֤אתִי חֵן֙ בְּעֵינֶ֔יךָ מָצָ֤אתִי מָצָ֤אתִי חֵן֙ חֵן֙ בְּעֵינֶ֔יךָ בְּעֵינֶ֔יךָ
291_Samuel 25:8וְיִמְצְא֨וּ הַנְּעָרִ֥ים חֵן֙ בְּעֵינֶ֔יךָ יִמְצְא֨וּ יִמְצְא֨וּ חֵן֙ חֵן֙ בְּעֵינֶ֔יךָ בְּעֵינֶ֔יךָ
301_Samuel 27:5אִם־נָא֩ מָצָ֨אתִי חֵ֤ן בְּעֵינֶ֨יךָ֙ מָצָ֨אתִי מָצָ֨אתִי חֵ֤ן חֵ֤ן בְּעֵינֶ֨יךָ֙ בְּעֵינֶ֨יךָ֙
312_Samuel 14:22כִּי־מָצָ֨אתִי חֵ֤ן בְּעֵינֶ֨יךָ֙ מָצָ֨אתִי מָצָ֨אתִי חֵ֤ן חֵ֤ן בְּעֵינֶ֨יךָ֙ בְּעֵינֶ֨יךָ֙
322_Samuel 15:25אִם־אֶמְצָ֥א חֵן֙ בְּעֵינֵ֣י יְהוָ֔ה אֶמְצָ֥א אֶמְצָ֥א חֵן֙ חֵן֙ בְּעֵינֵ֣י יְהוָ֔ה בְּעֵינֵ֣י
332_Samuel 16:4אֶמְצָא־חֵ֥ן בְּעֵינֶ֖יךָ אֶמְצָא־אֶמְצָא־חֵ֥ן חֵ֥ן בְּעֵינֶ֖יךָ בְּעֵינֶ֖יךָ
341_Kings 11:19וַיִּמְצָא֙ הֲדַ֥ד חֵ֛ן בְּעֵינֵ֥י פַרְעֹ֖ה מְאֹ֑ד יִּמְצָא֙ יִּמְצָא֙ חֵ֛ן חֵ֛ן בְּעֵינֵ֥י פַרְעֹ֖ה בְּעֵינֵ֥י
35Proverbs 3:4וּמְצָא־חֵ֖ן וְשֵֽׂכֶל־טֹ֑וב בְּעֵינֵ֖י אֱלֹהִ֣ים וְאָדָֽם׃ פ מְצָא־מְצָא־חֵ֖ן וְשֵֽׂכֶל־טֹ֑וב חֵ֖ן בְּעֵינֵ֖י אֱלֹהִ֣ים וְאָדָֽם׃ פ בְּעֵינֵ֖י
36Ruth 2:2אַחַ֕ר אֲשֶׁ֥ר אֶמְצָא־חֵ֖ן בְּעֵינָ֑יו אֶמְצָא־אֶמְצָא־חֵ֖ן חֵ֖ן בְּעֵינָ֑יו בְּעֵינָ֑יו
37Ruth 2:10מַדּוּעַ֩ מָצָ֨אתִי חֵ֤ן בְּעֵינֶ֨יךָ֙ מָצָ֨אתִי מָצָ֨אתִי חֵ֤ן חֵ֤ן בְּעֵינֶ֨יךָ֙ בְּעֵינֶ֨יךָ֙
38Ruth 2:13אֶמְצָא־חֵ֨ן בְּעֵינֶ֤יךָ אֶמְצָא־אֶמְצָא־חֵ֨ן חֵ֨ן בְּעֵינֶ֤יךָ בְּעֵינֶ֤יךָ
39Esther 5:8אִם־מָצָ֨אתִי חֵ֜ן בְּעֵינֵ֣י הַמֶּ֗לֶךְ מָצָ֨אתִי מָצָ֨אתִי חֵ֜ן חֵ֜ן בְּעֵינֵ֣י הַמֶּ֗לֶךְ בְּעֵינֵ֣י
40Esther 7:3אִם־מָצָ֨אתִי חֵ֤ן בְּעֵינֶ֨יךָ֙ מָצָ֨אתִי מָצָ֨אתִי חֵ֤ן חֵ֤ן בְּעֵינֶ֨יךָ֙ בְּעֵינֶ֨יךָ֙
" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "query = \"\"\"\n", "clause\n", " p1:phrase function=Pred|PreC\n", " word sp=verb vs=qal lex=MY>[\n", " p2:phrase function=Objc\n", " word lex=XN/\n", " p3:phrase function=Cmpl\n", " word lex=B\n", " <: word lex= phrase function=Pred\n", " /-/\n", " /without/\n", " word pdp=prep\n", " /-/\n", " word pdp=subs|nmpr|prin|adjv ls=card|ordn\n", "\"\"\"" ] }, { "cell_type": "code", "execution_count": 40, "metadata": { "ExecuteTime": { "end_time": "2018-05-07T08:04:37.996573Z", "start_time": "2018-05-07T08:04:34.541956Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " 1.42s 2288 results\n", "519 clauses in results\n" ] } ], "source": [ "results = A.search(query)\n", "clauses = project(results, 1)\n", "print(f\"{len(clauses)} clauses in results\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Comparison\n", "\n", "We have 15 results less than the MQL query on SHEBANQ.\n", "\n", "Let us have a look at some results words and compare them with the result words on SHEBANQ.\n", "It is handy to fetch from SHEBANQ the CSV file with query results.\n", "\n", "We have fetched them and stored them in `fromShebanq.csv` in the same directory.\n", "It is a list of words occurring in results, so let's see which clauses are in the SHEBANQ results." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "```\n", "book,chapter,verse,monad,text,ktv,phtext,phsep\n", "Genesis,5,4,2169,יְמֵי־,,yᵊmê-,\n", "Genesis,5,4,2170,אָדָ֗ם ,,ʔāḏˈām,\n", "Genesis,5,4,2175,שְׁמֹנֶ֥ה ,,šᵊmōnˌeh,\n", "Genesis,5,4,2176,מֵאֹ֖ת ,,mēʔˌōṯ,\n", "Genesis,5,5,2185,כָּל־,,kol-,\n", "Genesis,5,5,2186,יְמֵ֤י ,,yᵊmˈê,\n", "Genesis,5,5,2187,אָדָם֙ ,,ʔāḏˌām,\n", "Genesis,5,5,2190,תְּשַׁ֤ע ,,tᵊšˈaʕ,\n", "Genesis,5,5,2191,מֵאֹות֙ ,,mēʔôṯ,\n", "Genesis,5,5,2194,שְׁלֹשִׁ֖ים ,,šᵊlōšˌîm,\n", "```" ] }, { "cell_type": "code", "execution_count": 41, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "519" ] }, "execution_count": 41, "metadata": {}, "output_type": "execute_result" } ], "source": [ "shebanqClauses = set()\n", "with open(\"fromShebanq.csv\") as fh:\n", " for (i, line) in enumerate(fh):\n", " if i == 0:\n", " continue\n", " fields = line.split(\",\")\n", " word = int(fields[3])\n", " clause = L.u(word, otype=\"clause\")[0]\n", " shebanqClauses.add(clause)\n", "len(shebanqClauses)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "That looks good: both methods yield the same amount of clauses.\n", "\n", "But we need to be thorough." ] }, { "cell_type": "code", "execution_count": 42, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "False" ] }, "execution_count": 42, "metadata": {}, "output_type": "execute_result" } ], "source": [ "clauses == shebanqClauses" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "See? They are not the same clauses.\n", "\n", "Let's spot the differences." ] }, { "cell_type": "code", "execution_count": 43, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Results of TF but not MQL: [482510, 485154, 507046]\n", "Results of MQL but not TF : [427990, 452091, 511757]\n" ] } ], "source": [ "tfNotMql = clauses - shebanqClauses\n", "mqlNotTf = shebanqClauses - clauses\n", "print(f\"Results of TF but not MQL: {sorted(tfNotMql)}\")\n", "print(f\"Results of MQL but not TF : {sorted(mqlNotTf)}\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## TF yes - MQL no\n", "\n", "First we do the results that TF provides, but not MQL." ] }, { "cell_type": "code", "execution_count": 44, "metadata": {}, "outputs": [], "source": [ "A.displaySetup(extraFeatures=\"ls\")" ] }, { "cell_type": "code", "execution_count": 45, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[(482510, 813849, 1076419, 275732, 813850, 275736),\n", " (482510, 813849, 1076419, 275733, 813850, 275736),\n", " (485154, 821404, 1084317, 288698, 821405, 288703),\n", " (485154, 821404, 1084317, 288701, 821405, 288703),\n", " (507046, 879338, 1143889, 375038, 879339, 375041),\n", " (507046, 879338, 1143889, 375039, 879339, 375041)]" ] }, "execution_count": 45, "metadata": {}, "output_type": "execute_result" } ], "source": [ "newResults = [r for r in results if r[0] in tfNotMql]\n", "newResults" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We are going to inspect them clause by clause.\n", "Note that we have two results per clause, the only difference between the two results is\n", "in column 4, which corresponds to the word in the Subj phrase." ] }, { "cell_type": "code", "execution_count": 46, "metadata": { "lines_to_next_cell": 2 }, "outputs": [ { "data": { "text/html": [ "

clause 1

" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
clause:482510
phrase:813849
function=Subj
ls=cardpdp=subs
ls=nmdipdp=subs
phrase:813850
function=PreC
pdp=subs
275735 אֵם־
pdp=subs
ls=cardpdp=subs
phrase:813851
function=Pred
ls=vbcppdp=verb
" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "

clause 2

" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
clause:485154
phrase:821404
function=Subj
288697 הָ
pdp=art
pdp=subs
288699 וְ
pdp=conj
288700 הַ
pdp=art
pdp=subs
phrase:821405
function=PreC
pdp=subs
ls=cardpdp=subs
phrase:821406
function=Pred
ls=vbcppdp=verb
" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "

clause 3

" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
clause:507046
phrase:879338
function=Subj
pdp=subs
ls=ordnpdp=adjv
phrase:879339
function=PreC
pdp=subs
ls=ordnpdp=adjv
phrase:879340
function=Pred
ls=vbcppdp=verb
phrase:879341
function=Loca
375043 בְ
pdp=prep
pdp=subs
" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "A.show(newResults, condensed=True, withNodes=True, condenseType=\"clause\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In all three cases we see a Pred phrase somewhere after the `PreC` phrase.\n", "\n", "The `NOTEXIST` of MQL works a bit subtle: the not-exists claim holds from the place where it appears till the end\n", "of the surrounding context.\n", "\n", "So, in fact, the second `NOTEXIST` is redundant. Following the MQL query, the clause cannot have a Pred phrase beyond\n", "the Subj phrase." ] }, { "cell_type": "markdown", "metadata": { "lines_to_next_cell": 2 }, "source": [ "## TF no - MQL yes\n", "\n", "Before we remedy our TF query to match this effect, let us inspect the clauses delivered by MQL, but not by TF.\n", "\n", "Most of the effort in the code below is to furnish appropriate highlighting." ] }, { "cell_type": "code", "execution_count": 47, "metadata": {}, "outputs": [], "source": [ "def showClause(clause):\n", " highlights = {}\n", " for phrase in L.d(clause, otype=\"phrase\"):\n", " pf = F.function.v(phrase)\n", " if pf == \"Subj\":\n", " highlights[phrase] = \"cyan\"\n", " for phraseAtom in L.d(phrase, otype=\"phrase_atom\"):\n", " rela = F.rela.v(phraseAtom)\n", " if rela in {\"Appo\", \"Para\", \"Spec\"}:\n", " continue\n", " words = L.d(phraseAtom, otype=\"word\")\n", " for word in words:\n", " pdp = F.pdp.v(word)\n", " if pdp in {\"subs\", \"nmpr\", \"prps\", \"prde\", \"prin\", \"adjv\"}:\n", " highlights[word] = \"yellow\"\n", " elif pf == \"PreC\":\n", " highlights[phrase] = \"lightskyblue\"\n", " words = L.d(phrase, otype=\"word\")\n", " if any(F.pdp.v(word) == \"prep\" for word in words):\n", " continue\n", " for word in words:\n", " pdp = F.pdp.v(word)\n", " ls = F.ls.v(word)\n", "\n", " if ls in {\"card\", \"ord\"} and pdp in {\"subs\", \"nmpr\", \"prin\", \"adjv\"}:\n", " highlights[word] = \"yellow\"\n", " elif pf == \"Pred\":\n", " highlights[phrase] = \"coral\"\n", " A.pretty(clause, withNodes=True, highlights=highlights)" ] }, { "cell_type": "code", "execution_count": 48, "metadata": {}, "outputs": [], "source": [ "mqlClauses = sorted(mqlNotTf)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We inspect the cases one by one:" ] }, { "cell_type": "code", "execution_count": 49, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
clause:427990
phrase:652820
function=Conj
2183 וַ
pdp=conj
phrase:652821
function=Pred
ls=vbcppdp=verb
phrase:652822
function=Subj
ls=nmdipdp=subs
ls=padvpdp=subs
pdp=nmpr
clause:427990
phrase:652825
function=PreC
ls=cardpdp=subs
ls=cardpdp=subs
pdp=subs
2193 וּ
pdp=conj
ls=cardpdp=subs
pdp=subs
" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "showClause(mqlClauses[0])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "What could be wrong here? The only violation could be in the *gap*. What happens before the `PreC` phrase?\n", "If there is an adjacent Pred phrase, it explains why this does not show up in the TF query results.\n", "Let's find out." ] }, { "cell_type": "code", "execution_count": 50, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
phrase:652824
function=Pred
pdp=verb
" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "xPhrase = L.u(2189, otype=\"phrase\")[0]\n", "A.pretty(\n", " xPhrase,\n", " withNodes=True,\n", " highlights={xPhrase: \"coral\" if F.function.v(xPhrase) == \"Pred\" else \"lightyellow\"},\n", ")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Clearly, this is the culprit.\n", "it is in the same clause." ] }, { "cell_type": "code", "execution_count": 51, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
clause:452091
phrase:725977
function=Conj
132671 וַ
pdp=conj
phrase:725978
function=Pred
ls=vbcppdp=verb
phrase:725979
function=Subj
pdp=subs
pdp=subs
132675 הַ
pdp=art
pdp=subs
clause:452091
phrase:725982
function=PreC
ls=cardpdp=subs
132680 וּ
pdp=conj
ls=cardpdp=subs
ls=cardpdp=subs
pdp=subs
phrase:725983
function=Adju
132684 לְ֠
pdp=prep
132685 בַד
pdp=subs
132686 מִן־
pdp=prep
132687 הַ
pdp=art
132689 וְ
pdp=conj
132690 הַ
pdp=art
pdp=subs
132692 וּ
pdp=conj
pdp=subs
132694 הָ
pdp=art
clause:452091
phrase:725983
function=Adju
132700 וּ
pdp=conj
132701 לְ
pdp=prep
132702 בַד֙
pdp=subs
132703 מִן־
pdp=prep
132704 הָ֣
pdp=art
pdp=subs
" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "showClause(mqlClauses[1])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Again, a gap just before the `Prec` phrase. Indeed:" ] }, { "cell_type": "code", "execution_count": 52, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
phrase:725981
function=Pred
pdp=verb
" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "xPhrase = L.u(132678, otype=\"phrase\")[0]\n", "A.pretty(\n", " xPhrase,\n", " withNodes=True,\n", " highlights={xPhrase: \"coral\" if F.function.v(xPhrase) == \"Pred\" else \"lightyellow\"},\n", ")" ] }, { "cell_type": "code", "execution_count": 53, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
clause:511757
phrase:892996
function=Subj
402997 מֵ
pdp=prep
pdp=prde
clause:511757
phrase:892999
function=PreC
ls=cardpdp=subs
403006 וְ
pdp=conj
ls=cardpdp=subs
ls=cardpdp=subs
" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "showClause(mqlClauses[2])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We are getting used to it!" ] }, { "cell_type": "code", "execution_count": 54, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
phrase:892998
function=Cmpl
403001 עַל־
pdp=prep
pdp=subs
pdp=subs
pdp=nmpr
" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "xPhrase = L.u(403004, otype=\"phrase\")[0]\n", "A.pretty(\n", " xPhrase,\n", " withNodes=True,\n", " highlights={xPhrase: \"coral\" if F.function.v(xPhrase) == \"Pred\" else \"lightyellow\"},\n", ")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "But no, here we have a different cause. Probably a Pred phrase right after the Subj phrase." ] }, { "cell_type": "code", "execution_count": 55, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
phrase:892997
function=Pred
402999 לְ
pdp=prep
pdp=verb
" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "xPhrase = L.u(402999, otype=\"phrase\")[0]\n", "A.pretty(\n", " xPhrase,\n", " withNodes=True,\n", " highlights={xPhrase: \"coral\" if F.function.v(xPhrase) == \"Pred\" else \"lightyellow\"},\n", ")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Remedy\n", "\n", "We have seen all the causes why the TF search and the MQL query produced different results.\n", "\n", "Now we are going to remedy the TF query, such that it produces the same results as the MQL.\n", "\n", "Let us start with what we just saw: when we stipulate the non-existence of a Pred phrase, we only claim that such\n", "a phrase does not occur in the same clause.\n", "\n", "Then we remove the second non-existence claim of a Pred phrase, since the MQL query just stipulates that there is\n", "no Pred phrase after the Subj phrase.\n", "\n", "But then we can make the quantifier much simpler. Instead of applying it to the Subj phrase,\n", "we apply it to the enclosing clause. That will solve the problem of phrases outside the clause in one go!" ] }, { "cell_type": "code", "execution_count": 56, "metadata": { "ExecuteTime": { "end_time": "2018-05-07T08:04:37.996573Z", "start_time": "2018-05-07T08:04:34.541956Z" } }, "outputs": [], "source": [ "query = \"\"\"\n", "c:clause\n", "/without/\n", " phrase function=Subj\n", " << phrase function=Pred\n", "/-/\n", " p:phrase function=Subj\n", " phrase_atom rela#Appo|Para|Spec\n", " word pdp=subs|nmpr|prps|prde|prin|adjv\n", " << phrase function=PreC\n", " /without/\n", " word pdp=prep\n", " /-/\n", " word pdp=subs|nmpr|prin|adjv ls=card|ordn\n", "\"\"\"" ] }, { "cell_type": "code", "execution_count": 57, "metadata": { "ExecuteTime": { "end_time": "2018-05-07T08:04:37.996573Z", "start_time": "2018-05-07T08:04:34.541956Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " 1.43s 2303 results\n", "519 clauses in results\n" ] }, { "data": { "text/plain": [ "True" ] }, "execution_count": 57, "metadata": {}, "output_type": "execute_result" } ], "source": [ "results = A.search(query)\n", "clauses = project(results, 1)\n", "print(f\"{len(clauses)} clauses in results\")\n", "\n", "clauses == shebanqClauses" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "And this is in exact agreement with the MQL query." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "As a bonus, let's study this query in order to see what the quantifiers are doing." ] }, { "cell_type": "code", "execution_count": 58, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " 0.00s Checking search template ...\n", " 0.00s Setting up search space for 6 objects ...\n", " | 0.00s \"Quantifier on \"c:clause\"\n", " | | /without/\n", " | | c:clause\n", " | | phrase function=Subj\n", " | | << phrase function=Pred\n", " | | /-/\n", " | | 0.70s 4985 nodes to exclude\n", " | 0.71s reduction from 88101 to 83116 nodes\n", " | 0.00s \"Quantifier on \"parent:phrase function=PreC\"\n", " | | /without/\n", " | | parent:phrase function=PreC\n", " | | word pdp=prep\n", " | | /-/\n", " | | 0.79s 6370 nodes to exclude\n", " | 0.81s reduction from 19383 to 13013 nodes\n", " 1.22s Constraining search space with 6 relations ...\n", " 1.64s \t5 edges thinned\n", " 1.65s Setting up retrieval plan with strategy small_choice_multi ...\n", " 1.65s Ready to deliver results from 5321 nodes\n", "Iterate over S.fetch() to get the results\n", "See S.showPlan() to interpret the results\n" ] } ], "source": [ "S.study(query)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# By Dirk Roorda\n", "## MQL\n", "\n", "[Dirk Roorda: Yesh](https://shebanq.ancient-data.org/hebrew/query?version=4b&id=556)\n", "\n", "```\n", "select all objects where\n", "[book [chapter [verse\n", "[clause\n", " [clause_atom\n", " [phrase\n", " [phrase_atom\n", " [word focus lex=\"JC/\" OR lex=\">JN/\"]\n", " ]\n", " ]\n", " ]\n", "]\n", "]]]\n", "```\n", "\n", "926 results" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## TF" ] }, { "cell_type": "code", "execution_count": 59, "metadata": { "ExecuteTime": { "end_time": "2018-05-07T08:04:40.156335Z", "start_time": "2018-05-07T08:04:39.036021Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " 0.53s 926 results\n" ] }, { "data": { "text/html": [ "\n", "\n", "\n", "\n", "\n", "\n", "\n", "
npverseclauseclause_atomphrasephrase_atomword
1Genesis 2:5וְאָדָ֣ם אַ֔יִן וְאָדָ֣ם אַ֔יִן אַ֔יִן אַ֔יִן אַ֔יִן
2Genesis 5:24וְאֵינֶ֕נּוּ וְאֵינֶ֕נּוּ אֵינֶ֕נּוּ אֵינֶ֕נּוּ אֵינֶ֕נּוּ
3Genesis 7:8אֲשֶׁ֥ר אֵינֶ֖נָּה טְהֹרָ֑ה אֲשֶׁ֥ר אֵינֶ֖נָּה טְהֹרָ֑ה אֵינֶ֖נָּה אֵינֶ֖נָּה אֵינֶ֖נָּה
4Genesis 11:30אֵ֥ין לָ֖הּ וָלָֽד׃ אֵ֥ין לָ֖הּ וָלָֽד׃ אֵ֥ין אֵ֥ין אֵ֥ין
5Genesis 18:24אוּלַ֥י יֵ֛שׁ חֲמִשִּׁ֥ים צַדִּיקִ֖ם בְּתֹ֣וךְ הָעִ֑יר אוּלַ֥י יֵ֛שׁ חֲמִשִּׁ֥ים צַדִּיקִ֖ם בְּתֹ֣וךְ הָעִ֑יר יֵ֛שׁ יֵ֛שׁ יֵ֛שׁ
6Genesis 19:31וְאִ֨ישׁ אֵ֤ין בָּאָ֨רֶץ֙ וְאִ֨ישׁ אֵ֤ין בָּאָ֨רֶץ֙ אֵ֤ין אֵ֤ין אֵ֤ין
7Genesis 20:7וְאִם־אֵֽינְךָ֣ מֵשִׁ֗יב וְאִם־אֵֽינְךָ֣ מֵשִׁ֗יב אֵֽינְךָ֣ אֵֽינְךָ֣ אֵֽינְךָ֣
" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "query = \"\"\"\n", "verse\n", " clause\n", " clause_atom\n", " phrase\n", " phrase_atom\n", " word lex=JC/|>JN/\n", "\"\"\"\n", "\n", "results = A.search(query)\n", "A.table(sorted(results), end=7)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# All steps\n", "\n", "* **[start](start.ipynb)** your first step in mastering the bible computationally\n", "* **[display](display.ipynb)** become an expert in creating pretty displays of your text structures\n", "* **[search](search.ipynb)** turbo charge your hand-coding with search templates\n", "\n", "---\n", "\n", "[advanced](searchAdvanced.ipynb)\n", "[sets](searchSets.ipynb)\n", "[relations](searchRelations.ipynb)\n", "[quantifiers](searchQuantifiers.ipynb)\n", "from MQL\n", "\n", "You master the theory.\n", "\n", "In practice, there are pitfalls:\n", "\n", "[rough](searchRough.ipynb)\n", "[gaps](searchGaps.ipynb)\n", "\n", "---\n", "\n", "* **[export Excel](exportExcel.ipynb)** make tailor-made spreadsheets out of your results\n", "* **[share](share.ipynb)** draw in other people's data and let them use yours\n", "* **[export](export.ipynb)** export your dataset as an Emdros database\n", "* **[annotate](annotate.ipynb)** annotate plain text by means of other tools and import the annotations as TF features\n", "* **[map](map.ipynb)** map somebody else's annotations to a new version of the corpus\n", "* **[volumes](volumes.ipynb)** work with selected books only\n", "* **[trees](trees.ipynb)** work with the BHSA data as syntax trees\n", "\n", "CC-BY Dirk Roorda" ] } ], "metadata": { "jupytext": { "encoding": "# -*- coding: utf-8 -*-" }, "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.11.1" }, "toc": { "base_numbering": 1, "nav_menu": {}, "number_sections": true, "sideBar": true, "skip_h1_title": true, "title_cell": "Table of Contents", "title_sidebar": "Contents", "toc_cell": true, "toc_position": {}, "toc_section_display": "block", "toc_window_display": false }, "widgets": { "application/vnd.jupyter.widget-state+json": { "state": {}, "version_major": 2, "version_minor": 0 } } }, "nbformat": 4, "nbformat_minor": 4 }