@dazitech/cli 3.1.0 → 3.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/clis/dazi-app.js +2 -2
- package/dist/clis/dazi-flow.js +2 -2
- package/dist/clis/dazi-onto.js +318 -40
- package/dist/clis/dazi.js +407 -185
- package/dist/docs/flow/flow-project-guide.md +1 -1
- package/dist/docs/guides/cli-reference.md +16 -3
- package/dist/docs/guides/troubleshooting.md +1 -1
- package/dist/docs/index.json +1 -13
- package/dist/docs/onto/dazi_script_sdk_reference.md +1 -1
- package/dist/docs/onto/dazi_script_seed_data_guide.md +1 -1
- package/dist/docs/onto/function-guide.md +6 -6
- package/dist/docs/onto//346/234/254/344/275/223/345/210/206/347/261/273/350/247/204/345/210/222/344/270/216SDK/346/211/251/345/261/225/346/226/271/346/241/210.md +169 -169
- package/dist/docs/onto//346/234/254/344/275/223/345/221/275/345/220/215/350/247/204/350/214/203_/347/211/251/347/220/206/350/241/250Cube/344/270/216/345/257/271/350/261/241.md +3 -2
- package/dist/docs/onto//346/234/254/344/275/223/345/274/200/345/217/221/344/274/230/345/214/226/346/200/273/347/273/223.md +257 -242
- package/dist/docs/onto//346/234/254/344/275/223/350/204/232/346/234/254/347/274/226/345/206/231/346/214/207/345/215/227.md +12 -12
- package/dist/docs/onto//346/234/254/344/275/223/350/247/204/345/210/222/346/214/207/345/215/227.md +14 -13
- package/dist/docs/onto//350/204/232/346/234/254/350/277/220/350/241/214/345/270/270/350/247/201/351/224/231/350/257/257/345/244/204/347/220/206.md +70 -15
- package/dist/examples/index.json +222 -6
- package/dist/examples/onto/README.md +34 -36
- package/dist/examples/onto/_templates/onto_preflight.ps1 +84 -0
- package/dist/examples/onto/index.json +53 -0
- package/dist/examples/onto/index.yaml +29 -0
- package/dist/examples/onto//345/210/251/346/266/246/347/244/272/344/276/213/README.md +23 -0
- package/dist/examples/onto//345/210/251/346/266/246/347/244/272/344/276/213/functions/save_test_arguments.ps1 +12 -11
- package/dist/{docs/onto → examples/onto//345/210/251/346/266/246/347/244/272/344/276/213/plans}//350/247/204/345/210/222/347/244/272/344/276/213_/345/210/251/346/266/246/345/210/206/346/236/220/346/234/254/344/275/223/346/226/271/346/241/210.md +4 -4
- package/dist/examples/onto//345/210/251/346/266/246/347/244/272/344/276/213/setup/profit_category_mount.py +1 -1
- package/dist/examples/onto//345/210/251/346/266/246/347/244/272/344/276/213/setup/profit_ontology_init.py +1 -1
- package/dist/examples/onto//350/256/276/345/244/207/350/277/220/350/220/245/README.md +24 -0
- package/dist/examples/onto//350/256/276/345/244/207/350/277/220/350/220/245/functions/equip_ops_fn_availability_analysis.py +84 -0
- package/dist/examples/onto//350/256/276/345/244/207/350/277/220/350/220/245/functions/equip_ops_fn_downtime_breakdown.py +119 -0
- package/dist/examples/onto//350/256/276/345/244/207/350/277/220/350/220/245/functions/equip_ops_fn_energy_intensity.py +98 -0
- package/dist/examples/onto//350/256/276/345/244/207/350/277/220/350/220/245/functions/equip_ops_fn_get_summary.py +125 -0
- package/dist/examples/onto//350/256/276/345/244/207/350/277/220/350/220/245/functions/equip_ops_fn_maintenance_compliance.py +77 -0
- package/dist/examples/onto//350/256/276/345/244/207/350/277/220/350/220/245/functions/equip_ops_fn_mom_analysis.py +118 -0
- package/dist/examples/onto//350/256/276/345/244/207/350/277/220/350/220/245/functions/equip_ops_fn_oee_analysis.py +126 -0
- package/dist/examples/onto//350/256/276/345/244/207/350/277/220/350/220/245/functions/equip_ops_fn_plan_vs_actual.py +105 -0
- package/dist/examples/onto//350/256/276/345/244/207/350/277/220/350/220/245/functions/equip_ops_fn_top_fault_equipment.py +104 -0
- package/dist/examples/onto//350/256/276/345/244/207/350/277/220/350/220/245/functions/equip_ops_fn_unit_comparison.py +120 -0
- package/dist/examples/onto//350/256/276/345/244/207/350/277/220/350/220/245/functions/equip_ops_fn_yoy_analysis.py +115 -0
- package/dist/examples/onto//350/256/276/345/244/207/350/277/220/350/220/245/functions/save_test_arguments.ps1 +42 -0
- package/dist/examples/onto//350/256/276/345/244/207/350/277/220/350/220/245/functions/test_arguments/equip_ops.fn.availability_analysis.json +7 -0
- package/dist/examples/onto//350/256/276/345/244/207/350/277/220/350/220/245/functions/test_arguments/equip_ops.fn.downtime_breakdown.json +8 -0
- package/dist/examples/onto//350/256/276/345/244/207/350/277/220/350/220/245/functions/test_arguments/equip_ops.fn.energy_intensity.json +8 -0
- package/dist/examples/onto//350/256/276/345/244/207/350/277/220/350/220/245/functions/test_arguments/equip_ops.fn.get_summary.json +7 -0
- package/dist/examples/onto//350/256/276/345/244/207/350/277/220/350/220/245/functions/test_arguments/equip_ops.fn.maintenance_compliance.json +7 -0
- package/dist/examples/onto//350/256/276/345/244/207/350/277/220/350/220/245/functions/test_arguments/equip_ops.fn.mom_analysis.json +8 -0
- package/dist/examples/onto//350/256/276/345/244/207/350/277/220/350/220/245/functions/test_arguments/equip_ops.fn.oee_analysis.json +8 -0
- package/dist/examples/onto//350/256/276/345/244/207/350/277/220/350/220/245/functions/test_arguments/equip_ops.fn.plan_vs_actual.json +8 -0
- package/dist/examples/onto//350/256/276/345/244/207/350/277/220/350/220/245/functions/test_arguments/equip_ops.fn.top_fault_equipment.json +8 -0
- package/dist/examples/onto//350/256/276/345/244/207/350/277/220/350/220/245/functions/test_arguments/equip_ops.fn.unit_comparison.json +8 -0
- package/dist/examples/onto//350/256/276/345/244/207/350/277/220/350/220/245/functions/test_arguments/equip_ops.fn.yoy_analysis.json +8 -0
- package/dist/examples/onto//350/256/276/345/244/207/350/277/220/350/220/245/plans//345/214/226/345/267/245/350/256/276/345/244/207/350/277/220/350/220/245/345/210/206/346/236/220/346/234/254/344/275/223/346/226/271/346/241/210.md +735 -0
- package/dist/examples/onto//350/256/276/345/244/207/350/277/220/350/220/245/setup/equip_ops_category_mount.py +106 -0
- package/dist/examples/onto//350/256/276/345/244/207/350/277/220/350/220/245/setup/equip_ops_ontology_init.py +1077 -0
- package/dist/examples/onto//350/256/276/345/244/207/350/277/220/350/220/245/setup/equip_ops_seed_data.py +552 -0
- package/dist/examples/onto//351/224/200/345/224/256/347/244/272/344/276/213/README.md +23 -0
- package/dist/examples/onto//351/224/200/345/224/256/347/244/272/344/276/213/functions/save_test_arguments.ps1 +13 -12
- package/dist/{docs/onto → examples/onto//351/224/200/345/224/256/347/244/272/344/276/213/plans}//350/247/204/345/210/222/347/244/272/344/276/213_/344/272/247/345/223/201/351/224/200/345/224/256/346/234/254/344/275/223/350/247/204/345/210/222/346/226/271/346/241/210.md +2 -2
- package/dist/examples/onto//351/224/200/345/224/256/347/244/272/344/276/213/setup/sales_category_mount.py +1 -1
- package/dist/examples/onto//351/224/200/345/224/256/347/244/272/344/276/213/setup/sales_ontology_init.py +1 -1
- package/dist/prompts/index.json +1 -1
- package/dist/prompts/onto/planning-design.md +226 -104
- package/dist/prompts/onto/script-publish-run.md +8 -6
- package/package.json +1 -1
|
@@ -22,15 +22,28 @@
|
|
|
22
22
|
| `dazi prompt list` | 列出提示词 |
|
|
23
23
|
| `dazi prompt show <id>` | 显示提示词 |
|
|
24
24
|
| `dazi prompt sync` | 同步内置提示词到 `资源/prompts/` |
|
|
25
|
-
| `dazi examples list` |
|
|
26
|
-
| `dazi examples
|
|
27
|
-
| `dazi examples sync` | 同步内置示例到 `资源/examples/`
|
|
25
|
+
| `dazi examples list` | 列出示例脚本(`--category onto` 过滤本体类) |
|
|
26
|
+
| `dazi examples show <id>` | 显示示例内容(如 `onto/sales/plan`) |
|
|
27
|
+
| `dazi examples sync` | 同步内置示例到 `资源/examples/`(含完整 `onto/` 树) |
|
|
28
|
+
| `dazi examples onto list` | 列出本体完整示例注册表(读 `onto/index.json`) |
|
|
29
|
+
| `dazi examples onto suggest [关键词]` | 按业务域推荐对照示例(规划前选用) |
|
|
30
|
+
| `dazi examples onto show <id>` | 显示示例路径;`--plan` / `--readme` 输出全文 |
|
|
28
31
|
| `dazi migrate workspace` | 迁移工作区 |
|
|
29
32
|
| `dazi migrate config` | 迁移旧配置 |
|
|
30
33
|
| `dazi onto <args>` | 本体 CLI(**勿用** `dazi-onto`) |
|
|
31
34
|
| `dazi flow <args>` | 流程 CLI |
|
|
32
35
|
| `dazi app <args>` | 应用 CLI(亦可在应用项目根用 `pnpm run dazi-app`) |
|
|
33
36
|
|
|
37
|
+
**本体规划阶段常用**:
|
|
38
|
+
|
|
39
|
+
```powershell
|
|
40
|
+
dazi examples sync
|
|
41
|
+
dazi examples onto suggest 设备 OEE
|
|
42
|
+
dazi examples onto show equip-ops --plan
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
索引真源:`examples/onto/index.yaml`(人工维护)→ `index.json`(`copy:bundled` 时生成)。详见 [本体规划指南](../onto/本体规划指南.md)。
|
|
46
|
+
|
|
34
47
|
## 本体(`dazi onto ...`)
|
|
35
48
|
|
|
36
49
|
| 命令 | 说明 |
|
|
@@ -84,7 +84,7 @@ dazi doctor --workspace-root D:\path\to\dazi-work
|
|
|
84
84
|
检查 `.cursor/mcp.json` 配置。MCP 需能调用 bundled CLI,示例:
|
|
85
85
|
|
|
86
86
|
```powershell
|
|
87
|
-
$env:DAZI_BUNDLED_DIR = "$env:USERPROFILE\.cursor\extensions\dazitech.dazi-vscode-3.1.
|
|
87
|
+
$env:DAZI_BUNDLED_DIR = "$env:USERPROFILE\.cursor\extensions\dazitech.dazi-vscode-3.1.1\bundled\clis"
|
|
88
88
|
node "$env:DAZI_BUNDLED_DIR\dazi.js" mcp stdio
|
|
89
89
|
```
|
|
90
90
|
|
package/dist/docs/index.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "3.1.
|
|
2
|
+
"version": "3.1.1",
|
|
3
3
|
"updatedAt": "2026-06-06T12:00:00.000Z",
|
|
4
4
|
"docs": [
|
|
5
5
|
{
|
|
@@ -98,18 +98,6 @@
|
|
|
98
98
|
"category": "onto",
|
|
99
99
|
"file": "onto/本体分类规划与SDK扩展方案.md"
|
|
100
100
|
},
|
|
101
|
-
{
|
|
102
|
-
"id": "onto/planning-example-profit",
|
|
103
|
-
"title": "规划示例:利润分析本体(GL 域)",
|
|
104
|
-
"category": "onto",
|
|
105
|
-
"file": "onto/规划示例_利润分析本体方案.md"
|
|
106
|
-
},
|
|
107
|
-
{
|
|
108
|
-
"id": "onto/planning-example-sales",
|
|
109
|
-
"title": "规划示例:产品销售本体",
|
|
110
|
-
"category": "onto",
|
|
111
|
-
"file": "onto/规划示例_产品销售本体规划方案.md"
|
|
112
|
-
},
|
|
113
101
|
{
|
|
114
102
|
"id": "onto/script-authoring",
|
|
115
103
|
"title": "本体脚本编写指南(含发布)",
|
|
@@ -239,7 +239,7 @@ dazi onto function run my_func --space <space-id> --params '{}'
|
|
|
239
239
|
|
|
240
240
|
**内置参考示例**(在用户工作区:**侧栏 帮助 → 示例 → 下载所有示例**,或执行 `dazi examples sync`,得到 **`资源/examples/`**;可复制到 **`项目/<业务名>/本体/ontos/<实现名>/setup/`** 或 **`functions/`** 再改,勿直接改写同步下来的只读备份):
|
|
241
241
|
|
|
242
|
-
-
|
|
242
|
+
- **规划全文**:`资源/examples/onto/<示例>/plans/*.md`(推荐 `销售示例/plans/规划示例_产品销售本体规划方案.md`)
|
|
243
243
|
- **常见错误**(,**非**通用模板):`脚本运行常见错误处理.md` 中的已废弃客户路径 — 使用通用占位符
|
|
244
244
|
- **利润示例(GL 域)**:`资源/examples/onto/利润示例/setup/profit_ontology_init.py`、`profit_seed_data.py`、`functions/profit_fn_*.py`、`functions/test_arguments/`
|
|
245
245
|
- **销售示例(推荐,含表间关系 + test_arguments)**:`资源/examples/onto/销售示例/setup/sales_ontology_init.py`、`sales_seed_data.py`、`functions/sales_fn_*.py`
|
|
@@ -143,7 +143,7 @@ dazi onto script run --script-id <script-id> --space <space-id> --params '{}'
|
|
|
143
143
|
|
|
144
144
|
**参考完整初始化+灌数**:
|
|
145
145
|
|
|
146
|
-
- **推荐(已落地)**:`资源/examples/onto/销售示例/setup/sales_ontology_init.py`、`sales_seed_data.py
|
|
146
|
+
- **推荐(已落地)**:`资源/examples/onto/销售示例/setup/sales_ontology_init.py`、`sales_seed_data.py`(规划见同目录 `../plans/规划示例_产品销售本体规划方案.md`)
|
|
147
147
|
- **通用模板**:复制 `资源/examples/onto/利润示例/setup/profit_ontology_init.py` 到 `项目/<业务名>/本体/ontos/<实现名>/setup/` 后按空间改 `space_id` 与表名,再发布执行。
|
|
148
148
|
|
|
149
149
|
> **已废弃**:`dazi-agent run --file "spaces/.../editorial/..."` — 请改用上表 `dazi onto script publish` / `function run`。
|
|
@@ -7,8 +7,8 @@
|
|
|
7
7
|
## 函数生命周期
|
|
8
8
|
|
|
9
9
|
```
|
|
10
|
-
编写 .py → publish-preview
|
|
11
|
-
→ function run
|
|
10
|
+
编写 .py → publish-preview(本地静态预检)→ publish(--register-function-id 入库)
|
|
11
|
+
→ function run 验证(无参回退 TEST_ARGUMENTS)→ save-test-arguments(写入 test_arguments,侧栏预填)
|
|
12
12
|
→ 后续改代码:update-code
|
|
13
13
|
```
|
|
14
14
|
|
|
@@ -56,12 +56,12 @@ PowerShell 下复杂 JSON 建议用环境变量 `DAZI_PARAMS` 或侧栏运行(
|
|
|
56
56
|
**本地文件**:`functions/test_arguments/<function_id>.json`(格式见 [本体脚本编写指南](./本体脚本编写指南.md))。
|
|
57
57
|
|
|
58
58
|
```bash
|
|
59
|
-
dazi onto function save-test-arguments
|
|
60
|
-
|
|
61
|
-
|
|
59
|
+
dazi onto function save-test-arguments --function-id domain.fn.my_analysis \
|
|
60
|
+
--space <space-id> \
|
|
61
|
+
--arguments-json-file 项目/<业务名>/本体/ontos/<实现名>/functions/test_arguments/<function_id>.json
|
|
62
62
|
```
|
|
63
63
|
|
|
64
|
-
>
|
|
64
|
+
> **注意**:亦可用平台**内部 id** `ofn_xxx`(`dazi onto function list --json` 返回);推荐 `--function-id` 别名。
|
|
65
65
|
|
|
66
66
|
## 函数脚本结构(标准模板)
|
|
67
67
|
|
|
@@ -1,169 +1,169 @@
|
|
|
1
|
-
# 本体分类规划与 SDK 扩展方案
|
|
2
|
-
|
|
3
|
-
**文档 ID**:`onto/category-taxonomy-sdk`
|
|
4
|
-
|
|
5
|
-
> **类型**:规范 + 实施方案(对齐 `ads_categories` 平台分类)
|
|
6
|
-
> **同步路径**:`dazi docs sync` → `资源/docs/onto/本体分类规划与SDK扩展方案.md`
|
|
7
|
-
> **前置依据**:[本体命名规范](./本体命名规范_物理表Cube与对象.md)、[本体规划指南](./本体规划指南.md)
|
|
8
|
-
|
|
9
|
-
---
|
|
10
|
-
|
|
11
|
-
## 1. 目标
|
|
12
|
-
|
|
13
|
-
将 **规划语义分类**(规划表「类别/分类」列)与 **`ads_categories` 平台分类**(侧栏分组、桥表挂载)打通,支持 init 脚本幂等注册。
|
|
14
|
-
|
|
15
|
-
> **术语**:下文 **平台标准分类** = 侧栏 `ads_categories` 使用的标准中文名(如「维度表」「总览分析」)。SDK 中的 `category_347`、`ensure_347` 为历史参数/方法名,**含义即平台标准分类**,与文档编号无关。
|
|
16
|
-
|
|
17
|
-
**约束**:本体规划阶段分类 **全部平级**(挂空间默认根下,不建多层树)。
|
|
18
|
-
|
|
19
|
-
---
|
|
20
|
-
|
|
21
|
-
## 2. 两类分类,一套语言
|
|
22
|
-
|
|
23
|
-
| 维度 | 规划语义分类 | ads_categories 平台分类 |
|
|
24
|
-
|------|-------------|------------------------|
|
|
25
|
-
| 作用 | 规划自检、命名约束 | 侧栏展示、资源分组 |
|
|
26
|
-
| 对齐 | 平台 `category_name` **=** 平台标准分类中文名 | 禁止自定义别名 |
|
|
27
|
-
|
|
28
|
-
---
|
|
29
|
-
|
|
30
|
-
## 3. 平台标准分类字典(6 类资源)
|
|
31
|
-
|
|
32
|
-
### 3.1 物理表(`category_kind=dataspace_table`)
|
|
33
|
-
|
|
34
|
-
| 平台分类类别 | 前缀 | 平台分类名 |
|
|
35
|
-
|----------|------|------------|
|
|
36
|
-
| 时间维 | `dim_date` | 时间维 |
|
|
37
|
-
| 维度表 | `dim_` | 维度表 |
|
|
38
|
-
| 事实表 | `fact_` | 事实表 |
|
|
39
|
-
| 桥表 | `bridge_` | 桥表 |
|
|
40
|
-
| 映射表 | `map_` | 映射表 |
|
|
41
|
-
| 配置表 | `cfg_` | 配置表 |
|
|
42
|
-
| 汇总表 | `agg_` | 汇总表 |
|
|
43
|
-
| 临时表 | `tmp_` | 临时表 |
|
|
44
|
-
|
|
45
|
-
### 3.2 Cube(`category_kind=cube`)
|
|
46
|
-
|
|
47
|
-
| 平台分类类别 | 平台分类名 |
|
|
48
|
-
|----------|------------|
|
|
49
|
-
| Process | 流程型 |
|
|
50
|
-
| Subject | 主体型 |
|
|
51
|
-
| Comparison | 对比型 |
|
|
52
|
-
| Snapshot | 快照型 |
|
|
53
|
-
|
|
54
|
-
> 时间增强不单独建 Cube(命名规范 §4.2),不设平台分类。
|
|
55
|
-
|
|
56
|
-
### 3.3 本体对象(`category_kind=ontology_object_type`)
|
|
57
|
-
|
|
58
|
-
| 平台分类 | 平台分类名 |
|
|
59
|
-
|----------|------------|
|
|
60
|
-
| Master | 主数据 |
|
|
61
|
-
| Transaction | 事务 |
|
|
62
|
-
| Analytical | 分析 |
|
|
63
|
-
| Reference | 参考 |
|
|
64
|
-
| Configuration | 配置 |
|
|
65
|
-
|
|
66
|
-
### 3.4 表间关系(`category_kind=relation`,平台扩展)
|
|
67
|
-
|
|
68
|
-
| 关系类别 | 平台分类名 |
|
|
69
|
-
|----------|------------|
|
|
70
|
-
| 时间关联 | 时间关联 |
|
|
71
|
-
| 主数据关联 | 主数据关联 |
|
|
72
|
-
| 层级自关联 | 层级自关联 |
|
|
73
|
-
| 预实关联 | 预实关联 |
|
|
74
|
-
| 桥接关联 | 桥接关联 |
|
|
75
|
-
|
|
76
|
-
### 3.5 本体链接(`category_kind=ontology_link_type`,平台扩展)
|
|
77
|
-
|
|
78
|
-
| 链接类别 | 平台分类名 |
|
|
79
|
-
|----------|------------|
|
|
80
|
-
| 归属/包含 | 归属关系 |
|
|
81
|
-
| 分析归因 | 分析归因 |
|
|
82
|
-
| 层级/结构 | 层级关系 |
|
|
83
|
-
| 对比/映射 | 对比关系 |
|
|
84
|
-
|
|
85
|
-
### 3.6 本体函数(`category_kind=ontology_function`,平台扩展)
|
|
86
|
-
|
|
87
|
-
| 函数类别 | 平台分类名 |
|
|
88
|
-
|----------|------------|
|
|
89
|
-
| 总览 | 总览分析 |
|
|
90
|
-
| 趋势 | 趋势分析 |
|
|
91
|
-
| 结构 | 结构分析 |
|
|
92
|
-
| 预实 | 预实分析 |
|
|
93
|
-
| 组织 | 组织分析 |
|
|
94
|
-
|
|
95
|
-
---
|
|
96
|
-
|
|
97
|
-
## 4. SDK 设计
|
|
98
|
-
|
|
99
|
-
### 4.1 模块
|
|
100
|
-
|
|
101
|
-
```python
|
|
102
|
-
s.categories # CategoryManager
|
|
103
|
-
s.categories.apply_registry(CATEGORY_REGISTRY)
|
|
104
|
-
s.categories.ensure_347(kind="table", category="维度表")
|
|
105
|
-
s.categories.assign_table("维度表", "dim_account")
|
|
106
|
-
s.categories.auto_assign_tables(["dim_account", "fact_gl_journal_entry"])
|
|
107
|
-
```
|
|
108
|
-
|
|
109
|
-
### 4.2 分类挂载脚本 `*_category_mount.py`
|
|
110
|
-
|
|
111
|
-
**方式 A — 批量**(推荐,类灌数):独立 `setup/*_category_mount.py` 顶部 `CATEGORY_REGISTRY` 与规划 **附录 B** 对齐;在 **init + seed + 全部函数 publish 之后** 执行:
|
|
112
|
-
|
|
113
|
-
```python
|
|
114
|
-
cat_counts = s.categories.apply_registry(CATEGORY_REGISTRY, skip_missing=True)
|
|
115
|
-
```
|
|
116
|
-
|
|
117
|
-
**方式 B — 内联**(P2):各注册 API 支持 `category_347=`,注册后即时挂载(与方式 A 幂等可并存):
|
|
118
|
-
|
|
119
|
-
```python
|
|
120
|
-
s.tables.register_with_meta("dim_product", ..., category_347="维度表")
|
|
121
|
-
s.register_cube("SalesCube", ..., category_347="流程型")
|
|
122
|
-
s.onto.define_object_type("Product", "产品", category_347="主数据")
|
|
123
|
-
s.tables.add_relationship(..., category_347="时间关联")
|
|
124
|
-
s.onto.define_link_type(..., category_347="归属关系")
|
|
125
|
-
s.onto.register_function("sales.fn.get_summary", adapter, category_347="总览分析")
|
|
126
|
-
```
|
|
127
|
-
|
|
128
|
-
函数类资源若 init 未 `register_function`,批量方式须 `skip_missing=True`。
|
|
129
|
-
|
|
130
|
-
---
|
|
131
|
-
|
|
132
|
-
## 5. 规划与 init 约定
|
|
133
|
-
|
|
134
|
-
| 产出 | 位置 | 说明 |
|
|
135
|
-
| ---- | ---- | ---- |
|
|
136
|
-
| 规划附录 B | `plans/<主题>.md` | 6 类资源分类对照表 |
|
|
137
|
-
| `CATEGORY_REGISTRY` | `setup/*_category_mount.py` 顶部 | 与附录 B 逐行一致 |
|
|
138
|
-
| 分类步骤 | 流程最后 | publish + run `*_category_mount.py` |
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
---
|
|
143
|
-
|
|
144
|
-
## 6. 验收标准
|
|
145
|
-
|
|
146
|
-
1. 平台侧栏分类名与平台标准分类表一致
|
|
147
|
-
2. `dim_*` / `fact_*` 自动归入维度表/事实表
|
|
148
|
-
3. init 重跑幂等,桥表不重复
|
|
149
|
-
4. `CATEGORY_REGISTRY` 与规划附录 B 逐行一致
|
|
150
|
-
|
|
151
|
-
---
|
|
152
|
-
|
|
153
|
-
## 7. 相关文档
|
|
154
|
-
|
|
155
|
-
| 文档 | 路径(`dazi docs sync` 后) |
|
|
156
|
-
| ---- | --------------------------- |
|
|
157
|
-
| 本体命名规范 | `资源/docs/onto/本体命名规范_物理表Cube与对象.md` |
|
|
158
|
-
| 本体规划指南 | `资源/docs/onto/本体规划指南.md` |
|
|
159
|
-
| SDK 参考 §5.6 | `资源/docs/onto/dazi_script_sdk_reference.md` |
|
|
160
|
-
| 脚本编写指南 | `资源/docs/onto/本体脚本编写指南.md` |
|
|
161
|
-
|
|
162
|
-
---
|
|
163
|
-
|
|
164
|
-
**变更记录**
|
|
165
|
-
|
|
166
|
-
| 日期 | 说明 |
|
|
167
|
-
| ---- | ---- |
|
|
168
|
-
| 2026-06-06 | 首版:对齐 平台分类方案 + SDK 设计 |
|
|
169
|
-
| 2026-06-06 | 改为 `dazi-vscode` 完整可同步正文(客户环境不依赖 `dazi/docs/`) |
|
|
1
|
+
# 本体分类规划与 SDK 扩展方案
|
|
2
|
+
|
|
3
|
+
**文档 ID**:`onto/category-taxonomy-sdk`
|
|
4
|
+
|
|
5
|
+
> **类型**:规范 + 实施方案(对齐 `ads_categories` 平台分类)
|
|
6
|
+
> **同步路径**:`dazi docs sync` → `资源/docs/onto/本体分类规划与SDK扩展方案.md`
|
|
7
|
+
> **前置依据**:[本体命名规范](./本体命名规范_物理表Cube与对象.md)、[本体规划指南](./本体规划指南.md)
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## 1. 目标
|
|
12
|
+
|
|
13
|
+
将 **规划语义分类**(规划表「类别/分类」列)与 **`ads_categories` 平台分类**(侧栏分组、桥表挂载)打通,支持 init 脚本幂等注册。
|
|
14
|
+
|
|
15
|
+
> **术语**:下文 **平台标准分类** = 侧栏 `ads_categories` 使用的标准中文名(如「维度表」「总览分析」)。SDK 中的 `category_347`、`ensure_347` 为历史参数/方法名,**含义即平台标准分类**,与文档编号无关。
|
|
16
|
+
|
|
17
|
+
**约束**:本体规划阶段分类 **全部平级**(挂空间默认根下,不建多层树)。
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
## 2. 两类分类,一套语言
|
|
22
|
+
|
|
23
|
+
| 维度 | 规划语义分类 | ads_categories 平台分类 |
|
|
24
|
+
|------|-------------|------------------------|
|
|
25
|
+
| 作用 | 规划自检、命名约束 | 侧栏展示、资源分组 |
|
|
26
|
+
| 对齐 | 平台 `category_name` **=** 平台标准分类中文名 | 禁止自定义别名 |
|
|
27
|
+
|
|
28
|
+
---
|
|
29
|
+
|
|
30
|
+
## 3. 平台标准分类字典(6 类资源)
|
|
31
|
+
|
|
32
|
+
### 3.1 物理表(`category_kind=dataspace_table`)
|
|
33
|
+
|
|
34
|
+
| 平台分类类别 | 前缀 | 平台分类名 |
|
|
35
|
+
|----------|------|------------|
|
|
36
|
+
| 时间维 | `dim_date` | 时间维 |
|
|
37
|
+
| 维度表 | `dim_` | 维度表 |
|
|
38
|
+
| 事实表 | `fact_` | 事实表 |
|
|
39
|
+
| 桥表 | `bridge_` | 桥表 |
|
|
40
|
+
| 映射表 | `map_` | 映射表 |
|
|
41
|
+
| 配置表 | `cfg_` | 配置表 |
|
|
42
|
+
| 汇总表 | `agg_` | 汇总表 |
|
|
43
|
+
| 临时表 | `tmp_` | 临时表 |
|
|
44
|
+
|
|
45
|
+
### 3.2 Cube(`category_kind=cube`)
|
|
46
|
+
|
|
47
|
+
| 平台分类类别 | 平台分类名 |
|
|
48
|
+
|----------|------------|
|
|
49
|
+
| Process | 流程型 |
|
|
50
|
+
| Subject | 主体型 |
|
|
51
|
+
| Comparison | 对比型 |
|
|
52
|
+
| Snapshot | 快照型 |
|
|
53
|
+
|
|
54
|
+
> 时间增强不单独建 Cube(命名规范 §4.2),不设平台分类。
|
|
55
|
+
|
|
56
|
+
### 3.3 本体对象(`category_kind=ontology_object_type`)
|
|
57
|
+
|
|
58
|
+
| 平台分类 | 平台分类名 |
|
|
59
|
+
|----------|------------|
|
|
60
|
+
| Master | 主数据 |
|
|
61
|
+
| Transaction | 事务 |
|
|
62
|
+
| Analytical | 分析 |
|
|
63
|
+
| Reference | 参考 |
|
|
64
|
+
| Configuration | 配置 |
|
|
65
|
+
|
|
66
|
+
### 3.4 表间关系(`category_kind=relation`,平台扩展)
|
|
67
|
+
|
|
68
|
+
| 关系类别 | 平台分类名 |
|
|
69
|
+
|----------|------------|
|
|
70
|
+
| 时间关联 | 时间关联 |
|
|
71
|
+
| 主数据关联 | 主数据关联 |
|
|
72
|
+
| 层级自关联 | 层级自关联 |
|
|
73
|
+
| 预实关联 | 预实关联 |
|
|
74
|
+
| 桥接关联 | 桥接关联 |
|
|
75
|
+
|
|
76
|
+
### 3.5 本体链接(`category_kind=ontology_link_type`,平台扩展)
|
|
77
|
+
|
|
78
|
+
| 链接类别 | 平台分类名 |
|
|
79
|
+
|----------|------------|
|
|
80
|
+
| 归属/包含 | 归属关系 |
|
|
81
|
+
| 分析归因 | 分析归因 |
|
|
82
|
+
| 层级/结构 | 层级关系 |
|
|
83
|
+
| 对比/映射 | 对比关系 |
|
|
84
|
+
|
|
85
|
+
### 3.6 本体函数(`category_kind=ontology_function`,平台扩展)
|
|
86
|
+
|
|
87
|
+
| 函数类别 | 平台分类名 |
|
|
88
|
+
|----------|------------|
|
|
89
|
+
| 总览 | 总览分析 |
|
|
90
|
+
| 趋势 | 趋势分析 |
|
|
91
|
+
| 结构 | 结构分析 |
|
|
92
|
+
| 预实 | 预实分析 |
|
|
93
|
+
| 组织 | 组织分析 |
|
|
94
|
+
|
|
95
|
+
---
|
|
96
|
+
|
|
97
|
+
## 4. SDK 设计
|
|
98
|
+
|
|
99
|
+
### 4.1 模块
|
|
100
|
+
|
|
101
|
+
```python
|
|
102
|
+
s.categories # CategoryManager
|
|
103
|
+
s.categories.apply_registry(CATEGORY_REGISTRY)
|
|
104
|
+
s.categories.ensure_347(kind="table", category="维度表")
|
|
105
|
+
s.categories.assign_table("维度表", "dim_account")
|
|
106
|
+
s.categories.auto_assign_tables(["dim_account", "fact_gl_journal_entry"])
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
### 4.2 分类挂载脚本 `*_category_mount.py`
|
|
110
|
+
|
|
111
|
+
**方式 A — 批量**(推荐,类灌数):独立 `setup/*_category_mount.py` 顶部 `CATEGORY_REGISTRY` 与规划 **附录 B** 对齐;在 **init + seed + 全部函数 publish 之后** 执行:
|
|
112
|
+
|
|
113
|
+
```python
|
|
114
|
+
cat_counts = s.categories.apply_registry(CATEGORY_REGISTRY, skip_missing=True)
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
**方式 B — 内联**(P2):各注册 API 支持 `category_347=`,注册后即时挂载(与方式 A 幂等可并存):
|
|
118
|
+
|
|
119
|
+
```python
|
|
120
|
+
s.tables.register_with_meta("dim_product", ..., category_347="维度表")
|
|
121
|
+
s.register_cube("SalesCube", ..., category_347="流程型")
|
|
122
|
+
s.onto.define_object_type("Product", "产品", category_347="主数据")
|
|
123
|
+
s.tables.add_relationship(..., category_347="时间关联")
|
|
124
|
+
s.onto.define_link_type(..., category_347="归属关系")
|
|
125
|
+
s.onto.register_function("sales.fn.get_summary", adapter, category_347="总览分析")
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
函数类资源若 init 未 `register_function`,批量方式须 `skip_missing=True`。
|
|
129
|
+
|
|
130
|
+
---
|
|
131
|
+
|
|
132
|
+
## 5. 规划与 init 约定
|
|
133
|
+
|
|
134
|
+
| 产出 | 位置 | 说明 |
|
|
135
|
+
| ---- | ---- | ---- |
|
|
136
|
+
| 规划附录 B | `plans/<主题>.md` | 6 类资源分类对照表 |
|
|
137
|
+
| `CATEGORY_REGISTRY` | `setup/*_category_mount.py` 顶部 | 与附录 B 逐行一致 |
|
|
138
|
+
| 分类步骤 | 流程最后 | publish + run `*_category_mount.py` |
|
|
139
|
+
|
|
140
|
+
参考:`资源/examples/onto/销售示例/plans/`、`利润示例/plans/`、`设备运营/plans/` 各附录 B 与 `setup/*_category_mount.py`。
|
|
141
|
+
|
|
142
|
+
---
|
|
143
|
+
|
|
144
|
+
## 6. 验收标准
|
|
145
|
+
|
|
146
|
+
1. 平台侧栏分类名与平台标准分类表一致
|
|
147
|
+
2. `dim_*` / `fact_*` 自动归入维度表/事实表
|
|
148
|
+
3. init 重跑幂等,桥表不重复
|
|
149
|
+
4. `CATEGORY_REGISTRY` 与规划附录 B 逐行一致
|
|
150
|
+
|
|
151
|
+
---
|
|
152
|
+
|
|
153
|
+
## 7. 相关文档
|
|
154
|
+
|
|
155
|
+
| 文档 | 路径(`dazi docs sync` 后) |
|
|
156
|
+
| ---- | --------------------------- |
|
|
157
|
+
| 本体命名规范 | `资源/docs/onto/本体命名规范_物理表Cube与对象.md` |
|
|
158
|
+
| 本体规划指南 | `资源/docs/onto/本体规划指南.md` |
|
|
159
|
+
| SDK 参考 §5.6 | `资源/docs/onto/dazi_script_sdk_reference.md` |
|
|
160
|
+
| 脚本编写指南 | `资源/docs/onto/本体脚本编写指南.md` |
|
|
161
|
+
|
|
162
|
+
---
|
|
163
|
+
|
|
164
|
+
**变更记录**
|
|
165
|
+
|
|
166
|
+
| 日期 | 说明 |
|
|
167
|
+
| ---- | ---- |
|
|
168
|
+
| 2026-06-06 | 首版:对齐 平台分类方案 + SDK 设计 |
|
|
169
|
+
| 2026-06-06 | 改为 `dazi-vscode` 完整可同步正文(客户环境不依赖 `dazi/docs/`) |
|
|
@@ -387,8 +387,9 @@ Cube 是 **物理表 → 分析语义 → 本体读模型** 的中间层;命
|
|
|
387
387
|
| 文档 | 说明 |
|
|
388
388
|
| ---- | ---- |
|
|
389
389
|
| [本体规划指南](./本体规划指南.md) | 规划章节、Cube 强制、自检 |
|
|
390
|
-
| [
|
|
391
|
-
| [
|
|
390
|
+
| [销售示例 plans](../../examples/onto/销售示例/plans/规划示例_产品销售本体规划方案.md) | 完整示例 |
|
|
391
|
+
| [利润示例 plans](../../examples/onto/利润示例/plans/规划示例_利润分析本体方案.md) | GL 域 |
|
|
392
|
+
| [设备运营 plans](../../examples/onto/设备运营/plans/化工设备运营分析本体方案.md) | 设备/OEE |
|
|
392
393
|
| [DaziScript SDK 参考](./dazi_script_sdk_reference.md) | `register_cube`、`define_object_type` API |
|
|
393
394
|
| [本体脚本编写指南](./本体脚本编写指南.md) | init / seed / 表间关系实施 |
|
|
394
395
|
| [本体分类规划与 SDK 扩展方案](./本体分类规划与SDK扩展方案.md) | 平台分类与 CATEGORY_REGISTRY |
|