Re: [Gramps-devel] consider alternate data base record layout for person

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view

Re: [Gramps-devel] consider alternate data base record layout for person

GRAMPS - User mailing list

On 05/12/2019 13:56, Joe Daugherty wrote:


            would be 1 number bigger than the generation of the parents, if the parents were not in the same generation then the children are 1 number higher than the larger number. 

I was doing some genealogy on the bible so Adam could be generation 1.  That was 5780 years ago or about 3000 generations, so starting with a present generation of 3000 (or somewhere between 2000 and 5000)

We derive generation numbering relative to the centre person specified in a report.  This can obviously change for each report.

It would be possible to store a generation number relative to the home person in the database.  The values would have to be recalculated if the home person was changed.  We would also have to define what generation to assign children born to parents of different generations, and to unrelated people in the tree.

This has been discussed briefly before.


            if a child is adopted he has birth parents and adopted parents so he has 2 families.   The alternate_self would be the id for the person in the adopted family with alternate parent and older siblings.  More commonly a person can have additional people that they have children with, which can overlap so this would hold the additional “spouse” and last child which would make generation of each of the family sheets rapid.  Alternate_self  could link in a circle.  Last child would make finding the other children by going up the older sib line easy. 


We actually store a list of parent families in the person object.  Each family contains a list of child references which define the relationship between the child and its mother and father.  By default the relationship can be either None, Birth, Adopted, Stepchild, Sponsored, Foster or Unknown.  Custom relationships can also be defined.

Could you point me to the blob documentation.

There is a data model here:

It needs updating for v5.1, but the only change is the addition of time-dependent place names.  Everything else should be accurate.

You can also look at the serialize method in the object source code.  For example, for the person object:

There is also a JSON schema in the source code.  We are considering storing the objects as JSON in the future rather than pickled blobs.

We also have online documentation:

Let us know if you need any more information.



Gramps-users mailing list
[hidden email]