The final structure will be a bunch of families containing persons.

Those persons, in their properties, will contain children and parents. As those two fields are opposite, filling one will fill the other. Ex: A.parents <- B => B.children <- A automatically.

We now need to figure out how two reference an other person than the one matched and how to put them all under the same family.