Open Scriptures Hebrew Bible
The Open Scripures Hebrew Bible (OSHB) is a project to analyze the Hebrew Bible
by lemma and morphology. The project is marked up in OSIS XML and currently
contains lemma attributes for most words (using an augmentation of Strong’s
numbers). We are in the process of adding morphology attributes as well. These
files are found in the wlc
directory.
Lemma and morphology data are licensed under a Creative Commons Attribution 4.0 International license. For attribution purposes, credit the Open Scriptures Hebrew Bible Project. The text of the WLC remains in the Public Domain. See the LICENSE file for more information.
Additional Resources
-
HomeFiles
, along withindex.html
provide a simple home page for the project, see The OpenScriptures Hebrew Bible -
MAPM
contains our work with the Miqra according to the Mesorah These were done in cooperation with Rabbi Kadish, for comparison with the OSHB. The MapM has since progressed, so our files may not be up to date. -
OSHB Graphics
contains the OSHB logo graphics, for crediting or linking to our resources. See thereadme
in that directory for more details. -
structure
contains a demo of OSHB Verse, for displaying verses of the Hebrew Bible divided by the cantillation hierarchy. This is a simple implementation for using then
attributes that have been added, for recording and editing the cantillation divisions.
Hebrew Normalization
The SBL Hebrew User Manual has a section entitled, The normalisation issue, pp. 8 ff.
Normalisation is a process by which sequences of characters in text that can be variously encoded but are semantically identical are treated as identically encoded. (p. 8)
Because of the warnings in that manual, along with my experiences dealing with the MapM text from WikiSource, any uses of the OSHB should avoid NFC normalization.
Updated: January 27, 2017
Javascript npm module
There is a perl script which generates a JSON version of the morphology which is published to npm here: https://www.npmjs.com/package/morphhb
This JavaScript module is designed to be lightweight, so it is formatted as follows:
- Each book is a key, value pair in the Object.
- The key is the book name
- The value is an array of chapters
- Each chapter is an array of verses
- Each verse is an array of words
- Each word is an array of the following
- [ 'wordString', 'lemma', 'morphology' ]
The perl script which generates this is called morphhbXML-to-JSON.pl. It has several options:
- stripPointing: This will remove all non-letter characters from the Hebrew words. These characters are a later addition in the history of the text.
- removeLemmaTypes: Some Strongs numbers have an additional type in the form of a letter. This isn't implemented in the strongs dictionary, so this option will remove them.
- stripHFromMorph: To keep the output as light as possible we can strip the 'H' from the start of each morph code
- prefixLemmasWithH: To differentiate Greek and Hebrew strongs numbers we can add an additional H at the start
- remapVerses: The versification in Hebrew and English bibles is different. This option maps the Hebrew verses to the English ones.
You can run this script like so:
perl morphhbXML-to-JSON.pl --stripPointing --removeLemmaTypes --stripHFromMorph --prefixLemmasWithH --remapVerses