vscode-templete/.claude/skills/auto-wiki-cn/references/seed-ontologies.md

138 lines
4.8 KiB
Markdown
Raw Normal View History

# 种子本体:用标准词表引导 wiki 结构
> 种子是可选的冷启动参考,不是强制依赖。
> 没有种子的领域wiki 自由生长——种子只是让起步更规范。
## 机制
### 什么是种子
种子seed是一份领域词表配置包含
| 内容 | 作用 |
|------|------|
| **标准术语** | 给 wiki 页面的 slug 和标题提供命名参考 |
| **分类体系** | 提示 Agent 该领域通常有哪些维度需要关注 |
| **关系模板** | 标准的实体间关系类型manages, regulates, invests_in 等) |
| **禁混规则** | 标注常见的概念混淆,防止 Agent 搞混 |
种子文件存放在 `seeds/` 目录,每个领域一个文件。
### 如何引用
新建 wiki 时,在 `meta.yaml` 中声明使用哪个种子:
```yaml
name: my-research-topic
ontology_type: domain
seed: fibo-pensions # 引用 seeds/fibo-pensions.md
```
Agent 在首次 ingest 前读取对应的种子文件。如果 `seed` 字段为空或未设置跳过种子wiki 自由生长。
### 不做什么
- 不做 OWL/RDF 导入——wiki 是 markdown不是语义网
- 不强制使用标准术语——如果领域实际用语不同,以实际为准,但标注映射关系
- 不覆盖用户自定义——种子只是起步参考wiki 演化后会超出种子范围
---
## 可用种子
| 种子文件 | 覆盖领域 | 基于标准 |
|---------|---------|---------|
| `seeds/fibo-pensions.md` | 企业年金、养老金管理 | FIBO (EDM Council) |
| *(待扩展)* | | |
### 可参考的行业标准本体
写新种子时可以参考这些标准:
| 标准 | 覆盖领域 | 适用场景 | 参考链接 |
|------|---------|---------|---------|
| **FIBO** | 金融全行业 | 银行、保险、基金、养老金 | spec.edmcouncil.org/fibo |
| **XBRL Taxonomy** | 财务报告 | 上市公司财务数据分析 | xbrl.org |
| **Schema.org** | 通用实体 | 人物、组织、事件、地点 | schema.org |
| **SKOS** | 知识组织 | 分类体系、概念层级 | w3.org/2004/02/skos |
| **Dublin Core** | 文档元数据 | source 页面的 frontmatter | dublincore.org |
| **FOAF** | 人物与社交 | 人物研究cognitive 类型) | xmlns.com/foaf |
| 研究类型 | 推荐种子/标准 |
|---------|-------------|
| 企业年金 / 养老金 | `fibo-pensions` |
| 公募基金 | FIBO-SEC (Fund),可基于此写新种子 |
| 上市公司分析 | FIBO-BP + XBRL |
| 宏观经济 | 无标准种子(自由生长) |
| 人物认知 | FOAF + 自定义心智模型类型 |
| 通用主题 | Schema.org |
---
## Agent 如何使用种子
### 在 ingest 时
```
1. 读取源文件,提取关键实体
2. 如果 meta.yaml 声明了 seed → 读取种子文件,对照词表:
- 该实体是否有标准名称?→ 使用标准名称作为页面 slug
- 该实体属于哪个标准类别?→ 放入对应的 entities/ 或 concepts/
- 是否触碰禁混规则?→ 在页面中明确区分
3. 正常执行 ingest 后续步骤
```
**示例**(以金融领域为例):
```
源文件提到某银行的养老金业务
→ 对照种子词表:这是一个 Organization担任 Trustee 角色
→ 创建 entities/bank-x.md机构页面
→ 在关系中标注 bank-x 担任 trustee 角色
→ 不创建 entities/bank-x-trustee.md机构 ≠ 角色,遵守禁混规则)
```
### 在 lint 时
```
1. 如果 meta.yaml 声明了 seed → 读取种子文件
2. 检查页面命名是否与种子词表对齐
3. 检查是否违反禁混规则
4. 检查是否有种子中的关键维度未被覆盖
5. 在健康报告中输出对齐度评分
```
### 在 query 时
```
用户提问某个领域术语
→ Agent 从种子词表知道该术语的标准位置和关联概念
→ 搜索时扩展到关联概念
→ 回答更全面
```
---
## 外部校验器
种子文件可以声明关联的外部校验器frontmatter 中的 `validator` 字段)。
校验器提供运行时逻辑校验,超越种子的静态词表——校验关系的 domain/range 合法性、实体的必要关系是否缺失等。
校验器配置存放在 `validators/` 目录。详见具体校验器文档。
当前可用校验器:
| 校验器 | 说明 | 对应种子 |
|--------|------|---------|
| `validators/fibo-mcp.md` | FIBO SPARQL 逻辑校验627K 推理三元组) | `fibo-pensions` |
**校验器是可选增强**。不可达时 lint 退化为 schema.py 格式校验 + 种子静态规则,不影响核心流程。
---
## 局限
1. **种子只是起点,不是终点**。Wiki 积累后会产生种子中没有的概念
2. **标准术语可能与行业实际用语不同**。以行业用语为准,但在页面中标注标准术语映射
3. **不是所有领域都有成熟的标准本体**。没有合适种子的领域wiki 自由生长即可
4. **种子本身也在演化**。标准更新时wiki 不需要同步更新——种子只在冷启动时参考