-
Notifications
You must be signed in to change notification settings - Fork 1
Statements
A statement in the bibref program is an English language sentence, with a restricted set of words and several rules that are fixed in a grammar. It has some similarities with the SQL database query language.
Statements can claim correspondences between Old Testament and New Testament texts. Here is an example:
Statement Matthew-15,4+23 connects
StatResGNT Matthew 15:4+23 15:4-41 (42563-42587, length 25) with
LXX Exodus 20:12 20:12-81 (57204-57231, length 28) based on
introduction 15:4 15:4-66 (42540-42562, length 23) a-z form ogarueoseneteilatolegvn that
declares a quotation with 'λέγων' also
identifies the source with 'θεος' moreover
fragment 15:4+23 15:4-41 (42563-42587, length 25) a-z form timatonpaterakaithnmhtera
matches LXX Exodus 20:12 20:12-81 (57204-57231, length 28) a-z form timatonpaterasoykaithnmhtera
differing by 14.81%
providing an overall cover of 100.00%.
As general rules:
- Each statement can have an optional identifier (here
Matthew-15,4+23
). - Statements connect passages from named Bible editions, here StatResGNT and LXX. The names correspond to SWORD modules that are considered standard, scientifically checked compilations of the manuscripts.
- The New Testament passage is defined with
Matthew 15:4+23 15:4-41
and the exact positions of the letters (and optionally, the length of the passage) are given. This is called the NT headline. - The Old Testament passage (here
Exodus 20:12 20:12-81
) or passages (if there are more) are listed below the New Testament passage. This is called the OT headline (or headlines). - The New Testament passage is usually introduced with some text that precedes the NT headline in most cases.
- The introduction (or introductions, if there are multiple parts) may declare that the NT headline is a quotation and/or it may point to the source or the author of the OT headline.
- Then, some pairs of fragments are listed (here only one) that show the literal correspondence between the passages. A difference, based on Jaccard distance, is shown after each pair.
- A summary of coverage of the NT headline is shown at the end of the statement.
- Introductory passages and fragments are shown in a-z notation.
- Declaration of a passage that it is a quotation or identification of an author are shown in Greek, put between apostrophes or quotation marks.
Statements collect evidences on correspondences between passages of the Old and New Testament. They can show that the two Testaments have indeed correlation in a verifiable way. This can be done manually or in a machine-driven way.
No statement can give a mathematically correct "proof" on such ideas that the New Testament was inspired by God, or the authors of the New Testament had a deep understanding of the Old Testament, or if they knew many parts of it by heart. However, there is a good chance that it is like that, because the correspondences do not seem to be just random matches. Scientific analysis can only give such suggestions, but this is no evidence in a strict scientific sense.
Statements do not even claim that a New Testament author willingly quoted the Old Testament. In some cases, it is very difficult to decide that a passage is indeed a quotation or just an allusion. Researchers should make such decisions by analyzing the text with other methods than computer based string matching.
The actual format of statements is defined in a grammar written in flex (lexer) and bison (grammar).
- See the grammar definition for more details.
bibref has built-in algorithms to analyze the given statement:
-
The GUI versions provide syntax highlighting in the Statement Editor:
For programmers, there are syntax highlighting configuration files provided for the highlight tool and for Midnight Commander.
-
All versions give a line-by-line analysis by checking the consistency of the statement. In the GUI version:
In a terminal based version:
2,61: info: consistent length: 42587-42563+1==25 I1 2,61: info: `lookup1 StatResGNT Matthew 15:4+23 15:4-41` = timatonpaterakaithnmhtera I2 2,61: info: `raw StatResGNT Matthew 42563 25` = timatonpaterakaithnmhtera I3 2,61: info: results of lookup and raw match I4 3,52: info: consistent length: 57231-57204+1==28 I1 3,52: info: `lookup1 LXX Exodus 20:12 20:12-81` = timatonpaterasoykaithnmhtera I2 3,52: info: `raw LXX Exodus 57204 28` = timatonpaterasoykaithnmhtera I3 3,52: info: results of lookup and raw match I4 4,53: info: consistent length: 42562-42540+1==23 I1 6,50: info: `lookup1 StatResGNT Matthew 15:4 15:4-66` = ogarueoseneteilatolegvn I2 6,50: info: introduction 15:4 15:4-66 matches to a-z form ogarueoseneteilatolegvn I5 6,50: info: `raw StatResGNT Matthew 42540 23` = ogarueoseneteilatolegvn I3 6,50: info: results of lookup and raw match I4 6,50: info: substring legvn found in introduction I6 6,50: info: substring ueos found in introduction I6 7,52: info: consistent length: 42587-42563+1==25 I1 8,62: info: consistent length: 57231-57204+1==28 I1 8,62: info: `lookup1 LXX Exodus 20:12 20:12-81` = timatonpaterasoykaithnmhtera I2 8,62: info: `raw LXX Exodus 57204 28` = timatonpaterasoykaithnmhtera I3 8,62: info: results of lookup and raw match I4 9,24: info: `lookup1 StatResGNT Matthew 15:4+23 15:4-41` = timatonpaterakaithnmhtera I2 9,24: info: NT fragment 15:4+23 15:4-41 matches to a-z form I7 9,24: info: `raw StatResGNT Matthew 42563 25` = timatonpaterakaithnmhtera I3 9,24: info: results of lookup and raw match I4 9,24: info: `lookup1 LXX Exodus 20:12 20:12-81` = timatonpaterasoykaithnmhtera I2 9,24: info: OT fragment LXX Exodus 20:12 20:12-81 matches to a-z form I8 9,24: info: fragments differ by 14.81% I9 9,24: info: checking if OT passage is unique in OT: no, 2 occurrences I10 10,40: info: cover 100.00% is correct I12 10,40: info: NT overlap check done I13 10,40: info: NT headline interval check done I14 10,40: info: OT headline 1 LXX Exodus has at least one corresponding fragment I15 10,40: info: OT headline interval 1 check done I16 10,40: info: OT interval check for OT headline 1 done I17
The line-by-line analysis performs 17 different types of semantic checks. A successful step results in an info message. On any error, there is an error message reported. The command-line tool pbrst-cli can fix some errors in certain cases. In some cases, warnings are provided to help improving the statement.
-
If the statement is semantically correct, the GUI versions of bibref can create a diagram to visualize the correspondences.
Diagrams can be exported as GraphViz files like this:
digraph { nodesep=0.1; node [shape=box,color="#8080ff",style=filled,height=0.4,width=0.4,fontsize=14]; subgraph cluster_OT1 { tooltip=" "; style=filled; color=transparent; fillcolor="#ffff80:white"; edge [arrowhead=none,minlen=0,tooltip=" "]; otlabel1 [label="Exodus 20:12",color=transparent,tooltip=" "]; i4 [label=28,fillcolor=green,fontcolor=white,tooltip="timatonpaterasoykaithnmhtera"]; i4; otlabel1->i4 [style=invis]; } subgraph cluster_NT { tooltip=" "; style=filled; color=transparent; fillcolor="#80ffff:white"; edge [arrowhead=none,minlen=0,tooltip=" "]; ntlabel [label="Matthew 15:4+23",color=transparent,tooltip=" "]; nt0 [label=23,fontcolor="#dddddd",fillcolor="#9999ff",tooltip="ogarueoseneteilatolegvn"]; nt1 [label=25,tooltip="timatonpaterakaithnmhtera",fillcolor="#009200",fontcolor=white]; nt0->nt1; ntlabel->nt0 [style=invis]; } nt1->i4 [arrowhead=vee,tooltip=" ",headlabel="15%",fontcolor=red,labeldistance=3,fontsize=12,headtooltip=" ",constraint=0,color=green]; ntlabel->otlabel1 [style=invis]; }
GraphViz export can also be performed with the command-line tool pbrst-cli.