Friday, April 1, 2016

Handling BC Dates in a Family Tree Viewer

I came across a reddit thread where someone mentioned that there was a lot of inbreeding in Cleopatra's family tree. I had never known that, and after learning some more I decided that this would be a nice sample to include with the Family Tree visualization, available at https://learnforeverlearn.com/ancestors.

Here, by "Cleopatra" I mean Cleopatra VII. During the Ptolemaic dynasty, it was common that the queens were named Cleopatra and the kings were "Ptolemy". It was also common for brothers and sisters to marry each other.

All of the dates for her family tree are BC, and I needed to update the tree viewer to handle this.

Currently, the updated viewer can handle the birth or death years in BC in a variety of ways:

200 BC

200 B.C

200 BC.

200 B.C.

200 BCE

Internally, the BC years are simply stored as negative numbers, and "BC" is shown when the years are displayed.

Note that Ancestry.com will let you enter dates with a "BC" appended, and you can then export the tree in gedcom format and load it into the viewer.

Multiple Simultaneous Relationships

The tree viewer can calculate the numerous ways that one person is related to another. Cleopatra's tree stretches this feature to an extreme.

These "multiple simultaneous relationships" can viewed by looking at the descendant tree of her great-great-great-great grandmother Cleopatra I, and then setting Cleopatra VII to be the "Relationship Relative" to which any other person is compared when moving your mouse over their node.