阅读时间:1 分钟
0 字

Ontology Core 与版本 ​

Ontology Core 定义平台能够表达的业务语义。Registry 拥有草稿、校验、审批和发布事务;共享包 packages/ontology-core/ 只承载跨服务使用的公共类型和不变量。

元模型 ​

对象含义关键字段
Ontology独立业务语义空间ontologyId、租户、名称、默认语言
EntityType业务对象类型标识、显示名、身份策略、生命周期
PropertyDefinition实体属性数据类型、必填、敏感级别、校验、可查询性
RelationType实体间关系源/目标类型、方向、基数、遍历限制
DataSourceBinding模型到数据源的映射连接器、源对象、字段映射、读写能力
IdentityMapping跨源实体身份映射命名空间、源标识、规范标识、匹配来源
FunctionDefinition无副作用计算或查询输入、输出、实现引用、超时和资源预算
ActionDefinition有副作用的业务动作输入、规则、授权、审批、执行器、幂等范围
RuleDefinition业务约束条件、错误码、严重级别、适用阶段
PolicyBinding模型与策略关联资源范围、动作、策略引用、版本
ModelVersion不可变发布快照版本号、状态、摘要、依赖、兼容性

EntityType 是类型定义,实体实例是运行时数据;关系类型与关系实例也必须区分。模型 ID 使用稳定机器标识,显示名称允许国际化,重命名显示名称不应改变契约标识。

身份与生命周期 ​

每个实体类型必须声明身份策略:源系统主键、复合键、平台分配 ID 或多源规范 ID。跨源匹配需要记录匹配规则、来源、时间和置信信息;不能只保留最终映射而丢失依据。

实体生命周期由源系统事实和平台语义共同解释。建议统一状态:Active、Inactive、Deleted、Unknown。删除可能是软删除、源端删除事件或访问权限消失,三者不能合并为同一事实。

模型生命周期 ​

mermaid
%%{init: {"flowchart": {"curve": "linear"}}}%%
flowchart LR
    D["Draft"] --> V["Validated"] --> R["Reviewed"] --> P["Published"] --> X["Deprecated"] --> A["Archived"]
    V --> D
    R --> D
  • Draft 可编辑,不得被生产 Runtime 使用。
  • Validated 已通过结构、映射、策略和引用校验。
  • Reviewed 已完成必要审批和影响分析。
  • Published 是不可变快照;修改必须产生新版本。
  • Deprecated 仍可读取,但新调用方不应选择。
  • Archived 只用于审计和历史重放,不能用于新请求。

发布检查 ​

发布前至少检查 Schema 完整性、映射可达性、身份策略、策略引用、Action 输入输出、循环关系、敏感字段、依赖版本和兼容性。删除属性、收紧类型、改变身份策略、改变 Action 语义或权限默认值均视为潜在破坏性变更。

发布产物包含完整模型快照、内容摘要、依赖锁定、迁移提示、审批记录和生成时间。Runtime 按 tenantId + ontologyId + version 加载并缓存,缓存失效由发布事件驱动。

兼容性原则 ​

  • 新增可选属性通常向后兼容;新增必填属性需要默认值或迁移方案。
  • 删除、重命名机器标识、改变类型或基数属于破坏性变更。
  • Action 输入、结果和错误语义按 API 契约管理版本。
  • 旧模型的执行证据必须永久引用原版本,不能自动改挂到新版本。