/bible_databases

Bible versions and cross-reference databases.

Primary LanguageGo

Bible Versions and Cross-Reference Databases: mysql, sqlite, xml, csv, json, txt, md.

https://scrollmapper.github.io/

Here you will find the following bible versions in sql, sqlite, xml, csv, json, txt, and md format:

  • King James Version (KJV)
  • American Standard-ASV1901 (ASV)
  • Bible in Basic English (BBE)
  • World English Bible (WEB)
  • Young's Literal Translation (YLT)

All included Bible translations are in the public domain.

Please let me know if any verses/text were inaccurately transferred in conversion.

Looking for deuterocanonical / apocryphal books? Find them here: https://github.com/scrollmapper/bible_databases_deuterocanonical

Summary:

  • bible-mysql.sql (MySQL) is the main database and most feature-oriented due to contributions from developers. It is suggested you use that for most things, or at least convert the information from it.
  • cross_references-mysql.sql (MySQL) is the cross-reference table. It has been separated to become an optional feature. This is converted from the project at http://www.openbible.info/labs/cross-references/.
  • bible-sqlite.db (SQLite) is converted from bible-mysql.sql using mysql2sqlite. (includes cross-references too).
  • cross_references.txt is the source cross-reference file obtained from http://www.openbible.info/labs/cross-references/

Verse ID System:

Each verse is accessed by a unique key, the combination of the BOOK+CHAPTER+VERSE id.

Example:

Genesis 1:1 (Genesis chapter 1, verse 1) = 01001001 (01 001 001)

Exodus 2:3 (Exodus chapter 2, verse 3) = 02002003 (02 002 003)

The verse-id system is used for faster, simplified queries. For instance:

01001001 - 02001005 would capture all verses between Genesis 1:1 through Exodus 1:5.

Written simply:

SELECT * FROM bible.t_asv WHERE id BETWEEN 01001001 AND 02001005

Coordinating Tables

There is also a number-to-book key (key_english table), a cross-reference list (cross_reference table), and a bible key containing meta information about the included translations (bible_version_key table). See below SQL table layout. These tables work together providing you a great basis for a bible-reading and cross-referencing app. In addition, each book is marked with a particular genre, mapping in the number-to-genre key (key_genre_english table) and common abbreviations for each book can be looked up in the abbreviations list (key_abbreviations_english table).

While its expected that your programs would use the verse-id system, book #, chapter #, and verse # columns have been included in the bible versions tables.

A Valuable Cross-Reference Table

A very special and valuable addition to these databases is the extensive cross-reference table. It was created from the project at http://www.openbible.info/labs/cross-references/. See .txt version included from http://www.openbible.info website. Its extremely useful in bible study for discovering related scriptures. For any given verse, you simply query vid (verse id), and a list of rows will be returned. Each of those rows has a rank (r) for relevance, start-verse (sv), and end verse (ev) if there is one.

Basic Web Interaction

The web folder contains two php files. Edit the first few lines of index.php to match your server's settings. Place these in a folder on your webserver.

The references search box can be multiple comma separated values. (i.e. John 3:16, Rom 3:23, 1 Jn 1:9, Romans 10:9-10) You can also directly link to a verse by altering the URI: [http://localhost/index.php?b=John 3:16, Rom 3:23, 1 Jn 1:9, Romans 10:9-10](http://localhost/index.php?b=John 3:16, Rom 3:23, 1 Jn 1:9, Romans 10:9-10)


SQL Database Layout:

bible_version_key

Field Type Null Key Default Extra
id int(3) unsigned zerofill NO PRI auto_increment
table text NO Corresponding Bible version table name.
abbreviation text NO Bible version abbreviation.
language text NO Language translation.
version text NO Version name.
info_text text NO Extra info.
info_url text NO Wiki info or similar URL
publisher text NO Who published.
copyright text NO Copyright
copyright_info text NO More info on copyright.

cross_reference

Field Type Null Key Default Extra
vid int(8) unsigned zerofill NO MUL VERSE ID
r int(11) NO RANK
sv int(8) unsigned zerofill NO START VERSE
ev int(8) unsigned zerofill NO END VERSE

key_english

Field Type Null Key Default Extra
b int(11) NO PRI Book #
n text NO Book Name
t VARCHAR(2) NO Testament (OT or NT)
g tinyint(3) NO Genre ID

key_abbreviations_english

Field Type Null Key Default Extra
id smallint(5) NO PRI Abbreviation ID
a VARCHAR(255) NO Abbreviation
b smallint(5) NO Book ID this is refers to
p tinyint(1) NO 0 If this is the desired abbreviation

key_genre_english

Field Type Null Key Default Extra
g tinyint(3) NO PRI Genre ID
n VARCHAR(255) NO Genre name

t_(version abbreviation)

Field Type Null Key Default Extra
id int(8) unsigned zerofill NO PRI Verse ID
b int(11) NO Book
c int(11) NO Chapter
v int(11) NO Verse
t text NO Text

LICENSE:

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.