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

オントロジー (工場ナレッジグラフ)

概要​

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

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

プラットフォームに組み込まれています

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

旧独立サービス 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 は以下の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ライン設備」のような複合条件