SUM((lines.gross_sales_cents-lines.discount_cents)*0.01)让业务定义独立于单一技术栈。
从已有 SQL、受支持的 BI 看板及新需求中整理业务定义,以 Apache Ossie 格式保存。这一标准开放、厂商中立,便于团队审核、维护和复用。
从日常数据工作中,沉淀业务定义。
已有 SQL、BI 看板和新的业务问题,都包含建模所需的知识。Datus Agent 帮你将它们整理为可复用的语义定义。
从历史 SQL 提炼
以历史查询和 SQL 文件为依据,将可复用的计算、筛选条件、维度与数据源映射整理为语义模型。
计算逻辑、筛选条件与分组方式从 BI 看板梳理
从受支持的 BI 看板中选择查询,梳理图表背后的计算逻辑,将分散的业务定义汇入共享模型。
图表查询与源数据在新需求开发中沉淀
描述新的业务需求,与 Datus Agent 在开发过程中一起定义数据集、业务关系与指标,再校验模型,让定义随工作成果一起沉淀。
业务需求与实时表结构共享的语义定义
- 数据集
- 指标
- 维度
- 业务关系
由 Datus Agent 辅助起草,团队审核定义、校验模型后再使用。
查看建模流程开放的定义,原生的执行。
Apache Ossie 是 DOSI 语义执行的核心规范。DOSI 读取兼容的 Ossie 模型,校验业务定义,再将语义查询编译为已配置数仓的原生 SQL。
选择一个环节,了解它的作用。
从 SQL、看板查询或新业务需求中整理并审核定义,将数据集、维度、指标与关系统一保存在兼容的 Ossie 模型中。
DOSI 以 Apache Ossie 规范为基础,校验兼容的模型,将受支持的语义查询编译为目标 SQL 方言。团队可以核查诊断信息与生成的 SQL。
由已配置的数仓对其数据执行生成的 SQL。数据源连接与映射决定查询的执行位置。
通过受支持的接口使用返回的数据,让团队、应用与 Agent 基于同一份兼容模型查询。
以已有的业务定义,开始使用 Datus。
将审核后的 Ossie 模型作为 Datus 的起点,为团队和 Agent 构建开放、厂商中立的语义层,并持续完善业务上下文。
Apache Ossie(孵化中)提供开放规范。DOSI 采用 Elastic License 2.0 许可。Datus Agent 是开源项目。
让团队共同审核和完善业务上下文。
将数仓、文档、SQL 与 ETL 中的知识带入共享的建模流程。Datus Agent 辅助起草定义,团队在 Datus Studio 中核查、完善并验证模型。
利用已连接的数据源,以及所选的 SQL 或文档,初始化项目上下文。
初始化项目上下文
基于 SQL 逆向生成文档。只读 —— 不写入数据库。
已选 2 个工作区勾选与上传的文件会合并使用。
将项目文件附加到对话,与 Datus Agent 一起起草数据集与指标。
追溯完整的源数据血缘,审核 YAML 差异,通过后合并到共享模型。
选择对象,查看其定义
左右滑动,探索完整血缘。
统一退货处理成本的货币单位
进行中subject/semantic_models/northstar_premier.yaml
northstar_premier / contribution_margin已修改1name: contribution_margin2expression:3dialects:4- dialect: ANSI_SQL5expression: >-6COALESCE(SUM((lines.gross_sales_cents-lines.discount_cents)*0.01),0)7-COALESCE(SUM(refunds.merchandise_refund_cents*0.01),0)8-COALESCE(SUM(line_costs.cogs_cents*0.01),0)9+COALESCE(SUM(returns.recoverable_cogs_credit_cents*0.01),0)10-COALESCE(SUM(deliveries.shipping_cost_cents*0.01),0)11-COALESCE(SUM(line_costs.payment_fee_cents*0.01),0)12−原定义: -COALESCE(SUM(returns.processing_cost_cents),0)12+拟修改的定义: -COALESCE(SUM(returns.processing_cost_cents*0.01),0)
冲突已全部解决
校验全部通过或已豁免
暂无评论
一份语义模型,供 BI、应用与 AI Agent 复用。
在团队工作的地方提供审核后的定义,为不同消费方选择合适且受支持的接口。
1version: 0.2.0.dev02semantic_model:3- name: northstar_premier4# …5datasets:6- name: customers7source: northstar_living.dim_customer8primary_key:9- customer_id10# …11metrics:12- name: booked_revenue13expression:14dialects:15- dialect: ANSI_SQL16expression: SUM((lines.gross_sales_cents-lines.discount_cents)*0.01)17# …
BI 与分析
SQL 与结果AI Agent
MCP应用
REST / Python关于语义层的常见问题
语义层与语义模型有什么区别?
语义模型记录数据集、维度、关系和指标等业务定义,语义层则让消费方能够使用这些定义。在 Datus 中,DOSI 校验兼容的 Apache Ossie 模型,将受支持的指标查询编译为 SQL,再通过接口供团队、应用和 Agent 使用。
DOSI 的语义查询在哪里执行?
DOSI 校验兼容的模型,将所需指标编译为原生 SQL,由已配置的数仓对其数据执行。团队可以核查生成的查询与数据源映射,再通过 CLI、REST、Python 或 MCP 接口访问结果。
更换数仓时,哪些内容可以复用?
兼容的 Apache Ossie 定义可以复用,由 DOSI 为受支持的目标方言编译查询。切换数据源时仍需检查连接配置、源数据映射、SQL 表达式与功能支持。多个数仓共享定义,不代表查询会自动关联多个数仓中的实时数据。
AI Agent 如何使用语义层?
Agent 可以通过 MCP 工具发现指标与维度、编译受支持的查询,并获取已配置数据源中的结果。团队审核底层业务定义,也可以核查生成的 SQL。具体连接方式与可用工具见 MCP 指南。
DOSI 是开源软件吗?
DOSI 采用 Elastic License 2.0 许可。Apache Ossie(孵化中)为兼容语义模型提供开放规范,Datus Agent 则是开源项目。开放的模型格式与软件许可适用于系统中的不同部分,选择部署方式和工作流程时,需要分别了解。