Neatbo.

GEDCOM引用与祖先关系审查

检查UTF-8 GEDCOM 5.5.1家族/个人引用、互反关系及声明祖先SCC,保留原行号和亲缘分类。

浏览器本地处理输入GEDCOM 5.5.1 UTF-8输出引用报告JSON / CSV / HTML单个文件最多 5 MiB · 最多 1 个
  1. 1添加输入
  2. 2调整设置
  3. 3获取结果

工具输入和文件在当前浏览器处理,不会上传。

输入内容

切换工具时在当前标签页临时保留输入。刷新或关闭后清除,较大的结果可能需要重新生成。

⌘ / Ctrl + Enter 运行

或将文件拖到这里

文件留在当前设备,原始文件不会被覆盖。

.ged · .gedcom · .txt

单个文件最多 5 MiB · 最多 1 个

    0 个字符 · 0 字节
    处理选项

    先填写标记为必填的选项,其余可保留默认值。

    正在准备处理工具…

    开始之前

    导入家谱前,定位悬空或单向家庭引用以及声明的祖先循环。保留原始导出和证据,不新增亲属或推断生物关系。

    如何使用

    1. 打开UTF-8 GEDCOM 5.5.1导出,或粘贴完整源码。
    2. 检查带行号的目标、互反问题、亲缘声明和祖先SCC成员。
    3. 下载original.ged及完整报告,回到来源系统核实事实后再修正。

    支持范围与限制

    一个UTF-8文件或粘贴内容最多5 MiB、50,000个物理行、10,000个顶层记录(含HEAD/TRLR)、64层层级;声明关系与派生祖先边合计最多50,000条。选择文件优先。完整下载合计最多10 MiB,超限整体拒绝;预览前200行。

    HEAD/GEDC/VERS必须明确为5.5.1,HEAD/CHAR为UTF-8。original.ged保留原始BOM和CRLF/LF/CR换行。GEDCOM 7、ANSEL、UTF-16、层级跳跃、重复xref、空物理行或非法指针均拒绝;未知标签保留在源码节点JSON和原字节中。

    检查INDI的FAMC/FAMS与FAM的CHIL/HUSB/WIFE目标类型;报告悬空、错误类型、重复引用和缺少互反的原行号。CONT/CONC文本会正确续接,同时保留原层级及value字段;指针续行和嵌套CONT/CONC拒绝,不猜测。

    祖先SCC仅使用声明的父母到孩子边。保留birth/adopted/foster/sealing/unknown/multiple分类及原PEDI值/行号,这些声明不证明生物事实;夫妻无向环不视为祖先循环。完整报告包括每条引用、问题和SCC成员,不穷举所有简单环。不编辑记录、推断关系、导入或写数据库。

    超过4096个UTF-8字节的值使用value:null、external-original-value状态和original.ged的精确字节位置。多行逻辑值提供按concat连接的有序字节/文本片段,保留CONT换行与CONC拼接;此类null表示值存在于原件中,不表示缺失。

    报告超过20,000字符时,结果文本与复制动作使用紧凑预览。完整report.json、CSV和HTML请下载。 表格长单元格超过2000字符时仅显示前2000加省略号;完整下载不截断。

    操作示例

    示例输入

    0 HEAD
    1 GEDC
    2 VERS 5.5.1
    2 FORM LINEAGE-LINKED
    1 CHAR UTF-8
    0 @I1@ INDI
    1 NAME Parent /Example/
    1 FAMS @F1@
    0 @I2@ INDI
    1 NAME Child /Example/
    1 FAMC @F1@
    2 PEDI adopted
    0 @F1@ FAM
    1 HUSB @I1@
    1 CHIL @I2@
    1 CHIL @MISSING@
    0 TRLR
    
    示例参数
    {"secondary":"","params":{"spreadsheetSafe":true}}

    示例输出

    {"format":"GEDCOM 5.5.1 UTF-8","summary":{"individuals":2,"families":1,"records":5,"physicalLines":17,"relations":5,"ancestryEdges":1,"issues":1,"dangling":1,"wrongTargetTypes":0,"missingReciprocals":0,"ancestorSCCs":0},"records":[{"index":0,"xref":null,"tag":"HEAD","line":1,"names":[]},{"index":5,"xref":"@I1@","tag":"INDI","line":6,"names":["Parent /Example/"]},{"index":8,"xref":"@I2@","tag":"INDI","line":9,"names":["Child /Example/"]},{"index":12,"xref":"@F1@","tag":"FAM","line":13,"names":[]},{"index":16,"xref":null,"tag":"TRLR","line":17,"names":[]}],"nodes":[{"index":0,"line":1,"level":0,"parent":null,"xref":null,"tag":"HEAD","value":"","ending":"\n","children":[1,4]},{"index":1,"line":2,"level":1,"parent":0,"xref":null,"tag":"GEDC","value":"","ending":"\n","children":[2,3]},{"index":2,"line":3,"level":2,"parent":1,"xref":null,"tag":"VERS","value":"5.5.1","ending":"\n","children":[]},{"index":3,"line":4,"level":2,"parent":1,"xref":null,"tag":"FORM","value":"LINEAGE-LINKED","ending":"\n","children":[]},{"index":4,"line":5,"level":1,"parent":0,"xref":null,"tag":"CHAR","value":"UTF-8","ending":"\n","children":[]},{"index":5,"line":6,"level":0,"parent":null,"xref":"@I1@","tag":"INDI","value":"","ending":"\n","children":[6,7]},{"index":6,"line":7,"level":1,"parent":5,"xref":null,"tag":"NAME","value":"Parent /Example/","ending":"\n","children":[]},{"index":7,"line":8,"level":1,"parent":5,"xref":null,"tag":"FAMS","value":"@F1@","ending":"\n","children":[]},{"index":8,"line":9,"level":0,"parent":null,"xref":"@I2@","tag":"INDI","value":"","ending":"\n","children":[9,10]},{"index":9,"line":10,"level":1,"parent":8,"xref":null,"tag":"NAME","value":"Child /Example/","ending":"\n","children":[]},{"index":10,"line":11,"level":1,"parent":8,"xref":null,"tag":"FAMC","value":"@F1@","ending":"\n","children":[11]},{"index":11,"line":12,"level":2,"parent":10,"xref":null,"tag":"PEDI","value":"adopted","ending":"\n","children":[]},{"index":12,"line":13,"level":0,"parent":null,"xref":"@F1@","tag":"FAM","value":"","ending":"\n","children":[13,14,15]},{"index":13,"line":14,"level":1,"parent":12,"xref":null,"tag":"HUSB","value":"@I1@","ending":"\n","children":[]},{"index":14,"line":15,"level":1,"parent":12,"xref":null,"tag":"CHIL","value":"@I2@","ending":"\n","children":[]},{"index":15,"line":16,"level":1,"parent":12,"xref":null,"tag":"CHIL","value":"@MISSING@","ending":"\n","children":[]},{"index":16,"line":17,"level":0,"parent":null,"xref":null,"tag":"TRLR","value":"","ending":"\n","children":[]}],"continuedText":[],"relations":[{"from":"@I1@","tag":"FAMS","to":"@F1@","line":8,"status":"resolved","reciprocal":true,"pedigree":[]},{"from":"@I2@","tag":"FAMC","to":"@F1@","line":11,"status":"resolved","reciprocal":true,"pedigree":["adopted"]},{"from":"@F1@","tag":"HUSB","to":"@I1@","line":14,"status":"resolved","reciprocal":true,"pedigree":[]},{"from":"@F1@","tag":"CHIL","to":"@I2@","line":15,"status":"resolved","reciprocal":true,"pedigree":[]},{"from":"@F1@","tag":"CHIL","to":"@MISSING@","line":16,"status":"dangling","reciprocal":null,"pedigree":[]}],"ancestry":[{"parent":"@I1@","child":"@I2@","family":"@F1@","parentLine":14,"childLine":15,"pedigree":["adopted"],"pedigreeClass":"adopted","pedigreeLines":[12]}],"issues":[{"kind":"dangling","from":"@F1@","to":"@MISSING@","line":16,"detail":"Expected INDI"}],"ancestorSCCs":[]}

    出现问题时

    从来源系统导出明确声明UTF-8的GEDCOM 5.5.1,修复层级跳跃、重复xref和指针语法。核实单向关系,不自动捏造互反引用。完整下载超过10 MiB时减少输入;修正后重跑。

    常见问题

    缺少反向家庭引用时会自动补齐吗?

    不会。报告保留每条单向声明及行号,必须在来源系统检查是否为导出遗漏以及实际关系事实。

    收养边也进入祖先图吗?

    会,作为声明的父母到孩子边,同时保留adopted亲缘类型;不宣称遗传祖先关系。

    未知标签和多行姓名会丢失吗?

    原节点和原件字节保留。较短CONT/CONC文本直接保留;长文本使用明确的原件字节位置或有序片段引用,从original.ged重建。

    文档与延伸阅读

    相关工具