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.