GEDCOM (GEnealogical Data COMmunication) is a de facto standard for exchanging genealogical data between different genealogy software. It was developed by The Church of Jesus Christ of Latter-day Saints (LDS).
A GEDCOM file is plain text containing genealogical information about entities – Individual, Family, Media, Note, Source, Submitter or Repository – and their properties and relationships. It can be read by any text processor. The file starts with a header and ends with a trailer and contains records each of them describing one of the above mentioned entities. The properties of the entities are described within the record in so called tags.
Most genealogy software supports import and export of GEDCOM files. But only very few can handle all GEDCOM elements completely. Some programs unfortunately use proprietary extensions to the GEDCOM format, which are normally not recognized by other programs.
GenealogyJ conforms strictly to the standard and is able to handle every GEDCOM tag. Thus it allows to exchange data with almost every other genealogy program. It supports convenient input and maintenance of your data: entering all applicable properties and sub-properties as well as easy construction of relationships like adding a child to a parent or a spouse to an individual. It ensures the conformity of these data to the standard and the consistency and integrity of the relationships.
As a user you normally don't need to know the GEDCOM standard. But in special cases you might need it. At least it helps to understand why the things in GenJ work the way they do.
Generally all GEDCOM information is hierarchically structured. A record (Individual, Family, Media, Note, Source, Submitter or Repository) is comprised of a tree of properties without an inherent limit on depth or number of nodes. There's a set of well-defined properties (like Date, Name, Sex, etc.) for each record, each capturing values understood by all applications supporting the standard.
The GEDCOM file is a simple text file with one line per property. There's no notion of closing and ending Tags (as is in XML) - lines have different marked levels instead. The level is specified by a number - then follows a tag identifying the property. Here is an example of a record for an individual (different levels are textually indented for readability only):
0 INDI @I001@ 1 NAME Nils /Meier/ 1 SEX M 1 BIRT 2 DATE 25 May 1970 2 PLAC Rendsburg, Germany 1 GRAD 2 DATE 10 Dec 1996 2 PLAC Friedrich Wilhelm University Bonn 2 TYPE Diplom Informatiker 1 RESI 2 DATE FROM Jul 1999 TO DEC 2000 2 ADDR 202-1241 Kilborn Place 3 CONT Ontario, Canada 3 CITY Ottawa 3 POST K1H1A5 1 NOTE @N003@
The power of GenealogyJ is that it allows this nested information to be edited in its hierarchical form. All defined properties are treated in a way that offers specific input for editing - no need to look at the GEDCOM file text. Since GenJ knows about properties which reference entities, it handles the referential integrity and allows for easy construction of relationships (like adding a child to a parent or adding a spouse to an individual). GenJ knows about the GEDCOM standard and will suggest sub-properties to add to properties if desired.
Currently GenJ supports two GEDCOM versions: 5.5 and 5.5.1 . If you want to learn more about GEDCOM please feel encouraged to browse the specification - it's an ongoing effort to align GenJ as closely as possible with this standard.
GEDCOM 5.5.1 is an unofficial version which has been widely accepted by various genealogical software solutions. There are some subtleties that are improved in 5.5.1.
To switch between these two versions of GEDCOM one has to open the .ged file with a text-editor and change a line as shown below
0 HEAD 0 HEAD ... ... 1 GEDC 1 GEDC 2 VERS 5.5 2 VERS 5.5.1 2 FORM Lineage-Linked 2 FORM Lineage-Linked ... ...
An important difference between 5.5 and 5.5.1 is how multimedia records are handled - the best practice is to:
- (GEDCOM 5.5) use 'Add property' → 'Multimedia' to add an OBJE to a property - this allows for a link to an external file via FILE - using OBJE records is not recommended since the spec allows for a BLOB only which means a text-encoded binary blob cluttering the gedcom file itself!
0 INDI @I001@ 1 BIRT 2 OBJE 3 FILE (recommended) 2 OBJE @O001 0 OBJE @O001@ 1 BLOB (not recommended)
- (GEDCOM 5.5.1) use OBJE property as above or 'Add Multimedia' to create an OBJE record - here it also allows to link to an external file via FILE
0 INDI @I001@ 1 BIRT 2 OBJE 3 FILE (possible) 2 OBJE @O001@ ... 0 OBJE @O001@ 1 FILE (possible as well)
For more overview information on GEDCOM see also
Proceed to Data Exchange Problems for GEDCOM files