メインコンテンツまでスキップ

Ontology — 工場ナレッジグラフ

概要

PlantPulse Ontology は、工場のエンティティとその関係をグラフで表現した 工場ナレッジグラフ(Knowledge Graph) です。

「この設備に接続されているセンサーは?」「このポンプが停止したらどこまで影響が及ぶか?」のように、関係をたどらなければ答えられない質問を AI が正確に処理できるよう支援します。階層だけが必要な場合は資産ツリーで十分ですが、影響の伝播や複数条件の交差にはグラフが必要です。

プラットフォームに内蔵されています

オントロジーは独立したサービスではなく、PlantPulse プラットフォームの server-web 内で動作します。 グラフは Apache Jena ベースのインメモリ RDF モデルであり、プラットフォーム DB を源泉として定期的に再構築されます。 別途グラフ DB をインストールしたり運用したりする必要はありません。

旧独立サービス plantpulse-ontology(:8888)はアーカイブされました。当時のツール名 (ontology_get_statsontology_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 は以下の3つのツールでグラフにアクセスします。名前は似ていますが返す軸が異なります — この3つを区別することが本ドキュメントの要点です。

ツール返すもの使う場面
get_ontology1サイトの 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_tagstrue の場合、設備ノードにタグの名称リストを含めます。既定は件数(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 を上げて再照会してください。


更新方式

グラフはプラットフォーム DB を源泉として定期的に再構築されます。 設備を追加したりタグを変更した場合は次の更新周期で反映されるため、登録直後の設備がまだグラフに存在しないことがあります。更新周期はプラットフォーム設定 semantic.graph.refresh.minutes で決めます。


活用シナリオ

シナリオ方法
工場構成の把握get_ontology でエリア/ライン/設備の構造とタグ数を一度に
異常原因の追跡query_ontology direction=UP — 異常設備の上流から原因候補を探す
停止影響範囲の算定query_ontology direction=DOWN — 停止時に下流へ波及する範囲
複数条件の交差query_sparql — 「アラームが設定されたタグを持つ3ラインの設備」のような複合条件