{
"cells": [
{
"cell_type": "markdown",
"id": "e8de204a-dae2-4e13-9ea8-86244e15176a",
"metadata": {},
"source": [
"# The Granville Sharp rule (Nestle1904GBI)\n",
"\n",
"**Work in progress**"
]
},
{
"cell_type": "markdown",
"id": "f504be25-a4e3-4a32-85dc-0d64b5a998b0",
"metadata": {
"jp-MarkdownHeadingCollapsed": true,
"tags": []
},
"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 - TBD\n",
" * 3.2 - TBD\n",
"* 4 - Atribution and footnotes\n",
"* 5 - Required libraries"
]
},
{
"cell_type": "markdown",
"id": "2d37f61e-3cb5-4280-8ef3-a7761db78dc7",
"metadata": {},
"source": [
"# 1 - Introduction \n",
"##### [Back to TOC](#TOC)\n",
"\n",
"The Granville Sharp rule is formulated as:\n",
"\n",
"> \"When the copulative καὶ connects two nouns of the same case,(...) if the article ὁ, or any of its cases, precedes the first of the said nouns or participles, and is not repeated before the second noun or participle, the latter always relates to the same person that is expressed or described by the first noun or participle ...\" 1"
]
},
{
"cell_type": "markdown",
"id": "8a36d60f-e423-40da-b291-0778f9e99796",
"metadata": {},
"source": [
"## 1.1 - Why is this relevant? \n",
"\n",
"This rule is often refered to in order to prove the deity of Christ using textual and grammatical means (just as done by Granville Sharp). It is often applied to verses like Titus 2:13: 2\n",
"\n",
"> προσδεχόμενοι τὴν μακαρίαν ἐλπίδα καὶ ἐπιφάνειαν τῆς δόξης τοῦ μεγάλου θεοῦ καὶ σωτῆρος ἡμῶν Ἰησοῦ Χριστοῦ,"
]
},
{
"cell_type": "markdown",
"id": "9dbd45b4-dec4-4594-b21e-36bb5edb1c37",
"metadata": {},
"source": [
"## 1.2 - Translating it into a Text-Fabric query \n",
"\n",
"The following Text-Fabric query will identify a list of instances where the conditions referred to by the Granville Sharp rule are met. The results would assist in determining the exceptions and limitations of this rule.\n",
"\n",
"This Text-Fabric query will produce:\n",
"\n",
"- Find all sequences of two substantive nouns in the same case.\n",
"- Check if they share the same definite article.\n",
"\n",
"It will return only instances where:\n",
"\n",
"- The two nouns are singular\n",
"- The article is arthrous (occurs with the nouns)\n",
"- The two nouns do not stand in a possessive relationship (one does not modify the other)\n",
"- They do not constitute a proper name or geographical term (this can be done using Lauw-Nida classifications)\n",
"- They are not separated by a modifier that would prevent them from referring to the same thing\n"
]
},
{
"cell_type": "markdown",
"id": "85012fdd-de39-4b52-bb14-fb97e395ddf8",
"metadata": {},
"source": [
"## 2 - Load app and data \n",
"##### [Back to TOC](#TOC)"
]
},
{
"cell_type": "code",
"execution_count": 1,
"id": "ae5fa3ff-e263-42df-9e5a-422d6510227f",
"metadata": {},
"outputs": [],
"source": [
"%load_ext autoreload\n",
"%autoreload 2"
]
},
{
"cell_type": "code",
"execution_count": 2,
"id": "328ba8e3-a620-45df-872b-e71e1bd8622b",
"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": "a22956fd-de6a-4c83-969f-2892c0142e42",
"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/Nestle1904GBI/app not found\n"
]
},
{
"data": {
"text/html": [
"Status: latest release online 0.4 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/Nestle1904GBI/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/Nestle1904GBI/tf/0.4 not found\n"
]
},
{
"data": {
"text/html": [
"Status: latest release online 0.4 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/Nestle1904GBI/tf/0.4"
],
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
" | 0.23s T otype from ~/text-fabric-data/github/tonyjurg/Nestle1904GBI/tf/0.4\n",
" | 1.97s T oslots from ~/text-fabric-data/github/tonyjurg/Nestle1904GBI/tf/0.4\n",
" | 0.66s T word from ~/text-fabric-data/github/tonyjurg/Nestle1904GBI/tf/0.4\n",
" | 0.57s T verse from ~/text-fabric-data/github/tonyjurg/Nestle1904GBI/tf/0.4\n",
" | 0.58s T chapter from ~/text-fabric-data/github/tonyjurg/Nestle1904GBI/tf/0.4\n",
" | 0.67s T book from ~/text-fabric-data/github/tonyjurg/Nestle1904GBI/tf/0.4\n",
" | 0.58s T after from ~/text-fabric-data/github/tonyjurg/Nestle1904GBI/tf/0.4\n",
" | | 0.05s C __levels__ from otype, oslots, otext\n",
" | | 1.48s C __order__ from otype, oslots, __levels__\n",
" | | 0.06s C __rank__ from otype, __order__\n",
" | | 2.36s C __levUp__ from otype, oslots, __rank__\n",
" | | 1.49s C __levDown__ from otype, __levUp__, __rank__\n",
" | | 0.06s C __characters__ from otext\n",
" | | 0.96s 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.55s T booknum from ~/text-fabric-data/github/tonyjurg/Nestle1904GBI/tf/0.4\n",
" | 0.65s T bookshort from ~/text-fabric-data/github/tonyjurg/Nestle1904GBI/tf/0.4\n",
" | 0.54s T case from ~/text-fabric-data/github/tonyjurg/Nestle1904GBI/tf/0.4\n",
" | 0.55s T clause from ~/text-fabric-data/github/tonyjurg/Nestle1904GBI/tf/0.4\n",
" | 0.07s T clauserule from ~/text-fabric-data/github/tonyjurg/Nestle1904GBI/tf/0.4\n",
" | 0.02s T clausetype from ~/text-fabric-data/github/tonyjurg/Nestle1904GBI/tf/0.4\n",
" | 0.47s T degree from ~/text-fabric-data/github/tonyjurg/Nestle1904GBI/tf/0.4\n",
" | 0.58s T formaltag from ~/text-fabric-data/github/tonyjurg/Nestle1904GBI/tf/0.4\n",
" | 0.58s T functionaltag from ~/text-fabric-data/github/tonyjurg/Nestle1904GBI/tf/0.4\n",
" | 0.63s T gloss from ~/text-fabric-data/github/tonyjurg/Nestle1904GBI/tf/0.4\n",
" | 0.54s T gn from ~/text-fabric-data/github/tonyjurg/Nestle1904GBI/tf/0.4\n",
" | 0.62s T lemma from ~/text-fabric-data/github/tonyjurg/Nestle1904GBI/tf/0.4\n",
" | 0.57s T lex_dom from ~/text-fabric-data/github/tonyjurg/Nestle1904GBI/tf/0.4\n",
" | 0.59s T ln from ~/text-fabric-data/github/tonyjurg/Nestle1904GBI/tf/0.4\n",
" | 0.50s T monad from ~/text-fabric-data/github/tonyjurg/Nestle1904GBI/tf/0.4\n",
" | 0.50s T mood from ~/text-fabric-data/github/tonyjurg/Nestle1904GBI/tf/0.4\n",
" | 0.72s T nodeID from ~/text-fabric-data/github/tonyjurg/Nestle1904GBI/tf/0.4\n",
" | 0.65s T normalized from ~/text-fabric-data/github/tonyjurg/Nestle1904GBI/tf/0.4\n",
" | 0.55s T nu from ~/text-fabric-data/github/tonyjurg/Nestle1904GBI/tf/0.4\n",
" | 0.56s T number from ~/text-fabric-data/github/tonyjurg/Nestle1904GBI/tf/0.4\n",
" | 0.49s T person from ~/text-fabric-data/github/tonyjurg/Nestle1904GBI/tf/0.4\n",
" | 0.78s T phrase from ~/text-fabric-data/github/tonyjurg/Nestle1904GBI/tf/0.4\n",
" | 0.30s T phrasefunction from ~/text-fabric-data/github/tonyjurg/Nestle1904GBI/tf/0.4\n",
" | 0.31s T phrasefunctionlong from ~/text-fabric-data/github/tonyjurg/Nestle1904GBI/tf/0.4\n",
" | 0.31s T phrasetype from ~/text-fabric-data/github/tonyjurg/Nestle1904GBI/tf/0.4\n",
" | 0.51s T sentence from ~/text-fabric-data/github/tonyjurg/Nestle1904GBI/tf/0.4\n",
" | 0.58s T sp from ~/text-fabric-data/github/tonyjurg/Nestle1904GBI/tf/0.4\n",
" | 0.57s T splong from ~/text-fabric-data/github/tonyjurg/Nestle1904GBI/tf/0.4\n",
" | 0.60s T strongs from ~/text-fabric-data/github/tonyjurg/Nestle1904GBI/tf/0.4\n",
" | 0.51s T subj_ref from ~/text-fabric-data/github/tonyjurg/Nestle1904GBI/tf/0.4\n",
" | 0.50s T tense from ~/text-fabric-data/github/tonyjurg/Nestle1904GBI/tf/0.4\n",
" | 0.54s T type from ~/text-fabric-data/github/tonyjurg/Nestle1904GBI/tf/0.4\n",
" | 0.50s T voice from ~/text-fabric-data/github/tonyjurg/Nestle1904GBI/tf/0.4\n"
]
},
{
"data": {
"text/html": [
"\n",
" Text-Fabric: Text-Fabric API 11.4.10, tonyjurg/Nestle1904GBI/app v3, Search Reference
\n",
" Data: tonyjurg - Nestle1904GBI 0.4, Character table, Feature docs
\n",
" Node types
\n",
"\n",
" \n",
" Name | \n",
" # of nodes | \n",
" # slots/node | \n",
" % coverage | \n",
"
\n",
"\n",
"\n",
" book | \n",
" 27 | \n",
" 5102.93 | \n",
" 100 | \n",
"
\n",
"\n",
"\n",
" chapter | \n",
" 260 | \n",
" 529.92 | \n",
" 100 | \n",
"
\n",
"\n",
"\n",
" sentence | \n",
" 5720 | \n",
" 24.09 | \n",
" 100 | \n",
"
\n",
"\n",
"\n",
" verse | \n",
" 7943 | \n",
" 17.35 | \n",
" 100 | \n",
"
\n",
"\n",
"\n",
" clause | \n",
" 16124 | \n",
" 8.54 | \n",
" 100 | \n",
"
\n",
"\n",
"\n",
" phrase | \n",
" 72674 | \n",
" 1.90 | \n",
" 100 | \n",
"
\n",
"\n",
"\n",
" word | \n",
" 137779 | \n",
" 1.00 | \n",
" 100 | \n",
"
\n",
"
\n",
" Sets: no custom sets
\n",
" Features:
\n",
"Nestle 1904 (GBI nodes)
\n",
" \n",
"\n",
"
\n",
"
\n",
"
str
\n",
"\n",
"
Character after the word (space or punctuation)\n",
"\n",
"
\n",
"\n",
"
\n",
"
\n",
"
str
\n",
"\n",
"
Book name (fully spelled out)\n",
"\n",
"
\n",
"\n",
"
\n",
"
\n",
"
int
\n",
"\n",
"
NT book number (Matthew=1, Mark=2, ..., Revelation=27)\n",
"\n",
"
\n",
"\n",
"
\n",
"
\n",
"
str
\n",
"\n",
"
Book name (abbreviated)\n",
"\n",
"
\n",
"\n",
"
\n",
"
\n",
"
str
\n",
"\n",
"
Gramatical case (Nominative, Genitive, Dative, Accusative, Vocative)\n",
"\n",
"
\n",
"\n",
"
\n",
"
\n",
"
int
\n",
"\n",
"
Chapter number inside book\n",
"\n",
"
\n",
"\n",
"
\n",
"
\n",
"
int
\n",
"\n",
"
Clause number (counted per chapter)\n",
"\n",
"
\n",
"\n",
"
\n",
"
\n",
"
str
\n",
"\n",
"
Clause rule\n",
"\n",
"
\n",
"\n",
"
\n",
"
\n",
"
str
\n",
"\n",
"
Clause type\n",
"\n",
"
\n",
"\n",
"
\n",
"
\n",
"
str
\n",
"\n",
"
Degree (e.g. Comparitative, Superlative)\n",
"\n",
"
\n",
"\n",
"
\n",
"
\n",
"
str
\n",
"\n",
"
Formal tag (Sandborg-Petersen morphology)\n",
"\n",
"
\n",
"\n",
"
\n",
"
\n",
"
str
\n",
"\n",
"
\n",
"\n",
"
\n",
"\n",
"
\n",
"
\n",
"
str
\n",
"\n",
"
English gloss\n",
"\n",
"
\n",
"\n",
"
\n",
"
\n",
"
str
\n",
"\n",
"
Gramatical gender (Masculine, Feminine, Neuter)\n",
"\n",
"
\n",
"\n",
"
\n",
"
\n",
"
str
\n",
"\n",
"
Lexeme (lemma)\n",
"\n",
"
\n",
"\n",
"
\n",
"
\n",
"
str
\n",
"\n",
"
Lexical domain according to Semantic Dictionary of Biblical Greek, SDBG\n",
"\n",
"
\n",
"\n",
"
\n",
"
\n",
"
str
\n",
"\n",
"
Lauw-Nida lexical classification\n",
"\n",
"
\n",
"\n",
"
\n",
"
\n",
"
int
\n",
"\n",
"
Sequence number of the smallest meaningful unit of text (single word)\n",
"\n",
"
\n",
"\n",
"
\n",
"
\n",
"
str
\n",
"\n",
"
Gramatical mood of the verb (passive, etc)\n",
"\n",
"
\n",
"\n",
"
\n",
"
\n",
"
str
\n",
"\n",
"
Node ID (as in the XML source data)\n",
"\n",
"
\n",
"\n",
"
\n",
"
\n",
"
str
\n",
"\n",
"
Surface word stripped of punctations\n",
"\n",
"
\n",
"\n",
"
\n",
"
\n",
"
str
\n",
"\n",
"
Gramatical number (Singular, Plural)\n",
"\n",
"
\n",
"\n",
"
\n",
"
\n",
"
str
\n",
"\n",
"
Gramatical number of the verb\n",
"\n",
"
\n",
"\n",
"
\n",
"
\n",
"
str
\n",
"\n",
"
\n",
"\n",
"
\n",
"\n",
"
\n",
"
\n",
"
str
\n",
"\n",
"
Gramatical person of the verb (first, second, third)\n",
"\n",
"
\n",
"\n",
"
\n",
"
\n",
"
int
\n",
"\n",
"
Phrase number (counted per chapter)\n",
"\n",
"
\n",
"\n",
"
\n",
"
\n",
"
str
\n",
"\n",
"
Phrase function (abbreviated)\n",
"\n",
"
\n",
"\n",
"
\n",
"
\n",
"
str
\n",
"\n",
"
Phrase function (long description)\n",
"\n",
"
\n",
"\n",
"
\n",
"
\n",
"
str
\n",
"\n",
"
Phrase type information\n",
"\n",
"
\n",
"\n",
"
\n",
"
\n",
"
int
\n",
"\n",
"
Sentence number (counted per chapter)\n",
"\n",
"
\n",
"\n",
"
\n",
"
\n",
"
str
\n",
"\n",
"
Speech Part (abbreviated)\n",
"\n",
"
\n",
"\n",
"
\n",
"
\n",
"
str
\n",
"\n",
"
Speech Part (long description)\n",
"\n",
"
\n",
"\n",
"
\n",
"
\n",
"
str
\n",
"\n",
"
Strongs number\n",
"\n",
"
\n",
"\n",
"
\n",
"
\n",
"
str
\n",
"\n",
"
Subject reference (to nodeID in XML source data)\n",
"\n",
"
\n",
"\n",
"
\n",
"
\n",
"
str
\n",
"\n",
"
Gramatical tense of the verb (e.g. Present, Aorist)\n",
"\n",
"
\n",
"\n",
"
\n",
"
\n",
"
str
\n",
"\n",
"
Gramatical type of noun or pronoun (e.g. Common, Personal)\n",
"\n",
"
\n",
"\n",
"
\n",
"
\n",
"
int
\n",
"\n",
"
Verse number inside chapter\n",
"\n",
"
\n",
"\n",
"
\n",
"
\n",
"
str
\n",
"\n",
"
Gramatical voice of the verb\n",
"\n",
"
\n",
"\n",
"
\n",
"
\n",
"
str
\n",
"\n",
"
Word as it appears in the text\n",
"\n",
"
\n",
"\n",
"
\n",
"
\n",
"
none
\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/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# load the N1904 app and data\n",
"N1904 = use (\"tonyjurg/Nestle1904GBI\", version=\"0.4\", hoist=globals())"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "8ca73b67-65eb-4679-96f5-10e73d2bc330",
"metadata": {},
"outputs": [],
"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": "markdown",
"id": "9c74deeb-8543-4cee-acf6-0cef0f1bb386",
"metadata": {
"tags": []
},
"source": [
"# 3 - Performing the queries \n",
"##### [Back to TOC](#TOC)"
]
},
{
"cell_type": "markdown",
"id": "0a6ed41d-a3e2-454c-b6fe-a22e521f31ce",
"metadata": {
"tags": []
},
"source": [
"## 3.1 - TBD\n",
"\n",
"TBD\n"
]
},
{
"cell_type": "markdown",
"id": "e3eb74e7-9b0e-4fcb-8e6c-1f88b79676bb",
"metadata": {},
"source": [
"## 3.2 - TBD\n",
"\n",
"TBD"
]
},
{
"cell_type": "markdown",
"id": "16dbb64c-a7c8-4557-855d-c11b599e9f9d",
"metadata": {},
"source": [
"# 4 - Attribution and footnotes\n",
"##### [Back to TOC](#TOC)\n",
"\n",
"#### Footnotes:\n",
"\n",
"1 Sharp, Granville (1798). [*Remarks on the Uses of the Definitive Article in the Greek Text of the New Testament, Containing Many New Proofs of the Divinity of Christ, from Passages Which Are Wrongly Translated in the Common English Version*](https://archive.org/details/remarksonusesofd00sharrich/page/2/mode/2up), Third Edition. (London: C. & W. Galabin, 1803), 3.\n",
"\n",
"2 For example in: Benjamin L. Merkle. *Exegetical gems from Biblical Greek* (Grand Rappids, MI: Baker Accademics, 2019), 39-43.\n",
"\n",
"See also the extensive discussion on this subject in: Daniel B. Wallace, *The Basics of New Testament Syntax*, AER Edition January 2009 (Grand Rapids, MI: Zondervan, 2009), 120-128."
]
},
{
"cell_type": "markdown",
"id": "3ecbab9d-8e69-4d79-bb92-8e928fa119eb",
"metadata": {
"tags": []
},
"source": [
"# 5 - 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",
" tabulate\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
}