本体驱动的 AI Native 指标查询 · 实践方案(简化版)

日期:2026-08-28 前提:数仓已产出账单表(事实表)+ 必要的维度表,忽略数仓建模过程,直接基于表结构做本体驱动的指标查询。 定位:AI Native 指标查询——自然语言驱动、本体推理、受约束 SQL,而非传统 BI 拖拽报表。


1. 核心链路(三段式)

现有账单表 + 维度表(表结构已知)
        ↓
① 表结构解析:从账单表/维度表解析出度量字段、维度外键、口径字段
        ↓
② 指标本体建模:基于表结构建指标本体(指标类、维度类、口径公理 + mapsTo 映射)
        ↓
③ 本体驱动查询:自然语言 → 本体推理(等价/层级/推导)→ 受约束 SQL → 结果 + 分析

2. 本体在这里干什么(不变的核心)

本体能力 指标查询中的作用
概念等价推理 「成交额」≡「GMV」,消除口径打架
维度层级推理 「华东区」自动展开为省份列表
口径公理约束 「GMV 不含退款」形式化,机器校验 SQL
指标推导 「客单价」自动拆解为 GMV ÷ 订单数

本质:本体把「指标、维度、口径」形式化成可推理的逻辑,让 AI 查询既准确、又可解释、可溯源。关系表 + LLM 是"把语义塞进 prompt 里猜",本体 + 推理是"把语义形式化后用推理机算"。

3. 技术架构(简化,去掉数仓建模)

┌──────────────────────────────────────────────────┐
│  应用层:AI Native 指标查询                        │
│  自然语言 → 本体推理 → 受约束 SQL → 查询 → 分析     │
├──────────────────────────────────────────────────┤
│  本体层(核心):指标本体                           │
│  · OWL 本体:指标类、维度类、口径公理               │
│  · 推理引擎:Apache Jena(等价/层级/推导)          │
│  · mapsTo 映射:本体概念 ↔ 账单表/维度表字段        │
├──────────────────────────────────────────────────┤
│  数据层:现有数仓表(不动)                        │
│  · 账单表(事实表):度量 + 维度外键 + 口径字段      │
│  · 维度表:地区维、日期维等                        │
└──────────────────────────────────────────────────┘

关键:数据层完全复用现有表,不新建、不改动。本体层是新增的「语义层」,通过 mapsTo 映射桥接到现有表字段。

4. 四个本体推理场景(价值核心)

场景 1:维度层级推理

用户问「华东区成交额」
本体公理:上海 partOf 华东区、江苏 partOf 华东区、...
推理:华东区 → {上海, 江苏, 浙江, 安徽, 福建, 江西, 山东}
生成 SQL:WHERE region_name IN ('上海','江苏',...)

场景 2:概念等价对齐

业务方 A 问「成交额」,B 问「GMV」,C 问「销售额」
本体公理:成交额 ≡ GMV ≡ 销售额
推理:三者是同一指标,映射到同一账单表字段

场景 3:口径约束校验

本体公理:GMV ≡ SUM(bill_amount) ⊓ (status=paid) ⊓ (refunded=false)
生成 SQL 必须含 status='paid' AND refunded=false,否则拦截

场景 4:指标推导

用户问「客单价」
本体公理:客单价 ≡ GMV ÷ 订单数
推理:拆解为两个子指标,分别查询再计算

5. 查询流程

「上个月华东区成交额环比多少?为什么?」
① LLM 槽位提取:{ metric:"成交额", region:"华东区", time:"上个月", compare:"环比" }
② 本体推理:成交额 ≡ GMV
③ 本体推理:华东区 → 7 省份
④ 受约束 SQL 生成(GMV 口径固化模板 + 参数填充)
⑤ 口径校验(公理校验 SQL)
⑥ ADB 查询账单表
⑦ LLM 归因分析(基于真实结果)

6. 实施步骤(简化,4 步)

步骤 内容 产出
① 表结构解析 解析现有账单表 + 维度表 DDL,识别度量/维度/口径字段 字段清单 + 维度识别
② 本体建模 基于表结构建指标本体(指标类 + 维度类 + 公理) OWL 本体(.ttl)
③ 查询引擎 本体推理 + 受约束 SQL 生成 + 口径校验 查询服务
④ AI 集成 LLM 槽位提取 + 流程编排 + 归因分析 完整查询链路

7. MVP

输入:1 张账单表 + 2 张维度表(地区、日期) 建:3 个指标(成交额/订单数/客单价)+ 1 个维度层级(地区)+ 2 个等价关系 验证:「成交额和 GMV 是一回事吗?」「华东区包含哪些省?」「上个月成交额环比?」

8. 技术选型

层 技术
本体建模 Protégé(OWL 2,Turtle 序列化)
本体推理 Apache Jena(等价/层级/推导 + SPARQL)
数据 现有 ADB(AnalyticDB)账单表 + 维度表
查询执行 ADB JDBC(MySQL 协议)
AI LLM(仅槽位提取 + 归因分析)
后端 Java 11 + Spring Boot

9. 为什么是本体而不是关系表

能力 关系表 + LLM 本体 + 推理机
概念同义对齐 LLM 猜(会错) 逻辑等价推理(确定)
维度层级展开 维表硬编码 公理推理(加公理即生效)
口径一致性 靠文档 公理校验(机器强制)
指标推导 硬编码 公理推导(自动)
可解释性 黑盒 推理路径可回溯