I’ve finally finished: a family tree / genealogy of every named figure in the Torah, the first five books of the bible. I’ve been on this project off-and-on for two years– not because I didn’t have the data (that part was easy), but because creating a tree of more than six hundred nodes is more than I wanted to do by hand, especially because I intend to move on to the next books soon. My end goal is to produce a tree of every figure in the bible.
Geeks can work awfully hard at being lazy. Since I refused to do the layouts by hand, I wrote my own software. I first built a flatfile database of everyone in the Torah, then built software to convert that into the DOT graphing format for processing by the open source tool “graphviz”. I complete a first pass (in Perl) almost a year ago, but it was broken and difficult to maintain before it was done. I completed a second pass (in Java) this month. As annoying as Java is for text processing, I needed type safety and modern data structures. I spent the last several weeks massaging the output to work around weaknesses in Graphviz: it wasn’t designed for this sort of abuse either.
The end result isn’t perfect:
- Relationship boxes still don’t show up correctly with unnecessarily wavy lines and the “offspring” dots sometimes misaligned. You can tell what’s what, but it’s not great.
- Sometimes paths can be confusing. Even a computer can’t perfectly lay out such complex data!
This is a draft. The first draft. It has errors. My next step will be to carefully comb over the data, using the “plain” meaning of the text whenever possible, to make a better version. The Torah presents many challenges in this project such as names that may refer to multiple people (Abimelech), multiple names that refer to only one (Moses’s father-in-law), places where it isn’t clear if a “son” refers to a direct son or a descendant, etc. I will also produce an appendix (interesting to very few) where I will itemize these decisions and describe why I made each one.
I hope you find this tree as interesting as I do. I had great fun putting it together. You can download the draft genealogy of the torah here. (PDF)
(The old PNG image version is available here. Still a 5MB file.)
Legend:
- Black lines are direct descendants
- Red lines are tribal descendants (Canaan -> Caananites & Midianites -> Reuel)
- Blue lines are royal lines of kings / other rulers
- Triangles represent tribes/races/nations
- Round boxes are individuals
- Rectangles define relationships/families
I know the word is overused, but this is truly awesome! I love it. I did a very simple Family Tree in Genesis with just the major players and then began to add detail from I Chronicles. This was in 1979, but I still refer to the hand-drawn chart I did on the back of mainframe computer paper. Although I’ve been in IT my whole career, I certainly never wrote code to do what you’ve done. Nice job!
The links do not work. Do you still have these somewhere? I know this pages was made years ago, but I would still like to see them.
The links on this posting no longer work. Do you still have active links available for the content?
I have corrected the links! I am not sure but they must have broken during some site update or another over the years. Sorry about that.
Great! Thank you for the updated links. Keep up the good work.