Graphs for genealogy and history research

15 years ago I retired from IT. I currently teach mathematics. More importantly, I am interested in applying graph database technology to a project on which I am a volunteer, slave deeds.

A team of volunteers and paid professionals have been working for the last two years to identify information found in slave deeds. Thousands of records of information have been found. These records are of value to historians and to genealogists. Identifying people who were never identified by name in census records is valuable information. More valuable is information associated with their relationships, family relationships and relationships spawned by their condition.

After watching YouTube videos on Neo4j, I thought this was a technology that would provide the right way to access this information. It would provide a capability that a relational DB could not provide. I recommended that the technology team look into using Neo4j.

Due to budget and personnel constraints, this cannot happen in the near term. So, as a volunteer who was never a database person, I am applying my dinosaur skills to the task. I am going through the Neo4j training material. I have some sample data and hope to build a model to share with the team.

I also see potential is using Neo4j with DNA results. I have used Wolfram Mathematica for this type of analysis. I think Neo4j may provide an easier means of examining DNA relationships.


1 Like

Please read the basic data modelling techniques and if you are interested learn APOC procedures/functions, ETL batch loading tools of your choice.

Fred --
Using Neo4j for modeling and sharing information about slave deeds sounds great. I'd love to hear more about your progress. (Looks like the project you're referring to is University of North Carolina Digital Libraries: People Not Property. I'd love to help with that. I have deep roots in NC.)
I've only dabbled in Neo4j. I'm a software engineer that volunteers on a few projects. My background is heavy OO (Smalltalk is where I started), with a little work in early OODBMs (GemStone).
I'd be interested in learning along with you. It's always easiest to make progress with a tangible, real-world project. Let me know if you're interested.
Meanwhile, I'll look forward to any updates you post here.


  • Ashley

The great things about Neo4J:

  1. It's very easy to create many-to-many relationships. E.g. a person might be enslaved by several different slaveholders and the slaveholder might in turn enslave a number of different people. An enslaved person might live at a number of different plantations.

  2. You can evolve the Graph DB over time as you better understand the data and the different data sources. This doesn't require you to migrate your schema.

  3. You don't have to be sophisticated to understand or use Neo4J (compared to other Graph DB's)

Good luck on your important and interesting work.

You correctly identified the project I am allied with. You will see my name associated with the advisory team for that project. My personal target is to have something by June. This is only because my teaching activity minimizes my time to work on the graph project.