Proof Of Concept using graph technology ("RelationGraph" Quick View addon)

I have make a proff of concept of using graph technology here

i use python-igraph to create a graph from my database with only the child parent relation.

I make a quick view to create a graph of all relationship beetween active person and home person.
I m not quite sure of my algorithm .
Here is it.
home person is G1
active person is G2
ancG1 contains ancestor of G1
ancG2 contains ancestor of G2
inter is the intersection of ancG1 and ancG2 then it contains all the common ancestors
then i want to look for the mrca
It s the point i m not sure of
the common ancestor is a mrca if it has one child that is only ancestor of g1 and one child that is only child of G2
when i have found all mrca i compute all the path from
G1 to mrca
G2 to mrca
and i put all individuals of these paths to the result.
And i create a graph with the result.

Here is an example of my relation with Barack Obama

PERSON TIME 11.086868801969104
FAMILY TIME 14.407933686976321
liste des MRCA
Eléonore de Provence
Mahaut de Brabant
Henri d’ Angleterre, III
Robert d’ Artois
FIN TIME 14.536961091973353

Then 11 second to add all 280K person
3 second to add parent child relation
ans 0.13 second to compute relationship.
And i got the same result as geneanet.

using graph technology for finding relation seem really promising.

5 Likes

That should be

and one child that is only ancestor of G2.

A bit more precise: at least one child that is an ancestor of G2, but not an ancestor of G1

you re totally right
fortunately it s what i have implemented so far :slight_smile:

And G1 has to be a member of ancG1, G2 has to be a member of ancG2. Test it if G1 and G2 are siblings.

I use network graphs for a lot of my research, not only genealogy. I’ve been doing this for the past two decades, more or less. It’s extremely useful for identifying relationships and connections in large datasets, especially when provided in CSV or other tabular formats.

I’ve found hidden relatives multiple times using network graphs — it’s far easier to spot connections visually than by scanning through tables. For example, I’ve twice discovered a relative who emigrated from Europe to the USA by manually entering data from various ship manifests, passenger lists, and census records. By linking ports, ships, and time periods — and filtering out individuals with similar names and birth years — the graph revealed connections that would’ve been hard to spot otherwise.

I also uncovered a close relative of a family by cross-referencing two different census records. These showed that the wife in the household had a sister with a son, and that son was living with the family — but only listed as a tenant. That insight led me to several other family members I likely wouldn’t have found using more traditional genealogical methods.

Now, with AI, I can start generating Python code to convert dataset formats directly, instead of relying on Excel for manual conversion and graph preparation. And with the help of LLMs, it’s even possible to identify individuals with common misspellings in their names. Not everything about AI is bad — you can also combine historical genealogical data with DNA or other types of datasets to uncover even more unexpected connections.

So yes, a network graph is a truly powerful tool.
I believe the only real limitation to how such a tool can be used in research is your imagination — just like I discovered I could use Obsidian and its graph view for exactly this kind of research.

Great to see others exploring this type of tool and recognizing the benefits of using it.…

Here is a small fragment of my research, focusing on connections from newspapers to ships, to crew members, to places (such as ports), and finally to one of my family members:

1 Like