Family Trees
I maintain a family tree in the GEDCOM format. Typically most folks will use genealogy software to edit their GEDCOM but I've gotten used to editing it by hand. The specification isn't easy to read or understand, so I learned what I know by using the Free and Open Source Gramps software: I'll make a small change and then export to GEDCOM. To double check my work, I typically use this nifty website to view the tree: Topola Genealogy Viewer.
So what is GEDCOM? It's a plaintext file format for storing the names of family members, their relationships to their spouse and children, their birth and death dates, links to websites, images, notes, and so on. It was created quite a while ago and most genealogy software supports it.
When I first started getting into genealogy I got very confused very quickly. Multiple people would have the same name, and married women generally have two names. Keeping track of this is possible with GEDCOM because each individual is given a unique ID.
Sample Individual in GEDCOM
Here's a sample individual in GEDCOM:
0 @uniqueid123@ INDI 1 NAME Firstname /Lastname/ 2 GIVN Firstname 2 SURN Lastname 1 SEX M 1 NOTE @Nuniqueid123@ 1 WWW https://nonattachment.net/ 1 BIRT 2 DATE 3 JAN 1948 2 PLAC New York, NY 1 DEAT 2 DATE 12 APR 2001 2 PLAC New York, NY 1 FAMS @uniqueid123spouseid456@ 1 FAMC @parentsid789@ 2 PEDI birth 1 CHAN 2 DATE 13 MAY 2022 3 TIME 22:39:11
The first thing that is weird is that the name is repeated in two different formats. Not sure why that was decided. The other weird thing is the dates use a non-standard format.
Anyway the first line is the individual's unique ID. The next 3 are for the person's name (more names such as nicknames can be added). The next line is the person's sex, which is obvious. For this individual I have an optional note and website. And then there are birth (BIRT) and death (DEAT) dates and places. The next part is very common: FAMS indicates which family this individual is a spousal member of (i.e. either husband or wife). FAMC indicates which family this individual is a child of. PEDI stands for pedigree and here we're saying they are a child by birth. And finally there is a date and time of when this record was last changed.
Sample Family in GEDCOM
In GEDCOM there are two main types of records: the individuals and the families. Here's a sample family record:
0 @uniquefamilyid123@ FAM 1 MARR 2 DATE 4 JUN 2006 1 HUSB @uniqueidofhusband456@ 1 WIFE @uniqueidofwife789@ 1 CHIL @uniqueidofchild147@ 1 CHAN 2 DATE 13 MAY 2022 3 TIME 22:17:49
Again the first line is a unique id for the family. The next two lines indicate this was a marraige and gives the date they were married (this is optional). The HUSB line is for the husband and similarly the WIFE line is for the wife. Both HUSB and WIFE are optional in case you have incomplete data. The next line (CHIL) is for children and can be repeated. And again the last few lines indicate when this record was last changed.
Conclusion
I'm editing the GEDCOM by hand and it's admittedly a pain in the neck. However I have my reasons:
- I'm a software engineer used to using tools like git version control. I also use GitLab to host my family tree in a private repository.
- I need access to the GEDCOM for my personal family tree project which I'll explain in a future blog post.
- I can always import the GEDCOM file in a site like ancestry.com or to Gramps or to any other genealogy software.
My family tree now has over 400 people in it, and I know it's missing at least 100 more. Stay tuned for my next post on how I use this GEDCOM file to create a family tree ebook using Python, Prolog, and Pandoc.