Tag Archives: geneaology

Genealogy for Everyone in the Torah – Draft

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.)


  • 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

Genealogy – Exodus Complete!

I’ve just completed adding Exodus to my geneology chart of every named character in the bible. Compared to Genesis, this was easy: only about 46 named characters (some of them aren’t really named, like Pharaoh, but I include them anyway), far far fewer than there are in Genesis. That makes sense: I found 27 generations of names in Genesis, but only 5 in Exodus. I expect to find even fewer in Leviticus.

The image, and more notes, after the break.

Continue reading Genealogy – Exodus Complete!