[sword-devel] modules to relational database

Gabriel M. Beddingfield gabriel at teuton.org
Tue Nov 7 09:34:47 MST 2006

On Tue, November 7, 2006 9:34 am, lumin8 wrote:
>> I'll leave the question alone as to the value of a relational database
>> for this data over using the SWORD API.
> Actually, I am interested in this question if you have time / desire to
> enlighten me.  I think I can manage the chunk of code you gave me
> (thanks),
> but I have never compiled a program in my life.  I have been building web
> applications for about 7 years with PHP, and now Ruby for the last year
> and
> a half.

Well, there's the fact that the Sword API and system is already developed,
and functions well.  This includes an online bible reader
(http://crosswire.org/study).  Chances are, there's a lot of work already
done that you can leverege in your application.

Then, there's the issue of data storage philosophy.  I ran across a good
article that covers the subject here:


It's a little academic, but here's what I get out of it:

Scripture, lexicons, commentaries, etc... the nature of the data doesn't
fit well into the relational database concept.  Scriptures and
commentaries were not written with "book/chapter/verse" divisions in mind.
 These are all added after the fact to facilitate study and indexing.

Therefore, several file formats have been created to reflect the nature of
the works themselves -- how they are organized and structured.  And in
most cases, these strategies don't work well with the relational database

Case-in-point:  book/chapter/verse.  You can easily put a bible into any
relational database and index it having a column for book, chapter, and
verse.  But what about paragraphs?  Sentences?  What about the fact that
Christians and Jews have slight differences in verse numbering?  How do
you handle quotation?  How do you flag whether or not a verse is in the
middle of a quote?  How do you handle the way things are handled in
different translations?  How do you mark the english text so that we can
map the words back to the greek/hebrew lexicon?

The folks who created Sword, OSIS, ThML, USFX, etc... all these folks have
spent a good deal of time grappling with these issues.  It would be wise
to utilize this -- even contribute to this.

Yes, putting a bible (e.g. the KJV) into a relational database is nice and
simple for a nice and simple application.  There's nothing wrong with that
if it suits your purposes.  But when you want to go beyond the simple
application, you will run into all the same problems that everyone else
runs into when they put the scriptures into a relational database.  Sword
will put you in a much better position to do this.

...and, in addition, Sword is also nice and simple for nice and simple


               G a b r i e l   M   B e d d i n g f i e l d

More information about the sword-devel mailing list