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 与测试。使用 代码地图 定位模块;不要只背技术名称。