{ "cells": [ { "cell_type": "markdown", "id": "f2637008-fceb-47b8-86ac-42633829b391", "metadata": {}, "source": [ "# The use of προσκυνέω (Nestle1904LFT)\n", "\n", "**Work in progress!**" ] }, { "cell_type": "markdown", "id": "c7a43f6f-08b8-40da-a1f5-f9cb323c964f", "metadata": {}, "source": [ "## Table of content \n", "* 1 - Introduction\n", " * 1.1 - Why is this relevant?\n", " * 1.2 - Translating into Text-Fabric queries\n", "* 2 - Load Text-Fabric app and data\n", "* 3 - Performing the queries\n", " * 3.1 - Determine the renderings of προσκυνέω\n", " * 3.2 - Alternative way of coding\n", " * 3.3 - Using a search template\n", " * 3.4 - What is being 'προσκυνέω-ed'?\n", " * 3.5 - Pie chart showing the renderings\n", "* 4 - Discussion\n", "* 5 - Atribution and footnotes\n", "* 6 - Required libraries" ] }, { "cell_type": "markdown", "id": "f1c6fbd9-2cca-41aa-b6f1-0ef852857dff", "metadata": {}, "source": [ "# 1 - Introduction \n", "##### [Back to TOC](#TOC)\n", "\n", "In this Jupyter NoteBook we will examine the use of lemma προσκυνέω in the Greek New Testament.\n", "\n" ] }, { "cell_type": "markdown", "id": "2c3a7409-b539-434a-a0de-3bf313898db9", "metadata": {}, "source": [ "## 1.1 - Why is this relevant? \n", "##### [Back to TOC](#TOC)\n", "\n", "There is an ongoing debate whether προσκυνέω must mean \"worship\" in a divine sense, especialy when it refers to Jesus or God. The word can refer to homage or respect given to people in authority ([see also entry in Liddel-Scott-Jones Greek-English Lexion](https://stephanus.tlg.uci.edu/lsj/#eid=92238)). So verses that refer to Jesus receiving προσκυνέω may not always prove worship of him as God. The meaning depends on context." ] }, { "cell_type": "markdown", "id": "c84c9005-9cb8-4766-bac4-478d459ed642", "metadata": {}, "source": [ "## 1.2 - Translating into Text-Fabric queries \n", "##### [Back to TOC](#TOC)\n", "\n", "The following examples gather data related to the use of προσκυνέω using various methods and present the results in different ways." ] }, { "cell_type": "markdown", "id": "b671c880-a546-4849-9384-487ed4a4531a", "metadata": {}, "source": [ "# 2 - Load Text-Fabric app and data \n", "##### [Back to TOC](#TOC)" ] }, { "cell_type": "code", "execution_count": 1, "id": "e72dbefe-43c5-4a03-a8f6-7b885f4e57ea", "metadata": { "tags": [] }, "outputs": [], "source": [ "%load_ext autoreload\n", "%autoreload 2" ] }, { "cell_type": "code", "execution_count": 1, "id": "0825dd50-e607-485f-85f0-83e85ad289f0", "metadata": {}, "outputs": [], "source": [ "# Loading the Text-Fabric code\n", "# Note: it is assumed Text-Fabric is installed in your environment\n", "from tf.fabric import Fabric\n", "from tf.app import use" ] }, { "cell_type": "code", "execution_count": 3, "id": "72661b2a-d195-44cb-a524-1d542784b8d0", "metadata": { "scrolled": true, "tags": [] }, "outputs": [ { "data": { "text/markdown": [ "**Locating corpus resources ...**" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "The requested app is not available offline\n", "\t~/text-fabric-data/github/tonyjurg/Nestle1904LFT/app not found\n" ] }, { "data": { "text/html": [ "Status: latest release online v0.6 versus None locally" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "downloading app, main data and requested additions ..." ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "app: ~/text-fabric-data/github/tonyjurg/Nestle1904LFT/app" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "The requested data is not available offline\n", "\t~/text-fabric-data/github/tonyjurg/Nestle1904LFT/tf/0.6 not found\n" ] }, { "data": { "text/html": [ "Status: latest release online v0.6 versus None locally" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "downloading app, main data and requested additions ..." ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "data: ~/text-fabric-data/github/tonyjurg/Nestle1904LFT/tf/0.6" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ " | 0.19s T otype from ~/text-fabric-data/github/tonyjurg/Nestle1904LFT/tf/0.6\n", " | 2.41s T oslots from ~/text-fabric-data/github/tonyjurg/Nestle1904LFT/tf/0.6\n", " | 0.58s T wordtranslit from ~/text-fabric-data/github/tonyjurg/Nestle1904LFT/tf/0.6\n", " | 0.48s T chapter from ~/text-fabric-data/github/tonyjurg/Nestle1904LFT/tf/0.6\n", " | 0.60s T normalized from ~/text-fabric-data/github/tonyjurg/Nestle1904LFT/tf/0.6\n", " | 0.49s T after from ~/text-fabric-data/github/tonyjurg/Nestle1904LFT/tf/0.6\n", " | 0.59s T word from ~/text-fabric-data/github/tonyjurg/Nestle1904LFT/tf/0.6\n", " | 0.47s T verse from ~/text-fabric-data/github/tonyjurg/Nestle1904LFT/tf/0.6\n", " | 0.60s T book from ~/text-fabric-data/github/tonyjurg/Nestle1904LFT/tf/0.6\n", " | 0.59s T wordunacc from ~/text-fabric-data/github/tonyjurg/Nestle1904LFT/tf/0.6\n", " | 0.62s T unicode from ~/text-fabric-data/github/tonyjurg/Nestle1904LFT/tf/0.6\n", " | | 0.06s C __levels__ from otype, oslots, otext\n", " | | 1.84s C __order__ from otype, oslots, __levels__\n", " | | 0.07s C __rank__ from otype, __order__\n", " | | 3.33s C __levUp__ from otype, oslots, __rank__\n", " | | 1.89s C __levDown__ from otype, __levUp__, __rank__\n", " | | 0.22s C __characters__ from otext\n", " | | 0.94s C __boundary__ from otype, oslots, __rank__\n", " | | 0.04s C __sections__ from otype, oslots, otext, __levUp__, __levels__, book, chapter, verse\n", " | | 0.24s C __structure__ from otype, oslots, otext, __rank__, __levUp__, book, chapter, verse\n", " | 0.44s T booknumber from ~/text-fabric-data/github/tonyjurg/Nestle1904LFT/tf/0.6\n", " | 0.51s T bookshort from ~/text-fabric-data/github/tonyjurg/Nestle1904LFT/tf/0.6\n", " | 0.49s T case from ~/text-fabric-data/github/tonyjurg/Nestle1904LFT/tf/0.6\n", " | 0.33s T clausetype from ~/text-fabric-data/github/tonyjurg/Nestle1904LFT/tf/0.6\n", " | 0.56s T containedclause from ~/text-fabric-data/github/tonyjurg/Nestle1904LFT/tf/0.6\n", " | 0.41s T degree from ~/text-fabric-data/github/tonyjurg/Nestle1904LFT/tf/0.6\n", " | 0.58s T gloss from ~/text-fabric-data/github/tonyjurg/Nestle1904LFT/tf/0.6\n", " | 0.47s T gn from ~/text-fabric-data/github/tonyjurg/Nestle1904LFT/tf/0.6\n", " | 0.04s T headverse from ~/text-fabric-data/github/tonyjurg/Nestle1904LFT/tf/0.6\n", " | 0.33s T junction from ~/text-fabric-data/github/tonyjurg/Nestle1904LFT/tf/0.6\n", " | 0.56s T lemma from ~/text-fabric-data/github/tonyjurg/Nestle1904LFT/tf/0.6\n", " | 0.51s T lex_dom from ~/text-fabric-data/github/tonyjurg/Nestle1904LFT/tf/0.6\n", " | 0.54s T ln from ~/text-fabric-data/github/tonyjurg/Nestle1904LFT/tf/0.6\n", " | 0.41s T markafter from ~/text-fabric-data/github/tonyjurg/Nestle1904LFT/tf/0.6\n", " | 0.41s T markbefore from ~/text-fabric-data/github/tonyjurg/Nestle1904LFT/tf/0.6\n", " | 0.41s T markorder from ~/text-fabric-data/github/tonyjurg/Nestle1904LFT/tf/0.6\n", " | 0.45s T monad from ~/text-fabric-data/github/tonyjurg/Nestle1904LFT/tf/0.6\n", " | 0.46s T mood from ~/text-fabric-data/github/tonyjurg/Nestle1904LFT/tf/0.6\n", " | 0.52s T morph from ~/text-fabric-data/github/tonyjurg/Nestle1904LFT/tf/0.6\n", " | 0.55s T nodeID from ~/text-fabric-data/github/tonyjurg/Nestle1904LFT/tf/0.6\n", " | 0.48s T nu from ~/text-fabric-data/github/tonyjurg/Nestle1904LFT/tf/0.6\n", " | 0.49s T number from ~/text-fabric-data/github/tonyjurg/Nestle1904LFT/tf/0.6\n", " | 0.43s T person from ~/text-fabric-data/github/tonyjurg/Nestle1904LFT/tf/0.6\n", " | 0.44s T punctuation from ~/text-fabric-data/github/tonyjurg/Nestle1904LFT/tf/0.6\n", " | 0.69s T ref from ~/text-fabric-data/github/tonyjurg/Nestle1904LFT/tf/0.6\n", " | 0.66s T reference from ~/text-fabric-data/github/tonyjurg/Nestle1904LFT/tf/0.6\n", " | 0.50s T roleclausedistance from ~/text-fabric-data/github/tonyjurg/Nestle1904LFT/tf/0.6\n", " | 0.48s T sentence from ~/text-fabric-data/github/tonyjurg/Nestle1904LFT/tf/0.6\n", " | 0.52s T sp from ~/text-fabric-data/github/tonyjurg/Nestle1904LFT/tf/0.6\n", " | 0.50s T sp_full from ~/text-fabric-data/github/tonyjurg/Nestle1904LFT/tf/0.6\n", " | 0.52s T strongs from ~/text-fabric-data/github/tonyjurg/Nestle1904LFT/tf/0.6\n", " | 0.44s T subj_ref from ~/text-fabric-data/github/tonyjurg/Nestle1904LFT/tf/0.6\n", " | 0.44s T tense from ~/text-fabric-data/github/tonyjurg/Nestle1904LFT/tf/0.6\n", " | 0.47s T type from ~/text-fabric-data/github/tonyjurg/Nestle1904LFT/tf/0.6\n", " | 0.46s T voice from ~/text-fabric-data/github/tonyjurg/Nestle1904LFT/tf/0.6\n", " | 0.40s T wgclass from ~/text-fabric-data/github/tonyjurg/Nestle1904LFT/tf/0.6\n", " | 0.34s T wglevel from ~/text-fabric-data/github/tonyjurg/Nestle1904LFT/tf/0.6\n", " | 0.37s T wgnum from ~/text-fabric-data/github/tonyjurg/Nestle1904LFT/tf/0.6\n", " | 0.35s T wgrole from ~/text-fabric-data/github/tonyjurg/Nestle1904LFT/tf/0.6\n", " | 0.35s T wgrolelong from ~/text-fabric-data/github/tonyjurg/Nestle1904LFT/tf/0.6\n", " | 0.39s T wgrule from ~/text-fabric-data/github/tonyjurg/Nestle1904LFT/tf/0.6\n", " | 0.34s T wgtype from ~/text-fabric-data/github/tonyjurg/Nestle1904LFT/tf/0.6\n", " | 0.50s T wordlevel from ~/text-fabric-data/github/tonyjurg/Nestle1904LFT/tf/0.6\n", " | 0.49s T wordrole from ~/text-fabric-data/github/tonyjurg/Nestle1904LFT/tf/0.6\n", " | 0.52s T wordrolelong from ~/text-fabric-data/github/tonyjurg/Nestle1904LFT/tf/0.6\n" ] }, { "data": { "text/html": [ "\n", " TF: TF API 12.1.5, tonyjurg/Nestle1904LFT/app v3, Search Reference
\n", " Data: tonyjurg - Nestle1904LFT 0.6, Character table, Feature docs
\n", "
Node types\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", " \n", "\n", "
Name# of nodes# slots / node% coverage
book275102.93100
chapter260529.92100
verse794317.35100
sentence801117.20100
wg1054306.85524
word1377791.00100
\n", " Sets: no custom sets
\n", " Features:
\n", "
Nestle 1904 (Low Fat Tree)\n", "
\n", "\n", "
\n", "
\n", "after\n", "
\n", "
str
\n", "\n", " ✅ Characters (eg. punctuations) following the word\n", "\n", "
\n", "\n", "
\n", "
\n", "book\n", "
\n", "
str
\n", "\n", " ✅ Book name (in English language)\n", "\n", "
\n", "\n", "
\n", "
\n", "booknumber\n", "
\n", "
int
\n", "\n", " ✅ NT book number (Matthew=1, Mark=2, ..., Revelation=27)\n", "\n", "
\n", "\n", "
\n", "
\n", "bookshort\n", "
\n", "
str
\n", "\n", " ✅ Book name (abbreviated)\n", "\n", "
\n", "\n", "
\n", "
\n", "case\n", "
\n", "
str
\n", "\n", " ✅ Gramatical case (Nominative, Genitive, Dative, Accusative, Vocative)\n", "\n", "
\n", "\n", "
\n", "
\n", "chapter\n", "
\n", "
int
\n", "\n", " ✅ Chapter number inside book\n", "\n", "
\n", "\n", "
\n", "
\n", "clausetype\n", "
\n", "
str
\n", "\n", " ✅ Clause type details (e.g. Verbless, Minor)\n", "\n", "
\n", "\n", "
\n", "
\n", "containedclause\n", "
\n", "
str
\n", "\n", " 🆗 Contained clause (WG number)\n", "\n", "
\n", "\n", "
\n", "
\n", "degree\n", "
\n", "
str
\n", "\n", " ✅ Degree (e.g. Comparitative, Superlative)\n", "\n", "
\n", "\n", "
\n", "
\n", "gloss\n", "
\n", "
str
\n", "\n", " ✅ English gloss\n", "\n", "
\n", "\n", "
\n", "
\n", "gn\n", "
\n", "
str
\n", "\n", " ✅ Gramatical gender (Masculine, Feminine, Neuter)\n", "\n", "
\n", "\n", "
\n", "
\n", "headverse\n", "
\n", "
str
\n", "\n", " ✅ Start verse number of a sentence\n", "\n", "
\n", "\n", "
\n", "
\n", "junction\n", "
\n", "
str
\n", "\n", " ✅ Junction data related to a wordgroup\n", "\n", "
\n", "\n", "
\n", "
\n", "lemma\n", "
\n", "
str
\n", "\n", " ✅ Lexeme (lemma)\n", "\n", "
\n", "\n", "
\n", "
\n", "lex_dom\n", "
\n", "
str
\n", "\n", " ✅ Lexical domain according to Semantic Dictionary of Biblical Greek, SDBG (not present everywhere?)\n", "\n", "
\n", "\n", "
\n", "
\n", "ln\n", "
\n", "
str
\n", "\n", " ✅ Lauw-Nida lexical classification (not present everywhere?)\n", "\n", "
\n", "\n", "
\n", "
\n", "markafter\n", "
\n", "
str
\n", "\n", " 🆗 Text critical marker after word\n", "\n", "
\n", "\n", "
\n", "
\n", "markbefore\n", "
\n", "
str
\n", "\n", " 🆗 Text critical marker before word\n", "\n", "
\n", "\n", "
\n", "
\n", "markorder\n", "
\n", "
str
\n", "\n", "  Order of punctuation and text critical marker\n", "\n", "
\n", "\n", "
\n", "
\n", "monad\n", "
\n", "
int
\n", "\n", " ✅ Monad (smallest token matching word order in the corpus)\n", "\n", "
\n", "\n", "
\n", "
\n", "mood\n", "
\n", "
str
\n", "\n", " ✅ Gramatical mood of the verb (passive, etc)\n", "\n", "
\n", "\n", "
\n", "
\n", "morph\n", "
\n", "
str
\n", "\n", " ✅ Morphological tag (Sandborg-Petersen morphology)\n", "\n", "
\n", "\n", "
\n", "
\n", "nodeID\n", "
\n", "
str
\n", "\n", " ✅ Node ID (as in the XML source data)\n", "\n", "
\n", "\n", "
\n", "
\n", "normalized\n", "
\n", "
str
\n", "\n", " ✅ Surface word with accents normalized and trailing punctuations removed\n", "\n", "
\n", "\n", "
\n", "
\n", "nu\n", "
\n", "
str
\n", "\n", " ✅ Gramatical number (Singular, Plural)\n", "\n", "
\n", "\n", "
\n", "
\n", "number\n", "
\n", "
str
\n", "\n", " ✅ Gramatical number of the verb (e.g. singular, plural)\n", "\n", "
\n", "\n", "
\n", "
\n", "otype\n", "
\n", "
str
\n", "\n", " \n", "\n", "
\n", "\n", "
\n", "
\n", "person\n", "
\n", "
str
\n", "\n", " ✅ Gramatical person of the verb (first, second, third)\n", "\n", "
\n", "\n", "
\n", "
\n", "punctuation\n", "
\n", "
str
\n", "\n", " ✅ Punctuation after word\n", "\n", "
\n", "\n", "
\n", "
\n", "ref\n", "
\n", "
str
\n", "\n", " ✅ Value of the ref ID (taken from XML sourcedata)\n", "\n", "
\n", "\n", "
\n", "
\n", "reference\n", "
\n", "
str
\n", "\n", " ✅ Reference (to nodeID in XML source data, not yet post-processes)\n", "\n", "
\n", "\n", "
\n", "
\n", "roleclausedistance\n", "
\n", "
str
\n", "\n", " ⚠️ Distance to the wordgroup defining the syntactical role of this word\n", "\n", "
\n", "\n", "
\n", "
\n", "sentence\n", "
\n", "
int
\n", "\n", " ✅ Sentence number (counted per chapter)\n", "\n", "
\n", "\n", "
\n", "
\n", "sp\n", "
\n", "
str
\n", "\n", " ✅ Part of Speech (abbreviated)\n", "\n", "
\n", "\n", "
\n", "
\n", "sp_full\n", "
\n", "
str
\n", "\n", " ✅ Part of Speech (long description)\n", "\n", "
\n", "\n", "
\n", "
\n", "strongs\n", "
\n", "
str
\n", "\n", " ✅ Strongs number\n", "\n", "
\n", "\n", "
\n", "
\n", "subj_ref\n", "
\n", "
str
\n", "\n", " 🆗 Subject reference (to nodeID in XML source data, not yet post-processes)\n", "\n", "
\n", "\n", "
\n", "
\n", "tense\n", "
\n", "
str
\n", "\n", " ✅ Gramatical tense of the verb (e.g. Present, Aorist)\n", "\n", "
\n", "\n", "
\n", "
\n", "type\n", "
\n", "
str
\n", "\n", " ✅ Gramatical type of noun or pronoun (e.g. Common, Personal)\n", "\n", "
\n", "\n", "
\n", "
\n", "unicode\n", "
\n", "
str
\n", "\n", " ✅ Word as it apears in the text in Unicode (incl. punctuations)\n", "\n", "
\n", "\n", "
\n", "
\n", "verse\n", "
\n", "
int
\n", "\n", " ✅ Verse number inside chapter\n", "\n", "
\n", "\n", "
\n", "
\n", "voice\n", "
\n", "
str
\n", "\n", " ✅ Gramatical voice of the verb (e.g. active,passive)\n", "\n", "
\n", "\n", "
\n", "
\n", "wgclass\n", "
\n", "
str
\n", "\n", " ✅ Class of the wordgroup (e.g. cl, np, vp)\n", "\n", "
\n", "\n", "
\n", "
\n", "wglevel\n", "
\n", "
int
\n", "\n", " 🆗 Number of the parent wordgroups for a wordgroup\n", "\n", "
\n", "\n", "
\n", "
\n", "wgnum\n", "
\n", "
int
\n", "\n", " ✅ Wordgroup number (counted per book)\n", "\n", "
\n", "\n", "
\n", "
\n", "wgrole\n", "
\n", "
str
\n", "\n", " ✅ Syntactical role of the wordgroup (abbreviated)\n", "\n", "
\n", "\n", "
\n", "
\n", "wgrolelong\n", "
\n", "
str
\n", "\n", " ✅ Syntactical role of the wordgroup (full)\n", "\n", "
\n", "\n", "
\n", "
\n", "wgrule\n", "
\n", "
str
\n", "\n", " ✅ Wordgroup rule information (e.g. Np-Appos, ClCl2, PrepNp)\n", "\n", "
\n", "\n", "
\n", "
\n", "wgtype\n", "
\n", "
str
\n", "\n", " ✅ Wordgroup type details (e.g. group, apposition)\n", "\n", "
\n", "\n", "
\n", "
\n", "word\n", "
\n", "
str
\n", "\n", " ✅ Word as it appears in the text (excl. punctuations)\n", "\n", "
\n", "\n", "
\n", "
\n", "wordlevel\n", "
\n", "
str
\n", "\n", " 🆗 Number of the parent wordgroups for a word\n", "\n", "
\n", "\n", "
\n", "
\n", "wordrole\n", "
\n", "
str
\n", "\n", " ✅ Syntactical role of the word (abbreviated)\n", "\n", "
\n", "\n", "
\n", "
\n", "wordrolelong\n", "
\n", "
str
\n", "\n", " ✅ Syntactical role of the word (full)\n", "\n", "
\n", "\n", "
\n", "
\n", "wordtranslit\n", "
\n", "
str
\n", "\n", " 🆗 Transliteration of the text (in latin letters, excl. punctuations)\n", "\n", "
\n", "\n", "
\n", "
\n", "wordunacc\n", "
\n", "
str
\n", "\n", " ✅ Word without accents (excl. punctuations)\n", "\n", "
\n", "\n", "
\n", "
\n", "oslots\n", "
\n", "
none
\n", "\n", " \n", "\n", "
\n", "\n", "
\n", "
\n", "\n", " Settings:
specified
  1. apiVersion: 3
  2. appName: tonyjurg/Nestle1904LFT
  3. appPath:C:/Users/tonyj/text-fabric-data/github/tonyjurg/Nestle1904LFT/app
  4. commit: no value
  5. css: ''
  6. dataDisplay:
    • excludedFeatures:
      • orig_order
      • verse
      • book
      • chapter
    • noneValues:
      • none
      • unknown
      • no value
      • NA
      • ''
    • showVerseInTuple: 0
    • textFormat: text-orig-full
  7. docs:
    • docBase: https://github.com/tonyjurg/Nestle1904LFT/blob/main/docs/
    • docPage: about
    • docRoot: https://github.com/tonyjurg/Nestle1904LFT
    • featureBase:https://github.com/tonyjurg/Nestle1904LFT/blob/main/docs/features/<feature>.md
  8. interfaceDefaults: {fmt: layout-orig-full}
  9. isCompatible: True
  10. local: no value
  11. localDir:C:/Users/tonyj/text-fabric-data/github/tonyjurg/Nestle1904LFT/_temp
  12. provenanceSpec:
    • corpus: Nestle 1904 (Low Fat Tree)
    • doi: notyet
    • org: tonyjurg
    • relative: /tf
    • repo: Nestle1904LFT
    • repro: Nestle1904LFT
    • version: 0.6
    • webBase: https://learner.bible/text/show_text/nestle1904/
    • webHint: Show this on the Bible Online Learner website
    • webLang: en
    • webUrl:https://learner.bible/text/show_text/nestle1904/<1>/<2>/<3>
    • webUrlLex: {webBase}/word?version={version}&id=<lid>
  13. release: no value
  14. typeDisplay:
    • book:
      • condense: True
      • hidden: True
      • label: {book}
      • style: ''
    • chapter:
      • condense: True
      • hidden: True
      • label: {chapter}
      • style: ''
    • sentence:
      • hidden: 0
      • label: #{sentence} (start: {book} {chapter}:{headverse})
      • style: ''
    • verse:
      • condense: True
      • excludedFeatures: chapter verse
      • label: {book} {chapter}:{verse}
      • style: ''
    • wg:
      • hidden: 0
      • label:#{wgnum}: {wgtype} {wgclass} {clausetype} {wgrole} {wgrule} {junction}
      • style: ''
    • word:
      • base: True
      • features: lemma
      • featuresBare: gloss
      • surpress: chapter verse
  15. writing: grc
\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": [ "
TF API: names N F E L T S C TF Fs Fall Es Eall Cs Call directly usable

" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# load the N1904 app and data\n", "N1904 = use (\"tonyjurg/Nestle1904LFT\", version=\"0.6\", hoist=globals())" ] }, { "cell_type": "code", "execution_count": 4, "id": "e9fae738-e5a8-400b-831a-fe192bdce6f6", "metadata": {}, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# The following will push the Text-Fabric stylesheet to this notebook (to facilitate proper display with notebook viewer)\n", "N1904.dh(N1904.getCss())" ] }, { "cell_type": "code", "execution_count": 5, "id": "f996b1c8-9f1d-4fd1-9b33-28ef5db46f11", "metadata": { "tags": [] }, "outputs": [], "source": [ "# Set default view in a way to limit noise as much as possible.\n", "N1904.displaySetup(condensed=True, multiFeatures=False, queryFeatures=False)" ] }, { "cell_type": "markdown", "id": "217ec003-7e50-4fa6-982b-67b1dc880b52", "metadata": {}, "source": [ "# 3 - Performing the queries \n", "##### [Back to TOC](#TOC)" ] }, { "cell_type": "markdown", "id": "1b3dd917-8fb5-400b-91a6-6b09e2630bba", "metadata": { "tags": [] }, "source": [ "## 3.1 - Determine the renderings of προσκυνέω \n", "##### [Back to TOC](#TOC)\n", "\n", "This code will produce a list of occurrences of the lemma 'προσκυνέω' along with their accompanying gloss." ] }, { "cell_type": "code", "execution_count": 6, "id": "a75b04ab-d6a6-430a-add8-79c4999540bc", "metadata": { "tags": [] }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "╒═════════════════════╤═════════════════╤═════════════════════════╕\n", "│ location │ word │ gloss │\n", "╞═════════════════════╪═════════════════╪═════════════════════════╡\n", "│ Matthew 2:2 │ προσκυνῆσαι │ to worship │\n", "├─────────────────────┼─────────────────┼─────────────────────────┤\n", "│ Matthew 2:8 │ προσκυνήσω │ may worship │\n", "├─────────────────────┼─────────────────┼─────────────────────────┤\n", "│ Matthew 2:11 │ προσεκύνησαν │ they worshiped │\n", "├─────────────────────┼─────────────────┼─────────────────────────┤\n", "│ Matthew 4:9 │ προσκυνήσῃς │ You will worship │\n", "├─────────────────────┼─────────────────┼─────────────────────────┤\n", "│ Matthew 4:10 │ προσκυνήσεις │ you shall worship │\n", "├─────────────────────┼─────────────────┼─────────────────────────┤\n", "│ Matthew 8:2 │ προσεκύνει │ was worshipping │\n", "├─────────────────────┼─────────────────┼─────────────────────────┤\n", "│ Matthew 9:18 │ προσεκύνει │ was kneeling down │\n", "├─────────────────────┼─────────────────┼─────────────────────────┤\n", "│ Matthew 14:33 │ προσεκύνησαν │ worshiped │\n", "├─────────────────────┼─────────────────┼─────────────────────────┤\n", "│ Matthew 15:25 │ προσεκύνει │ she was worshiping │\n", "├─────────────────────┼─────────────────┼─────────────────────────┤\n", "│ Matthew 18:26 │ προσεκύνει │ was bowing on his knees │\n", "├─────────────────────┼─────────────────┼─────────────────────────┤\n", "│ Matthew 20:20 │ προσκυνοῦσα │ kneeling down │\n", "├─────────────────────┼─────────────────┼─────────────────────────┤\n", "│ Matthew 28:9 │ προσεκύνησαν │ worshiped │\n", "├─────────────────────┼─────────────────┼─────────────────────────┤\n", "│ Matthew 28:17 │ προσεκύνησαν │ they worshiped │\n", "├─────────────────────┼─────────────────┼─────────────────────────┤\n", "│ Mark 5:6 │ προσεκύνησεν │ fell on his knees │\n", "├─────────────────────┼─────────────────┼─────────────────────────┤\n", "│ Mark 15:19 │ προσεκύνουν │ they were kneeling down │\n", "├─────────────────────┼─────────────────┼─────────────────────────┤\n", "│ Luke 4:7 │ προσκυνήσῃς │ You will worship │\n", "├─────────────────────┼─────────────────┼─────────────────────────┤\n", "│ Luke 4:8 │ Προσκυνήσεις │ You shall worship │\n", "├─────────────────────┼─────────────────┼─────────────────────────┤\n", "│ Luke 24:52 │ προσκυνήσαντες │ having worshiped │\n", "├─────────────────────┼─────────────────┼─────────────────────────┤\n", "│ John 4:20 │ προσεκύνησαν │ worshiped │\n", "├─────────────────────┼─────────────────┼─────────────────────────┤\n", "│ John 4:20 │ προσκυνεῖν │ to worship │\n", "├─────────────────────┼─────────────────┼─────────────────────────┤\n", "│ John 4:21 │ προσκυνήσετε │ will you worship │\n", "├─────────────────────┼─────────────────┼─────────────────────────┤\n", "│ John 4:22 │ προσκυνεῖτε │ worship │\n", "├─────────────────────┼─────────────────┼─────────────────────────┤\n", "│ John 4:22 │ προσκυνοῦμεν │ worship │\n", "├─────────────────────┼─────────────────┼─────────────────────────┤\n", "│ John 4:23 │ προσκυνήσουσιν │ will worship │\n", "├─────────────────────┼─────────────────┼─────────────────────────┤\n", "│ John 4:23 │ προσκυνοῦντας │ worship │\n", "├─────────────────────┼─────────────────┼─────────────────────────┤\n", "│ John 4:24 │ προσκυνοῦντας │ worshiping │\n", "├─────────────────────┼─────────────────┼─────────────────────────┤\n", "│ John 4:24 │ προσκυνεῖν │ to worship │\n", "├─────────────────────┼─────────────────┼─────────────────────────┤\n", "│ John 9:38 │ προσεκύνησεν │ he worshiped │\n", "├─────────────────────┼─────────────────┼─────────────────────────┤\n", "│ John 12:20 │ προσκυνήσωσιν │ they might worship │\n", "├─────────────────────┼─────────────────┼─────────────────────────┤\n", "│ Acts 7:43 │ προσκυνεῖν │ to worship │\n", "├─────────────────────┼─────────────────┼─────────────────────────┤\n", "│ Acts 8:27 │ προσκυνήσων │ to worship │\n", "├─────────────────────┼─────────────────┼─────────────────────────┤\n", "│ Acts 10:25 │ προσεκύνησεν │ worshiped [him] │\n", "├─────────────────────┼─────────────────┼─────────────────────────┤\n", "│ Acts 24:11 │ προσκυνήσων │ to worship │\n", "├─────────────────────┼─────────────────┼─────────────────────────┤\n", "│ I_Corinthians 14:25 │ προσκυνήσει │ he will worship │\n", "├─────────────────────┼─────────────────┼─────────────────────────┤\n", "│ Hebrews 1:6 │ προσκυνησάτωσαν │ let worship │\n", "├─────────────────────┼─────────────────┼─────────────────────────┤\n", "│ Hebrews 11:21 │ προσεκύνησεν │ worshiped │\n", "├─────────────────────┼─────────────────┼─────────────────────────┤\n", "│ Revelation 3:9 │ προσκυνήσουσιν │ will worship │\n", "├─────────────────────┼─────────────────┼─────────────────────────┤\n", "│ Revelation 4:10 │ προσκυνήσουσιν │ they will worship │\n", "├─────────────────────┼─────────────────┼─────────────────────────┤\n", "│ Revelation 5:14 │ προσεκύνησαν │ worshiped │\n", "├─────────────────────┼─────────────────┼─────────────────────────┤\n", "│ Revelation 7:11 │ προσεκύνησαν │ worshiped │\n", "├─────────────────────┼─────────────────┼─────────────────────────┤\n", "│ Revelation 9:20 │ προσκυνήσουσιν │ │\n", "├─────────────────────┼─────────────────┼─────────────────────────┤\n", "│ Revelation 11:1 │ προσκυνοῦντας │ worshiping │\n", "├─────────────────────┼─────────────────┼─────────────────────────┤\n", "│ Revelation 11:16 │ προσεκύνησαν │ worshiped │\n", "├─────────────────────┼─────────────────┼─────────────────────────┤\n", "│ Revelation 13:4 │ προσεκύνησαν │ they worshiped │\n", "├─────────────────────┼─────────────────┼─────────────────────────┤\n", "│ Revelation 13:4 │ προσεκύνησαν │ they worshiped │\n", "├─────────────────────┼─────────────────┼─────────────────────────┤\n", "│ Revelation 13:8 │ προσκυνήσουσιν │ will worship │\n", "├─────────────────────┼─────────────────┼─────────────────────────┤\n", "│ Revelation 13:12 │ προσκυνήσουσιν │ they will worship │\n", "├─────────────────────┼─────────────────┼─────────────────────────┤\n", "│ Revelation 13:15 │ προσκυνήσωσιν │ would worship │\n", "├─────────────────────┼─────────────────┼─────────────────────────┤\n", "│ Revelation 14:7 │ προσκυνήσατε │ worship │\n", "├─────────────────────┼─────────────────┼─────────────────────────┤\n", "│ Revelation 14:9 │ προσκυνεῖ │ worships │\n", "├─────────────────────┼─────────────────┼─────────────────────────┤\n", "│ Revelation 14:11 │ προσκυνοῦντες │ worshiping │\n", "├─────────────────────┼─────────────────┼─────────────────────────┤\n", "│ Revelation 15:4 │ προσκυνήσουσιν │ will worship │\n", "├─────────────────────┼─────────────────┼─────────────────────────┤\n", "│ Revelation 16:2 │ προσκυνοῦντας │ worshiping │\n", "├─────────────────────┼─────────────────┼─────────────────────────┤\n", "│ Revelation 19:4 │ προσεκύνησαν │ they worshiped │\n", "├─────────────────────┼─────────────────┼─────────────────────────┤\n", "│ Revelation 19:10 │ προσκυνῆσαι │ to worship │\n", "├─────────────────────┼─────────────────┼─────────────────────────┤\n", "│ Revelation 19:10 │ προσκύνησον │ worship │\n", "├─────────────────────┼─────────────────┼─────────────────────────┤\n", "│ Revelation 19:20 │ προσκυνοῦντας │ worshiping │\n", "├─────────────────────┼─────────────────┼─────────────────────────┤\n", "│ Revelation 20:4 │ προσεκύνησαν │ │\n", "├─────────────────────┼─────────────────┼─────────────────────────┤\n", "│ Revelation 22:8 │ προσκυνῆσαι │ to worship │\n", "├─────────────────────┼─────────────────┼─────────────────────────┤\n", "│ Revelation 22:9 │ προσκύνησον │ worship │\n", "╘═════════════════════╧═════════════════╧═════════════════════════╛\n" ] } ], "source": [ "# Library to format table\n", "from tabulate import tabulate\n", "\n", "# Gather the results\n", "Results=[]\n", "for node in F.lemma.s('προσκυνέω'):\n", " # Following line creates a nicely formated presentation of the verse\n", " location=\"{} {}:{}\".format(F.book.v(node),F.chapter.v(node),F.verse.v(node))\n", " result=(location,F.word.v(node),F.gloss.v(node))\n", " Results.append(result)\n", " \n", "# Produce the table\n", "headers = [\"location\",\"word\",\"gloss\"]\n", "print(tabulate(Results, headers=headers, tablefmt='fancy_grid'))" ] }, { "cell_type": "markdown", "id": "09f3f153-860d-41d7-987d-4199dd76fd20", "metadata": { "tags": [] }, "source": [ "## 3.2 - Alternative way of coding \n", "##### [Back to TOC](#TOC)\n", "\n", "Note that the the following line of code in previous example:\n", "```\n", " for node in F.lemma.s('προσκυνέω'):\n", " {rest of the code}\n", "```\n", "\n", "is functionaly equivalent to this three line of code:\n", "```\n", " for node in F.otype.s('word'):\n", " lemma=F.lemma.v(node)\n", " if lemma == 'προσκυνέω':\n", " {rest of the code}\n", "```" ] }, { "cell_type": "markdown", "id": "52b9b35b-a3b7-4f99-9823-9fe79155fc24", "metadata": {}, "source": [ "## 3.3 - Using a search template \n", "##### [Back to TOC](#TOC)\n", "\n", "The same selection can also be made using a search template. Note that the number of results (56) differs from the previous code(59). The reasone is that here the selection is on clause and in the previous code on words. (John 4:23&24 and Revelation 13:4 and 19:10 have duplicate occurances of lemma προσκυνέω).\n" ] }, { "cell_type": "code", "execution_count": 7, "id": "d4b7063b-bc47-4299-a20d-8602c7973ec2", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " 0.17s 242 results\n" ] } ], "source": [ "SearchWorship = '''\n", "book \n", " chapter\n", " verse\n", " wg\n", " word lemma=προσκυνέω gloss\n", "'''\n", "\n", "# This will create a list containing ordered tuples consisting of node numbers of the items as they appear in the query\n", "WorshipList = N1904.search(SearchWorship)" ] }, { "cell_type": "markdown", "id": "bf87fcd5-4401-4652-9f12-24afce9da9ea", "metadata": {}, "source": [ "The resulting data (stored in WorshipList) can be further processed. For example to print the first 5 occurences in a table:\n" ] }, { "cell_type": "code", "execution_count": 8, "id": "d4ceb192-9b03-4dc1-9749-2dac978f1633", "metadata": { "tags": [] }, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", "\n", "\n", "
npversewg (+1)wgwgwgword (+1)wgwgwg (+1)
1Matthew 2:2λέγοντες Ποῦ ἐστιν τεχθεὶς βασιλεὺς τῶν Ἰουδαίων; εἴδομεν γὰρ αὐτοῦ τὸν ἀστέρα ἐν τῇ ἀνατολῇ καὶ ἤλθομεν προσκυνῆσαι αὐτῷ. Ποῦ ἐστιν τεχθεὶς βασιλεὺς τῶν Ἰουδαίων; εἴδομεν γὰρ αὐτοῦ τὸν ἀστέρα ἐν τῇ ἀνατολῇ καὶ ἤλθομεν προσκυνῆσαι αὐτῷ. εἴδομεν γὰρ αὐτοῦ τὸν ἀστέρα ἐν τῇ ἀνατολῇ καὶ ἤλθομεν προσκυνῆσαι αὐτῷ. εἴδομεν αὐτοῦ τὸν ἀστέρα ἐν τῇ ἀνατολῇ καὶ ἤλθομεν προσκυνῆσαι αὐτῷ. καὶ ἤλθομεν προσκυνῆσαι αὐτῷ. ἤλθομεν προσκυνῆσαι αὐτῷ. προσκυνῆσαι αὐτῷ. προσκυνῆσαι
2Matthew 2:8προσκυνήσω ἐπὰν δὲ εὕρητε, ἀπαγγείλατέ μοι, ὅπως κἀγὼ ἐλθὼν προσκυνήσω αὐτῷ. ἐπὰν εὕρητε, ἀπαγγείλατέ μοι, ὅπως κἀγὼ ἐλθὼν προσκυνήσω αὐτῷ. ὅπως κἀγὼ ἐλθὼν προσκυνήσω αὐτῷ. κἀγὼ ἐλθὼν προσκυνήσω αὐτῷ. καὶ πέμψας αὐτοὺς εἰς Βηθλέεμ εἶπεν· Πορευθέντες ἐξετάσατε ἀκριβῶς περὶ τοῦ παιδίου· ἐπὰν δὲ εὕρητε, ἀπαγγείλατέ μοι, ὅπως κἀγὼ ἐλθὼν προσκυνήσω αὐτῷ. πέμψας αὐτοὺς εἰς Βηθλέεμ εἶπεν· Πορευθέντες ἐξετάσατε ἀκριβῶς περὶ τοῦ παιδίου· ἐπὰν δὲ εὕρητε, ἀπαγγείλατέ μοι, ὅπως κἀγὼ ἐλθὼν προσκυνήσω αὐτῷ. Πορευθέντες ἐξετάσατε ἀκριβῶς περὶ τοῦ παιδίου· ἐπὰν δὲ εὕρητε, ἀπαγγείλατέ μοι, ὅπως κἀγὼ ἐλθὼν προσκυνήσω αὐτῷ.
3Matthew 2:11καὶ ἐλθόντες εἰς τὴν οἰκίαν εἶδον τὸ παιδίον μετὰ Μαρίας τῆς μητρὸς αὐτοῦ, καὶ πεσόντες προσεκύνησαν αὐτῷ, καὶ ἀνοίξαντες τοὺς θησαυροὺς αὐτῶν προσήνεγκαν αὐτῷ δῶρα, χρυσὸν καὶ λίβανον καὶ σμύρναν. ἐλθόντες εἰς τὴν οἰκίαν εἶδον τὸ παιδίον μετὰ Μαρίας τῆς μητρὸς αὐτοῦ, καὶ πεσόντες προσεκύνησαν αὐτῷ, καὶ ἀνοίξαντες τοὺς θησαυροὺς αὐτῶν προσήνεγκαν αὐτῷ δῶρα, χρυσὸν καὶ λίβανον καὶ σμύρναν. καὶ πεσόντες προσεκύνησαν αὐτῷ, πεσόντες προσεκύνησαν αὐτῷ, προσεκύνησαν
4Matthew 4:9πεσὼν προσκυνήσῃς μοι. καὶ εἶπεν αὐτῷ Ταῦτά σοι πάντα δώσω, ἐὰν πεσὼν προσκυνήσῃς μοι. εἶπεν αὐτῷ Ταῦτά σοι πάντα δώσω, ἐὰν πεσὼν προσκυνήσῃς μοι. Ταῦτά σοι πάντα δώσω, ἐὰν πεσὼν προσκυνήσῃς μοι. προσκυνήσῃς ἐὰν πεσὼν προσκυνήσῃς μοι.
5Matthew 4:10γέγραπται γάρ Κύριον τὸν θεόν σου προσκυνήσεις καὶ αὐτῷ μόνῳ λατρεύσεις. γέγραπται Κύριον τὸν θεόν σου προσκυνήσεις καὶ αὐτῷ μόνῳ λατρεύσεις. Κύριον τὸν θεόν σου προσκυνήσεις καὶ αὐτῷ μόνῳ λατρεύσεις. Κύριον τὸν θεόν σου προσκυνήσεις προσκυνήσεις
" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "N1904.table(WorshipList, condensed=True, end=5)" ] }, { "cell_type": "markdown", "id": "3458a482-0f1a-418d-a3d5-e21cb97d78c9", "metadata": {}, "source": [ "## 3.4 - What is being 'προσκυνέω-ed'? \n", "##### [Back to TOC](#TOC)\n", "\n", "*this section needs rework!*\n", "\n", "A more interesting query is to print all occurences of the lemma προσκυνέω while adding the object of προσκυνέω.\n", "\n", "This query is using a number of [Locality functions](https://annotation.github.io/text-fabric/tf/cheatsheet.html#l-locality) from the Text-Fabric API. The following diagram shows the concept.\n", "\n", "" ] }, { "cell_type": "code", "execution_count": 9, "id": "91ba08d8-4f8b-445c-95c3-852eb37ccd91", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", " Matthew 2:2\n" ] }, { "ename": "NameError", "evalue": "name 'object_text' is not defined", "output_type": "error", "traceback": [ "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[1;31mNameError\u001b[0m Traceback (most recent call last)", "Cell \u001b[1;32mIn[9], line 22\u001b[0m\n\u001b[0;32m 19\u001b[0m \u001b[38;5;28;01mbreak\u001b[39;00m\n\u001b[0;32m 21\u001b[0m \u001b[38;5;66;03m# print the result\u001b[39;00m\n\u001b[1;32m---> 22\u001b[0m \u001b[38;5;28mprint\u001b[39m(\u001b[38;5;124m'\u001b[39m\u001b[38;5;130;01m\\t\u001b[39;00m\u001b[38;5;124mGreek:\u001b[39m\u001b[38;5;124m'\u001b[39m,F\u001b[38;5;241m.\u001b[39mword\u001b[38;5;241m.\u001b[39mv(node),\u001b[38;5;124m'\u001b[39m\u001b[38;5;124m - \u001b[39m\u001b[38;5;124m'\u001b[39m,object_text,\u001b[38;5;124m'\u001b[39m\u001b[38;5;130;01m\\n\u001b[39;00m\u001b[38;5;130;01m\\t\u001b[39;00m\u001b[38;5;124mGloss:\u001b[39m\u001b[38;5;124m'\u001b[39m,F\u001b[38;5;241m.\u001b[39mgloss_EN\u001b[38;5;241m.\u001b[39mv(node),\u001b[38;5;124m'\u001b[39m\u001b[38;5;124m - \u001b[39m\u001b[38;5;124m'\u001b[39m,object_gloss)\n", "\u001b[1;31mNameError\u001b[0m: name 'object_text' is not defined" ] } ], "source": [ "for node in F.lemma.s('προσκυνέω'):\n", " gloss=F.gloss.v(node)\n", " # Following line creates a nicely formated presentation of the verse\n", " location=\"{} {}:{}\".format(F.book.v(node),F.chapter.v(node),F.verse.v(node))\n", " print('\\n',location)\n", " \n", " # This finds the parrent clause\n", " ParrentClause= L.u(node,'wg')[0]\n", " # Create a list of phrases included in the ParrentClause\n", " PhraseList=L.d(ParrentClause,'wg')\n", " for phrase in PhraseList:\n", " # check for the phrase containing the object\n", " object_text=object_gloss=''\n", " if F.phrasefunction.v(wg)=='O':\n", " WordList=L.d(phrase, 'word')\n", " for word in WordList:\n", " object_text=object_text+F.word.v(word)+' '\n", " object_gloss=object_gloss+F.gloss_EN.v(word)+' '\n", " break\n", " \n", " # print the result\n", " print('\\tGreek:',F.word.v(node),' - ',object_text,'\\n\\tGloss:',F.gloss_EN.v(node),' - ',object_gloss)" ] }, { "cell_type": "markdown", "id": "c2242c09-46eb-425f-828e-be90e62c9b89", "metadata": {}, "source": [ "## 3.5 - Pie chart showing the renderings \n", "##### [Back to TOC](#TOC)" ] }, { "cell_type": "markdown", "id": "f6807dce-b615-40e1-98e6-ad4fa21efb36", "metadata": {}, "source": [ "The next code generates a pie diagram showing the distribution of renderings of the word προσκυνέω. The grouping is basicly along 'kneeling' and 'worshipping'. When the rendering does not match one of these, it is counted as 'other'. In terms of coding, in this example, we first import the `matplotlib.pyplot` module. Then, we define the data for our pie chart: `labels` and `results`. Additionally, a legend will be included." ] }, { "cell_type": "code", "execution_count": 10, "id": "ca3fbf0f-1e91-4759-aba7-a07180fb4b35", "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import matplotlib.pyplot as plt\n", "\n", "worship=knee=other=0\n", "\n", "# This section can also be implemented using a different method (see below) \n", "for node in F.otype.s('word'):\n", " lemma=F.lemma.v(node)\n", " if lemma == 'προσκυνέω':\n", " gloss=F.gloss.v(node)\n", " if 'worship' in gloss: \n", " worship+=1\n", " else:\n", " if 'knee' in gloss: \n", " knee+=1\n", " else:\n", " other+=1\n", "\n", "# Dataset for the plot\n", "labels = ['Worship', 'Kneeling', 'Other']\n", "results = [worship, knee, other]\n", "\n", "# create the pie chart with percentage and number of occurances\n", "explode = [0.1,0.1,0.1] # To slice the perticuler section\n", "plt.pie(results, \n", " labels=labels, \n", " explode = explode,\n", " autopct=lambda pct: f'{pct:.1f}%\\n({int(pct / 100 * sum(results)+0.5)})', \n", " # The addition of 0.5 in the lambda function is to prevent rounding errors by the int() function.\n", " textprops={'color': 'black'})\n", "\n", "# add a title to the pie chart\n", "plt.title('Renderings of προσκυνέω')\n", "\n", "# Add a legend to the pie chart\n", "plt.legend(title=\"English renderings\",\n", " loc=\"center left\",\n", " bbox_to_anchor=(1.5, 0, 1, 1))\n", "\n", "# Show plot\n", "plt.show()" ] }, { "cell_type": "markdown", "id": "a69646b9-cc60-410f-bf2b-3310c2ea6e54", "metadata": {}, "source": [ "Alternatively the first part of this section could be implemented by means of a search function:" ] }, { "cell_type": "code", "execution_count": 11, "id": "0361fa90-d54d-4cc7-a7a0-66892d688aad", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " 0.08s 60 results\n", "worship= 53 knee= 5 other= 2\n" ] } ], "source": [ "# Define the query template\n", "ProskuneoQuery = '''\n", "word lemma=προσκυνέω\n", "'''\n", "\n", "# This will create a list containing ordered tuples consisting of node numbers of the items as they appear in the query\n", "ProskuneoResult = N1904.search(ProskuneoQuery)\n", "\n", "worship=knee=other=0\n", "for NodeTuple in ProskuneoResult:\n", " # The query result will be a list of node tuple. Hence we need to add index [0].\n", " gloss=F.gloss.v(NodeTuple[0])\n", " if 'worship' in gloss: \n", " worship+=1\n", " else:\n", " if 'knee' in gloss: \n", " knee+=1\n", " else:\n", " other+=1\n", "\n", "# Print to compare the results\n", "print ('worship=',worship,' knee=',knee,' other=',other) " ] }, { "cell_type": "markdown", "id": "47be2803-1f08-471a-a5b9-712d47b17d3f", "metadata": {}, "source": [ "## 4 - Discussion\n", "##### [Back to TOC](#TOC)\n", "\n", "TBA" ] }, { "cell_type": "markdown", "id": "23bfd673-516f-4b78-9b39-9d0899e1c5c8", "metadata": {}, "source": [ "# 5 - Attribution and footnotes\n", "##### [Back to TOC](#TOC)\n", "\n", "N.A." ] }, { "cell_type": "markdown", "id": "14f111f8-3509-48a8-9ed3-55c6b5ee0ab2", "metadata": {}, "source": [ "# 6 - Required libraries \n", "##### [Back to TOC](#TOC)\n", "\n", "The scripts in this notebook require (beside `text-fabric`) the following Python libraries to be installed in the environment:\n", "\n", " ???\n", "\n", "You can install any missing library from within Jupyter Notebook using either`pip` or `pip3`." ] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.11.5" } }, "nbformat": 4, "nbformat_minor": 5 }