用途:该技能是 Keboola 的语义层参考,用于在 Metastore 中结构化操作语义模型(semantic-model)、数据集(semantic-dataset)、指标(semantic-metric)、关系(semantic-relationship)、术语表(semantic-glossary)和约束(semantic-constraint),当用户提及 semantic layer、semantic model、SL、metastore、semantic-metric、semantic-dataset 等词时自动加载。
主要命令:/sl-show、/sl-validate、/sl-build 用于结构化操作;新增、编辑、删除等 CRUD 操作以对话方式完成,无需斜杠命令。
鉴权与配置:按环境变量、kbagent 配置文件、询问用户三级回退链解析 TOKEN、STACK、METASTORE,派生规则与示例代码见资料。/sl-build(schema 与 SQL 发现)和 /sl-validate --deep(针对 Snowflake 的幻影字段检查)需要 kbagent,CRUD 与 /sl-show、/sl-validate 不需要。
API:通过 METASTORE 的 /api/v1/repository/{type} 进行 GET、POST、PATCH、DELETE;类型包括上述六类。按模型过滤时用返回列表中 attributes.modelUUID 比较,?modelId 参数不可靠。各部分 POST 封装、payload 结构、字段角色与类型规则、FQN 生成、db_name() 缓存、指标 SUM/AVG 规则、VERSION 表探测流程等均以资料中的原始代码为准。
校验:会标记 PHANTOM FIELD、DANGLING REL、REL PHANTOM、DANGLING METRIC、METRIC PHANTOM、AGG ON STRING、SUM ON PCT、DUPLICATES、CONSTRAINT ORPHAN 等错误,以及约束名缺少后缀等非阻断警告。
CRUD 要点:新增前展示 payload;编辑一律用 PATCH 原位更新并保留 UUID 与修订历史,不要 DELETE+POST;删除前确认并检查约束引用。指标重命名会改变 CODE_METRIC,下游 SQL 可能静默失效;数据集 tableId 变更不会级联。
限制与注意事项:severity 仅支持 error/warning/info;sql_dialect 为封闭集合且区分大小写,必须为 'Snowflake' 或 'BigQuery';modelUUID 因项目而异,跨环境迁移时需获取目标项目的模型列表。其余收费、价格、平台、效果等信息暂未提供。