目录文档-技术白皮书16-EFT.WP.Methods.Cleaning v1.0

第9章 去重、关联与参照完整性


一句话目标:对 SRef 标准数据执行去重、实体关联与参照完整性校核,输出无重复、无孤儿、可追溯且可审计的 D_link 与 manifest.relation。


I. 范围与对象

  1. 处理对象
    • 输入:经第3–8章处理后的数据集 D_clean.pre_link,包含键与索引字段 pk, rid, uid, sid, tid, pid, idx_k,以及业务键 k_biz、外键集合 FK = {fk_i}。
    • 时间与路径:ts, tau_mono, ell;质量与不确定度:q_score, u(x);到达时口径:T_arr, delta_form。
  2. 目标产物
    输出:D_link = D_clean.pre_link ⊕ {equiv_map, fk_repair, assoc},同时产出 report_link 与 manifest.relation(含策略、阈值、影响面)。

II. 名词与变量(记忆锚点)

  1. 记录与键
    • 主键:pk;业务键:k_biz;候选键:K_cand = {k_1,...,k_m};外键:fk : child → parent.pk。
    • 阻塞键:b(x)(构造候选对的 blocking 规则)。
  2. 等价与代表
    • 相似度:sim(x_i, x_j) ∈ [0,1];阈值:tau_sim ∈ (0,1]。
    • 等价关系:E = {x | x ≡ x*},代表元:rep(E);合并算子:merge(E, policy)。
    • 等价映射:equiv_map : pk_old → pk_new = rep(E).pk。
  3. 关联与参照
    • 关联表:assoc(A,B)(多对多桥表)主键 pk_assoc = hash_sha256( A.pk || B.pk || role )。
    • 孤儿:orphan(child) = 1_{ ¬∃ parent : child.fk = parent.pk }。

III. 公设(P109-*)


IV. 最小方程(S109-*)

  1. S109-01 候选对生成(阻塞)
    pair_cand = { (i,j) | b(x_i) = b(x_j) ∧ |tau_mono_i - tau_mono_j| ≤ Delta_t }
  2. S109-02 加权相似度
    sim_w(i,j) = ( sum_f w_f * s_f(i,j) ) / ( sum_f w_f )
    其中:
    • 字符字段:s_str = Jaccard( tokens(i), tokens(j) ) 或 s_str = 1 - Hamming / len
    • 数值字段:s_num = max( 0 , 1 - |x_i - x_j| / tol_f )
    • 分类字段:s_cat = 1_{x_i = x_j}
  3. S109-03 重复判定
    dup(i,j) = ( sim_w(i,j) ≥ tau_sim ) ∧ key_compat(i,j)
    key_compat 要求在 K_cand 上不冲突(如同源 sid、同角色 role)。
  4. S109-04 等价类与代表
    使用连通分量得到 E_k;代表选择:
    rep(E_k) = argmax_{x ∈ E_k} ( q_score(x) , -u(x) , recency(ts) )(词典序)。
  5. S109-05 字段合并策略
    • 数值:merge_num = mean_w( {x_t}, w_t = 1 / u(x_t)^2 ) 或 median(稳健)。
    • 文本:merge_str = longest_nonempty 或 tfidf_merge。
    • 时间:ts_min = min(ts_t);ts_max = max(ts_t);发布 ts = ts_max。
    • 质量:q_score' = max( q_score_t ) * penalty(conflict)。
  6. S109-06 外键重映射
    fk_new(child) = equiv_map( fk_old(child) )(若 fk_old 被合并)。
    参照断言:∀ child, ∃ parent : fk_new(child) = parent.pk.
  7. S109-07 孤儿检测
    orphan_rate = mean( 1_{ orphan(child)=true } );orphan = ( fk_new ∉ Parent.pk )。
  8. S109-08 桥表去重
    dup_assoc = 1_{ set( A.pk , B.pk , role ) 已出现 };保留最早 tau_mono 或最高 q_score 的条目。

V. 清洗流程(M10-9 去重、关联与参照完整性)


VI. 契约与断言


VII. 实现绑定(I10-9)

  1. 接口原型
    • deduplicate(ds, keys, semantics) -> ds', equiv_map, report
    • resolve_conflicts(ds, equiv_map, policy) -> ds''
    • rekey_children(ds_child, equiv_map, fk) -> ds_child'
    • assert_fk(ds_parent, ds_child, fk) -> report_fk
    • drop_orphan(ds_child, fk, policy) -> ds_child', orphan_report
    • dedup_assoc(assoc, rule) -> assoc'
  2. 前置条件
    第3章完成模式绑定;第4章量纲一致;第5章时基对齐;第7–8章完成缺失显式与异常标注。
  3. 不变量与后置
    不改变 pk 的类型与语义;equiv_map 与 fk_repair 可重放;子表 ts/ell 单调性保持。
  4. 失败语义
    E_FK_CYCLE(外键回写导致环)、E_UNIQUE_BREACH、E_POLICY_CONFLICT、E_PLACEHOLDER_FORBIDDEN。

VIII. 交叉引用


IX. 质量度量与风控

  1. 指标
    • dup_rate = 1 - |unique(pk_before)| / |pk_before|
    • biz_dup_rate = violation_rate(k_biz)
    • orphan_rate,fk_repair_share
    • mapping_entropy(等价类大小分布)
    • record_churn = |changed_rows| / |rows|
    • P99(rekey_latency) 与 idempotency_fail_rate
  2. 告警护栏
    • dup_rate > tol_dup → 收紧 tau_sim 或增强 b(x);
    • orphan_rate > 0 → 触发 assert_fk 阶梯告警与回退;
    • record_churn > tol_churn → 政策审计与人工复核。

X. 边界与特例


XI. 审计与面板字段


小结
本章给出去重、关联与参照完整性的统一框架:以阻塞与相似度形成等价类,按质量与不确定度选择代表并执行可复现的合并;随后对外键进行确定性重映射与孤儿处置;最后以契约断言与面板指标保障唯一性、参照完备与可审计可回放,为第10章发布冻结提供合规输入。


版权与许可(CC BY 4.0)

版权声明:除另有说明外,《能量丝理论》(含文本、图表、插图、符号与公式)的著作权由作者(“屠广林”先生)享有。
许可方式:本作品采用 Creative Commons 署名 4.0 国际许可协议(CC BY 4.0)进行许可;在注明作者与来源的前提下,允许为商业或非商业目的进行复制、转载、节选、改编与再分发。
署名格式(建议):作者:“屠广林”;作品:《能量丝理论》;来源:energyfilament.org;许可证:CC BY 4.0。

首次发布: 2025-11-11|当前版本:v5.1
协议链接:https://creativecommons.org/licenses/by/4.0/