最后更新: 2025年2月7日

什么是GEDCOM?
GEDCOM (Genealogical Data Communication)是为存储、交换和共享家谱数据(家族树信息)而设计的一种开放文件格式。它被广泛用于家谱软件和网站,可以更轻松地在不同平台之间传输家族树数据。

谁开发了GEDCOM?
GEDCOM是由耶稣基督后期圣徒教会(LDS Church)创建的,该教会运营着一个主要的家谱研究组织FamilySearch。他们的目标是简化家谱数据管理并允许更好的研究合作。
GEDCOM如何工作?
- GEDCOM文件是纯文本文件(自7.0版本起使用UTF-8编码)。
- 它们包含关于个体的信息,如:
- 姓名
- 出生和死亡日期
- 家庭关系(父母、子女、配偶)
- 事件(婚姻、移民等)
- 这些记录使用元数据进行链接,确保家庭成员之间的正确连接。
GEDCOM版本与行业标准
- 最新的官方版本是GEDCOM 7.0,于2021年发布。
- 然而,GEDCOM 5.5.1(来自1999年,2019年定稿后)仍然是最广泛使用的标准。
- 由于GEDCOM 5.5.1存在局限性,一些家谱软件开发人员创造了自定义扩展如**GEDCOM 5.5 EL(扩展位置)**以改善它。
GEDCOM 7.0的采用
- FamilySearch计划在2022年第三季度支持GEDCOM 7.0。
- Ancestry.com也显示了采用它的兴趣,但尚未提供具体的实施日期。
为什么GEDCOM很重要?
- 跨平台兼容性 – 允许用户在不同的家谱网站和软件之间移动他们的家族树数据。
- 长期数据存储 – 确保家谱数据以标准化格式保持可访问。
- 家谱合作 – 使研究人员和家族历史学家能够高效地分享和合并数据。
GEDCOM数据模型的解释
GEDCOM使用一种谱系链接数据模型来以结构化方式组织家庭关系。它基于核心家庭概念,这意味着它记录关系是以父母和子女的形式,而不仅限于个体。
GEDCOM数据模型的关键组件
INDI(个体)记录
- 谱系文件中的每个人作为一个INDI(个体)记录存储。
- 每个个体都分配有一个唯一的ID号,以确保文件中的正确链接。
FAM(家庭)记录
- 家庭记录(FAM)作为个体之间的链接结构。
- 一个FAM记录分配:
- HUSB(丈夫)– 家庭中的父亲。
- WIFE(妻子)– 家庭中的母亲。
- CHIL(子女)– 夫妇的子女。
- 这些标签是历史性的,基于最初的GEDCOM模型,但至今仍在使用。

GEDCOM中性别表示的演变
- 起初,GEDCOM模型设计是基于异性恋家庭结构,其中男性(HUSB)和女性(WIFE)有子女(CHIL)。
- GEDCOM 7.0规范说明这些术语不暗示性别角色或生物亲子关系。
- 更新的规范允许:
- 同性伴侣
- 收养、寄养和共同生活
- 更灵活的家庭结构
- 当提到FAM记录中的个人时,现在更倾向于使用术语**“伴侣”、“父母”或“配偶”**。

这为何重要?
- 保持结构化关系 – 确保每个人都正确连接到父母、配偶和子女。
- 提高兼容性 – 允许家谱软件有效识别和组织家庭数据。
- 增加包容性 – 支持多样化的家庭结构,而不假定传统性别角色。
GEDCOM文件结构的解释
一个GEDCOM文件由三个主要部分组成:头部、记录和结尾。每个部分在组织家族数据中扮演特定的角色,文件的结构高度组织化,以确保个人和家庭之间的关系清晰且标准化。
1. 头部部分(HEADER Section)
- 头部部分标志着GEDCOM文件的开始,并包括有关文件本身的重要元数据,如其版本(例如,GEDCOM 7.0)以及文件的任何特殊设置或配置。
- 此部分由HEAD记录表示。
2. 记录部分(Records Section)
这是GEDCOM文件的主要部分,由几个不同的记录类型组成,每个记录类型都有特定的用途:
- INDI(个体记录): 代表家谱中的一个个体。
- FAM(家庭记录): 代表一个家庭,连接夫妻和子女。
- SOUR(来源记录): 包含用来支持数据的来源信息,如历史纪录。
- OBJE(对象记录): 代表多媒体对象,如个人或家庭所关联的照片或文档。
- NOTE(注释记录): 包含可以为记录提供额外背景或解释的附加注释。
- REPO(存储库记录): 描述一个存储家谱信息的地方,如图书馆或档案馆。
- SUBM(提交者记录): 代表提交GEDCOM文件的个人或实体。
这些记录每一个都是分层结构的,使用不同的层级编号来表示数据间的关联。例如:
- 层级0 是顶级层,用于最主要的记录,如HEAD、TRLR、INDI、FAM、SOUR等。
- 层级1或更高表示子层级记录,如与特定个人或家庭相关的事件或关系。
3. 结尾部分(Trailer Section)
- 结尾部分标志着GEDCOM文件的结束,包含TRLR记录。它表明文件已结束。

实践中的工作原理
层级数字:GEDCOM文件中的每一行以层级数字开头(例如,0,1,2),其中0表示顶级记录,正整数(1,2等)表示嵌套或从属记录。这种系统确保家族树中的关系和层次结构组织得当。
例如:
- 层级0:HEAD(头部记录)、TRLR(结尾记录)、INDI(个体记录)
- 层级1:MARR(婚姻事件)、BIRT(出生事件)
- 层级2:DATE(事件日期)、PLAC(事件地点)
手写GEDCOM文件在技术上是可行的,但由于其结构化的性质,它对人类不太友好。使用专门设计用于处理GEDCOM文件的软件,例如PhpGedView项目5、Windows GEDCOM验证器6或Gedcheck旧验证工具更为便捷。
验证和质量控制
- 鉴于GEDCOM文件需要良好的结构以便于正确使用和传输,有工具可以验证其错误。
- PhpGedView项目:包括用于检查结构的GEDCOM验证器。
- Windows GEDCOM验证器:独立的GEDCOM验证工具。
- Gedcheck:LDS教会之前使用的旧验证工具。
GEDCOM兼容性的挑战
在2000年代初,GEDCOM TestBook项目评估了不同家谱软件对GEDCOM 5.5标准的符合性。结果揭示了几个问题,例如数据丢失或错误读取的NOTE标记不当处理,可能出现在多个层级。
GEDCOM 7.0旨在解决其中的一些问题,验证工具用于检查这个新的格式中的错误。
文件的结构和功能的重要性
层级数字:GEDCOM文件的每一行以一个层级数字开头(例如,0, 1, 2),其中0表示顶层记录,正整数表示嵌套或从属记录。这确保了家庭树中的关系和层次结构被正确组织和维护。
例如:
- **第0层:**HEAD(头部记录)、TRLR(结尾记录)、INDI(个人记录)
- **第1层:**MARR(婚姻事件)、BIRT(出生事件)
- **第2层:**DATE(事件日期)、PLAC(事件地点)
手写GEDCOM文件在技术上是可能的,但由于其结构化的特性,对人类不太友好。使用专门为处理GEDCOM文件而设计的软件可以帮助正确组织和格式化数据,这会更容易。
验证与质量控制
- 由于GEDCOM文件需要结构良好才能正常使用和传输,因此有工具来对其进行错误验证。
- PhpGedView项目:包括一个用于结构检查的GEDCOM验证器。
- Windows GEDCOM验证器:Windows平台的独立GEDCOM验证工具。
- Gedcheck:LDS教会以前使用的旧验证工具。
使用GEDCOM文件的挑战
2000年代初,GEDCOM TestBook项目评估了不同家谱软件对GEDCOM 5.5标准的合规性。结果揭示了一些问题,如数据丢失或对可能出现在多个层级的NOTE标签的错误读取。
GEDCOM 7.0旨在解决这些问题,并为新版格式设有验证工具。
例子GEDCOM文件
以下是一个简单的GEDCOM文件及其结构解释示例:
0 HEAD
1 SOUR FamilySearch GEDCOM
2 VERS 7.0
2 NAME FamilySearch
1 DEST Ancestry
1 DATE 5 FEB 2025
1 SUBM @SUBM1@
- 0 HEAD: 标志文件的开始并包含有关文件本身的重要元数据,如其版本(例如 GEDCOM 7.0 )和文件的任何特殊设定或配置。
- 1 SOUR: 数据来源(这里为FamilySearch GEDCOM)。
- 1 VERS: 格式的版本(此处为7.0)。
- 2 NAME: 正在使用的来源的名称(这里为FamilySearch)。
- 1 DEST: 指定数据预定去往的目标或系统(例如Ancestry)。
- 1 DATE: GEDCOM文件创建的日期(例如2025年2月5日)。
- 1 SUBM: 指向提交者记录(@SUBM1@),其中会有有关提交此GEDCOM文件的人的更多信息。
3. 记录部分(Records Section)
这是GEDCOM文件的主要部分,由几个不同的记录类型组成,每个记录类型都有特定的用途:
- **INDI(个人记录):**代表家族树中的一个特定个体,包含其个人详细信息。
- FAM(家庭)记录: 代表一个家庭,将丈夫、妻子和子女链接在一起。
- SOUR(来源记录): 包含支持数据来源的信息,如历史文件。
- OBJE(对象记录): 代表与个人或家庭相关的多媒体对象,如照片或文档。
- NOTE(注释记录): 包含能够为记录提供额外背景或解释的附加注释。
- REPO(存储库记录): 描述存储家谱信息的地点,如图书馆或档案馆。
- SUBM(提交者记录): 代表提交GEDCOM文件的人或实体。
这些记录都是结构化的,每一行都由不同的层级数字表示数据是如何相关的。例如:
- Level 0代表最重要的记录,如HEAD、TRLR、INDI、FAM、SOUR等。
- Level 1或更高表示子层级记录,如与特定个人或家庭相关的事件或关系。
5. 第三段单个记录(INDI)
0 INDI @I3@
1 NAME Mary /Doe/
1 SEX F
1 BIRT
2 DATE 10 OCT 1825
2 PLAC New York, USA
- 0 INDI @I3@: 标识Mary Doe的个人记录的开始,并分配唯一ID(@I3@)给她。
- 1 NAME Mary /Doe/: 个体的名字(Mary Doe)。
- 1 SEX F: 个体的性别(女)。
- 1 BIRT: 表示个体的出生事件。
- 2 DATE 10 OCT 1825: 出生日期(1825年10月10日)。
- 2 PLAC New York, USA: 出生地(美国纽约)。
6. 结尾部分(TRLR)
0 TRLR
- 0 TRLR: 标志着GEDCOM文件的结束。
关键记录的解释
- INDI(个人)记录: 这些记录包含有关特定个人的详细信息,如姓名、性别和出生日期。
- FAM(家庭)记录: 这个记录链接个人以形成家庭单位。它使用唯一ID链接父母(HUSB和WIFE)以及子女(CHIL)。
- 关于ID的说明: 每个记录(个人或家庭)都会分配一个唯一的ID(例如John Doe的
@I1@
)。这些ID用于链接相关的记录,例如链接子女到其父母。
关键概念
- 层级数字: GEDCOM文件使用层级数字组织数据为层次结构。Level 0适用于顶行记录(如INDI, FAM),而Level 1和2用于更低级别的细节(如事件和地点)。
- 用斜杠括起来的名字: GEDCOM中的名字通常用斜杠括起来,例如John /Doe/,这样可以将姓氏与名字区分开来。

结论
GEDCOM在家谱领域一直是一个基石,使得在不同软件平台之间交换家谱数据成为可能。其标准化格式使研究人员、历史学家和业余爱好者能够高效地分享和保存家族历史数据。然而,尽管GEDCOM被广泛采用,但它并非没有局限性。例如,不同软件之间的兼容性问题、无法表示复杂的关系以及对现代数据类型支持不足等问题突显了需要不断改进或开发新格式的必要性。
随着家谱学在技术进步中不断发展,GEDCOM的未来可能包括对标准的更新或开发能够更好地适应现代家谱研究复杂性的新格式。对于任何使用家族树的人来说,GEDCOM仍然是一个必不可少的工具,了解其结构和功能对于在家谱社区中进行有效的数据管理和共享至关重要。