A Robust Open-source GEDCOM Parser presented by Dallan Quass and Ryan Knight at RootsTech 2012
Parses GEDCOM files into a "de facto" object model; includes round-tripping for the vast majority of GEDCOM files.
1. A Robust Open-source GEDCOM Parser Dallan Quass [email_address] Ryan Knight [email_address]
2. What's a GEDCOM? 0 HEAD 1 SOUR PAF 2 NAME Personal Ancestral File 2 VERS 5.2.18.0 2 CORP The Church of Jesus Christ of Latter-day Saints 3 ADDR 50 East North Temple Street 4 CONT Salt Lake City, UT 84150 4 CONT USA 1 DEST Other 1 DATE 9 Aug 2006 2 TIME 19:57:47 1 FILE temp-paf.ged 1 GEDC 2 VERS 5.5 2 FORM LINEAGE-LINKED 1 CHAR UTF-8 1 LANG English 1 SUBM @SUB1@ 0 @SUB1@ SUBM 1 NAME Dallan Quass 0 @I1@ INDI 1 NAME Dallan /Quass/ 2 SURN Quass 2 GIVN Dallan If this looks unfamiliar to you, you may not get a lot out of this talk On the other hand, the purpose of this project is to handle this for you, so you can develop cool projects in genealogy and let this be unfamiliar to you!
4. Challenge #1 – Character set detection 0 HEAD 1 SOUR PAF 2 NAME Personal Ancestral File 2 VERS 5.2.18.0 2 CORP The Church of Jesus Christ of Latter-day Saints 3 ADDR 50 East North Temple Street 4 CONT Salt Lake City, UT 84150 4 CONT USA 1 DEST Other 1 DATE 9 Aug 2006 2 TIME 19:57:47 1 FILE temp-paf.ged 1 GEDC 2 VERS 5.5 2 FORM LINEAGE-LINKED 1 CHAR UTF-8 1 LANG English 1 SUBM @SUB1@ 0 @SUB1@ SUBM 1 NAME Dallan Quass 0 @I1@ INDI 1 NAME Dallan /Quass/ 2 SURN Quass 2 GIVN Dallan Should be easy, except...
12. DATA 2 SOUR @S2149874917@ 3 DATA 4 DATE 11 Sep 1924 3 NOTE ... 3 DATA 4 TEXT ... 2 SOUR @S99@ 3 DATA 4 TEXT William Donald ... 4 DATE 1 Sep 1997 2 SOUR @S28@ 3 PAGE Indian Prarie... 3 QUAY 3 3 DATE 28 Feb 2005
17. Goal #1 – Parse GEDCOMs into a de facto object model De Facto: In fact or in practice; in actual use or existence, regardless of official or legal status. – Wictionary.org Model should be straightforward, easy to use and understand
18. Goal #2 – Round-trip From GEDCOM To Object Model Back to GEDCOM without information loss
31. Do we need a radically-different data-exchange model for genealogy?
32. I don't know A new proposed object model could use this project to migrate existing GEDCOMs to the de facto model, then translate the de facto model objects to the new model