원클릭으로
bkn-relation-bind
基于对象绑定结果判定关系类型,绑定中间视图(data_view 类型)。
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
基于对象绑定结果判定关系类型,绑定中间视图(data_view 类型)。
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
数据权限管理技能:支持资源权限查询与权限申请。 先判定“查询权限”还是“申请权限”,再按资源类型执行对应接口。 当用户提出“申请权限”、“查是否有权限”、“给某资源授权”时使用。
Guides creation of BKN (Business Knowledge Network) definition files following v2.0.1 spec. Covers network, object_type, relation_type, action_type, concept_group. Use when creating knowledge networks, BKN files, object types, relation types, action types, concept groups, or when user asks to model business knowledge in BKN format. When kweaver-core is also loaded, use it to run kweaver CLI (auth, bkn push) after files exist.
数据分析员工(Data Analyst Agent)的唯一总入口:凡与数据资产、取数、指标、表/视图、 治理职责、知识网络等相关的问题,必须先经本 skill 做编排与路由,再进入找表或问数等子流程。 当用户提出数据类问题、需要知识网络选择、或需要在找表与问数之间切换时使用。
向飞书指定用户(通过 user_id)推送消息。 支持文本、卡片、图片、文件等多种消息类型。当用户需要给飞书用户发送推送消息时自动使用。
全局归档协议。只要任务需要写入任何文件(含 PLAN.md、报告、JSON 等归档物),必须按本技能执行 Session→ARCHIVE_ID、TIMESTAMP、双轨路径(根段须为 archives/)、回读校验与状态回执;WebUI 的 archive_grid 必须用 Markdown 中语言标识为 json 的围栏代码块输出。
KWeaver CLI 操作层 — 内化自 kweaver-core。 覆盖认证、平台业务域(config)、知识网络管理与查询、Agent CRUD 与对话、 数据源管理、数据视图、Skill 注册、Vega 可观测、context-loader 语义搜索、通用 API 调用。 仅由 bkn-creator pipeline 内部读取,不独立注册到宿主 skill 系统。
| name | bkn-relation-bind |
| description | 基于对象绑定结果判定关系类型,绑定中间视图(data_view 类型)。 |
公约:../_shared/contract.md
在对象类绑定完成后,分析已绑定对象的视图 schema,判定每条关系的类型(direct 或 data_view),并为 data_view 类型推荐/绑定中间视图。
在 bkn-bind 之后、bkn-map 之前执行。此时对象类已绑定到具体数据视图,可以分析视图间的关联关系。
binding_decision_list:bkn-bind 的输出(bound 对象列表)view_schema_map:各对象视图的字段 schema + 外键信息relation_list:关系清单(来自 bkn-extract)dataview_availability:可选,平台可用视图列表(用于中间视图推荐)满足以下条件之一:
| 条件 | 说明 |
|---|---|
| 起点视图有字段直接引用终点视图 | 外键关系:orders.product_code → products.product_code |
| 起点属性与终点属性同名且类型兼容 | 如 supplier_code 在两端都存在 |
| 单数据源内的主键-外键关系 | 同一数据库内可直接 JOIN |
满足以下条件之一:
| 条件 | 说明 |
|---|---|
| 起点视图无字段直接引用终点视图 | 需中间表做桥梁 |
| 跨数据源 | 起点对象和终点对象来自不同数据源 |
| 多对多关系的中间表 | 如"订单-产品"通过"订单明细"关联 |
| 业务描述提及中间实体 | 文本中有"订单明细"、"关联表"等线索 |
对每条关系执行:
1. 获取起点对象的 view_schema
2. 获取终点对象的 view_schema
3. 检查起点视图是否有字段直接引用终点视图(外键检查)
4. 检查起点属性名是否与终点属性名匹配(同名检查)
5. 判定类型:
- 有直接关联 → direct
- 无直接关联 → data_view
1. 提取 Mapping Rules:
- 从外键信息提取 Source Property → Target Property
- 或从同名属性提取映射
2. 输出到 direct_relations 列表
1. 中间视图推荐:
- 扫描 dataview_availability,找同时引用起点和终点视图的候选
- 或根据业务名称线索匹配(如"订单明细"、"关联表")
- 输出候选列表(最多 5 个)
2. 用户确认:
- 有候选 → 展示候选列表,用户选择或跳过
- 无候选 → 标记 pending,提示后续补绑
3. 确认后提取映射:
- Source Mapping: 起点属性 → 中间视图字段
- Target Mapping: 中间视图字段 → 终点属性
- 不阻断流程
- 输出到 pending_relations 列表
- 在 pipeline_state.yaml 记录
- 后续可通过 update pipeline 补绑
起点视图 → 找引用它的视图 → 这些视图是否也引用终点视图?
↓
中间候选
业务文本中提到的中间实体:
"订单包含多个产品" → 搜索名称含"订单明细"、"order_item"的视图
匹配规则:
- 起点对象名 + 终点对象名 → "订单产品"
- 起点对象名 + "明细" → "订单明细"
- 起点/终点的别名组合
起点视图所属数据源 → 扫描该数据源的关联表 → 找同时含起点主键和终点主键的表
relation_binding_result:
direct_relations:
- 关系ID: ""
关系名称: ""
源对象: ""
目标对象: ""
mapping_rules:
- source_property: ""
target_property: ""
判定依据: "" # 如"起点视图 product_code 外键引用终点视图"
confidence: high | medium | low
data_view_relations:
- 关系ID: ""
关系名称: ""
源对象: ""
目标对象: ""
intermediate_view_id: "" # 确认后填入
intermediate_view_name: "" # 确认后填入
intermediate_view_candidates: # 推荐候选
- view_id: ""
view_name: ""
match_reason: ""
confidence: high | medium | low
status: confirmed | pending | rejected
source_mapping_rules: # 确认后填入
- source_property: ""
view_property: ""
target_mapping_rules: # 确认后填入
- view_property: ""
target_property: ""
判定依据: "" # 如"跨数据源,需中间视图"
pending_relations:
- 关系ID: ""
关系名称: ""
原因: "" # 如"无匹配中间视图候选"
建议: "" # 如"请手动指定中间视图或后续补绑"
relation_binding_summary:
total_relations: 0
direct_count: 0
data_view_confirmed_count: 0
data_view_pending_count: 0
pending_count: 0
当存在 data_view 类型关系需要确认时,pipeline 会暂停并展示:
检测到 {n} 条关系需要中间视图绑定:
【{关系名称}】
起点对象: {源对象} → 已绑定视图: {起点视图名}
终点对象: {目标对象} → 已绑定视图: {终点视图名}
判定依据: {判定依据}
推荐中间视图:
1. {候选1名} ({候选1ID}) - 匹配原因: {原因1}
2. {候选2名} ({候选2ID}) - 匹配原因: {原因2}
...
请选择:
A. 选择推荐候选(输入序号 1-5)
B. 手动指定中间视图(输入 view_id 或 view_name)
C. 暂时跳过,标记为 pending(后续可补绑)
D. 改为 direct 类型(起点属性直接关联终点属性)
| Skill | 消费内容 |
|---|---|
bkn-map | direct_relations.mapping_rules + data_view_relations.source/target_mapping_rules(仅 confirmed) |
bkn-draft | 关系类型 + Mapping 结构(pending 关系生成占位符版本) |
bkn-backfill | 关系类 Mapping View + Source/Target Mapping 回填 |
bkn-bind 输出的 bound 对象涉及的关系pending 或 rejected 时,对应关系也标记为 pendingpending 关系不阻断流程,可后续补绑以下情况跳过本 skill:
bind_mode == deferred(无可用数据视图)relation_list 为空pending 或 rejected