跳到主要内容

本体论(工厂知识图谱)

概述​

PlantPulse Ontology 是将工厂的实体及其关系用图形表示的工厂知识图谱(Knowledge Graph)。

它帮助 AI 精确处理诸如“这个设备连接了哪些传感器?”、“如果这个泵停止,影响会波及到何处?”这类必须沿着关系追溯才能回答的问题。当只需层级结构时,资产树就够了,但对于影响传播或多条件交叉查询,则需要图。

已内置在平台中

本体论不是独立服务,而是在 PlantPulse 平台 server-web 内部运行。 该图是基于 Apache Jena 的内存 RDF 模型,并以平台数据库为源定期重新构建。 无需安装或运维单独的图数据库。

旧的独立服务 plantpulse-ontology(:8888) 已归档。那个时期的工具名称 (ontology_get_stats、ontology_get_graph 等)已不再存在。


节点类型(11 种)​

它们是 RDF 图中出现的类。

类说明
Site工厂/厂区
Area区域(制造厂房、公用工程区等)
Line生产线
Equipment设备(注塑机、包装机等)
Asset上述层级节点的公共父类——在跨层级查询全部资产时使用
Tag传感器标签
AlarmConfig报警设置
CommandDef设备命令定义
Statement设备规格书
Document设备附件文档
RegistryEntryUNS 注册表条目

层级关系: Site → Area → Line → Equipment → Tag


关系类型(3 种)​

与层级无关,资产之间还存在有方向的关系。影响传播查询会沿着这些关系进行。

关系含义
FEEDSA 向 B 供应(上游 → 下游)
DEPENDS_ONA 依赖于 B
PRODUCESA 生产 B

图工具(集成 MCP)​

AI 通过以下三个工具访问图。名称相似,但返回的维度不同——区分这三者正是本文档的核心。

工具返回内容何时使用
get_ontology一个厂区的 ISA-95 结构摘要 + 树(区域/产线/设备、每台设备的标签数量)“这个厂区如何组织的”、“有多少台设备”
query_ontology有向关系图(root + nodes[] + edges[])“X 停止影响‘波及’到何处”、“什么为 X 提供输入”
query_sparqlSPARQL SELECT/ASK 结果行需要交叉多个条件的查询

如果只需要纯层级,那么更适合使用 get_asset_tree 而不是本体论。

get_ontology 主要参数​

参数说明
site_id必填。 只知道名称时,先用 search_domains 解析出 ID
asset_id部分子树的根。指定查看特定产线/设备时使用
depth根节点以下的扩展深度。以厂区根为基准,1=区域、2=产线、3=设备
include_tags若为 true,则在设备节点中包含标签名称列表。默认仅包含数量(tag_count)
标签总数请只信赖 total_tag_count

对各个节点的 tag_count 求和会出错,因为未展开分支的标签会被遗漏。 如果响应中出现 total_tag_count_unknown=true,则意味着无法计数,请勿估算,缩小范围后重新查询。

query_ontology 主要参数​

参数默认值说明
entity_id(必填)搜索起始实体
directionDOWNDOWN=下游影响、UP=上游原因、BOTH
relation_type(全部)FEEDS / DEPENDS_ON / PRODUCES
depth2搜索深度 1~5

影响传播搜索示例​

“注塑机 DJ_M_01_1 停止会影响到何处”——使用 direction=DOWN 沿下游路径追溯。

[Equipment: DJ_M_01_1] ← 시작 노드
│ FEEDS
┌──────┴──────┐
▼ ▼
[Equipment: [Equipment:
건조기] 컨베이어]
│ FEEDS
▼
[Equipment: 포장기]

响应中包含已访问的节点(nodes[])和连接的关系(edges[])。如果因深度限制无法继续,则会显示 truncated,若该值为 true,请增大 depth 后重新查询。


更新方式​

该图以平台数据库为源定期重新构建。添加设备或更改标签后,将在下一个更新周期反映,因此刚注册的设备可能尚未出现在图中。更新周期由平台设置 semantic.graph.refresh.minutes 定义。


使用场景​

场景方法
掌握工厂构成使用 get_ontology 一次性获取区域/产线/设备结构及标签数量
异常原因追溯query_ontology direction=UP ——在异常设备的上游寻找原因候选
停机影响范围评估query_ontology direction=DOWN ——停止时波及到的下游范围
多条件交叉query_sparql ——例如“带有报警标签的3线设备”这类复合条件