Skip to content

Schema、Value 与 Join Linking

状态:规划中的业务模块。关联任务:V2-S01、V2-S04、V2-S05;查看实施计划。真实函数和测试路径由阶段开发完成后补入。

业务问题

召回一张相关表不代表理解了问题。系统还要把“苹果手机”绑定到正确的字段和值,并找到不会放大结果的关系路径。

输入、输出与上下游

  • 输入:QueryIntent、授权候选、业务词典、版本化关系图。
  • 输出:LinkedSchema:概念→字段/指标、类型化值、路径、基数风险与未解歧义。
text
Retrieval → SchemaLinker → ValueLinker → JoinGraph → Semantic/Planner

核心机制

Schema Linking 回答概念对应哪个物理字段或语义 ID;Value Linking 回答用户值对应数据库哪个真实值。两者不能混为“找到了相关文档”。

Join Graph 先保证可达,再检查路径业务含义、方向、基数和历史维度。最短路径仅是候选,路径包含多对多桥表或多个事实时,还需声明预聚合或拒绝不明确的分析。

失败与边界

“苹果”可能是品牌或水果:结合手机类目消歧,仍不确定则澄清;同名城市:使用地区上下文;无 Join 路径:不能捏造关联键。

学习实验

构造一笔订单的两个明细和三个退款行,比较直接 Join 与按明细预聚合退款的结果;解释为什么 SUM(DISTINCT 金额) 不是通用修复。

先写预测结果,再执行;把实际输出、数据版本和代码入口放进 验收证据。现在尚无业务实现,此处实验需要对应阶段完成后运行。

读代码与面试复述

怎么区分召回失败与链接失败?找到外键为什么仍可能算错?历史门店归属如何影响路径?

阅读时先看契约,再跟一条正常链路和一条失败链路,最后读 adapter 与测试。使用 代码地图 定位模块;不要只背技术名称。

需求 → 代码 → 验证 → 复盘