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

オントロジー(知識グラフ)を理解する

オントロジーとは?​

オントロジー(Ontology)は、工場のすべてのもの — 設備、センサー、アラーム、作業指示、製品など — の間の関係を地図のように描いたものです。

一般的なデータベース(テーブル)は「リスト」をうまく示します。しかし、「この設備に接続されたセンサーは? そのセンサーに設定されたアラームは? そのアラームに関連する作業指示は?」のような関係の追跡は困難です。

オントロジーはこのような関係をグラフとして表現し、AIが即座に探索できるようにします。

備考

2026-07の再編により、オントロジーは独立サービスではなくPlantPulseプラットフォーム統合MCP(server-web /api/v5/mcp)に統合されました。以下の概念・同期の説明はそのまま有効で、グラフツールは統合MCPを通じて提供されます。


テーブル vs グラフ​

既存方式(リレーショナルDBテーブル)​

[설비 테이블] [센서 테이블]
+----------+--------+ +----------+----------+-------+
| 설비_ID | 이름 | | 센서_ID | 설비_ID | 단위 |
+----------+--------+ +----------+----------+-------+
| E001 | 주입기 | | T001 | E001 | °C |
| E002 | 포장기 | | T002 | E001 | bar |
+----------+--------+ | T003 | E002 | rpm |
+----------+----------+-------+

"E001 설비와 연결된 모든 것을 찾으려면?"
→ 설비 테이블 조회 → 센서 테이블 조인 → 알람 테이블 조인 → 작업지시 테이블 조인 → ...
→ 테이블이 많아질수록 조인이 복잡해지고 느려짐

オントロジー方式(グラフDB)​

[엔터프라이즈: 코펜스]
│
OWNS_SITE
│
[사이트: 대전]
│
HAS_AREA
│
[구역: 제조동]
│
HAS_LINE
│
[라인: M_01]
╱ ╲
HAS_EQUIPMENT HAS_EQUIPMENT
╱ ╲
[설비: 주입기] [설비: 포장기]
╱ │ ╲ │
HAS_TAG HAS_TAG HAS_ALARM HAS_TAG
╱ │ ╲ │
[온도] [압력] [고온알람] [속도]
│
TRIGGERS
│
[작업지시: 점검]
│
ASSIGNED_TO
│
[직원: 김기사]

「注入機に関連するすべてのもの」を探すには? → 注入機ノードから接続された線(関係)をたどるだけでよい → ミリ秒単位で結果を返す


PlantPulsオントロジー構造​

14種のノード(エンティティ)​

工場のすべてのものを14種類のノードで表現します。

┌─────────────────────────────────────────────┐
│ 자산 계층 │
│ │
│Enterprise ─→ Site ─→ Area ─→ Line ─→ Equipment│
│ │ │
│ Tag ←┘ │
└─────────────────────────────────────────────┘

┌─────────────────────────────────────────────┐
│ 운영 데이터 │
│ │
│ AlarmConfig Order Calendar │
│ (알람 설정) (작업지시) (일정) │
└─────────────────────────────────────────────┘

┌─────────────────────────────────────────────┐
│ 마스터 데이터 │
│ │
│ Product Customer Employee Opc │
│ (제품) (고객) (직원) (OPC서버) │
└─────────────────────────────────────────────┘

┌─────────────────────────────────────────────┐
│ 문서 데이터 │
│ │
│ AssetStatement AssetDocument │
│ (설비 명세서) (설비 문서) │
└─────────────────────────────────────────────┘

関係(エッジ)​

ノード間の接続は関係として表現されます。各関係には方向があります。

関係意味例
OWNS_SITEエンタープライズがサイトを所有コペンス → テジョン工場
HAS_AREAサイトがエリアを含むテジョン工場 → 製造棟
HAS_LINEエリアがラインを含む製造棟 → M_01ライン
HAS_EQUIPMENTラインが設備を含むM_01 → 注入機
HAS_TAG設備がセンサーを保有注入機 → 温度センサー
HAS_ALARM設備/タグにアラーム設定温度センサー → 高温アラーム
HAS_ORDER設備に作業指示を割当注入機 → 点検作業
PRODUCESラインが製品を生産M_01 → 製品A
CONNECTED_TOOPCサーバーに接続注入機 → OPCサーバー1

サブグラフ探索​

オントロジーの最も強力な機能はサブグラフ探索です。

特定のノードを中心に**depth(深さ)**を指定すると、その範囲内のすべての接続を一度に取得します。

depth=1(直接接続のみ)​

질문: "주입기에 직접 연결된 것들을 보여줘"

[라인: M_01]
│
┌───────┼───────┐
▼ ▼
[온도센서] [압력센서]
│
[고온알람]

depth=2(2段階まで)​

질문: "주입기와 2단계 이내 연결된 모든 것을 보여줘"

[구역: 제조동] ← depth 2
│
[라인: M_01] ← depth 1
│
┌────────┼────────┐
▼ ▼ ▼
[온도] [압력] [고온알람] ← depth 1
│ │
▼ ▼
[OPC1] [작업지시] ← depth 2
│
[김기사] ← depth 2

depthを増やすとより広い範囲を探索できますが、大きすぎると結果が膨大になります。depth=2がほとんどの分析に適しています。


自動同期​

PlantPulseメインDB(PostgreSQL)のデータが変更されると、Neo4jグラフが自動的に同期されます。

PlantPulse IIoT DB (PostgreSQL)
│
│ 60초마다 변경 감지
│
▼
Ontology 동기화 엔진
│
│ 변경된 엔티티만 업데이트
│ 배치 크기: 500건
│
▼
Neo4j 그래프 DB
(항상 최신 상태 유지)
備考

手動でNeo4jを管理する必要はありません。設備が追加されたり作業指示が作成されたりすると、自動的にグラフに反映されます。


AIがオントロジーを活用する方法​

例1: 設備総合レポート​

사용자: "주입기 상태를 종합적으로 알려줘"

AI 내부 동작:
1. Ontology → 주입기 서브그래프(depth=2) 조회
→ 연결된 센서 5개, 알람 3개, 작업지시 2개 파악

2. 통합 MCP → 센서 5개 최신값 조회
3. TimeSeries → 이상 탐지 실행
4. 통합 MCP → 알람 3개 상태 확인
5. 통합 MCP → 작업지시 2개 진행 상황 확인

6. 종합 리포트 생성:
"주입기는 현재 정상 가동 중입니다.
센서 5개 중 온도센서에서 경미한 이상이 감지되었습니다.
관련 점검 작업지시가 김기사에게 할당되어 있습니다."

例2: 異常影響範囲分析​

사용자: "온도센서 이상이 어디까지 영향을 미칠 수 있어?"

AI 내부 동작:
1. Ontology → 온도센서 서브그래프(depth=3) 조회
→ 온도센서 → 주입기 → M_01 라인 → 제조동

2. 영향 범위 파악:
"온도센서 이상 → 주입기 정지 가능
→ M_01 라인 가동률 저하
→ 같은 라인의 다른 설비(포장기)에도 영향"

例3: 工場構造の可視化​

사용자: "대전 공장 구조를 보여줘"

AI 내부 동작:
1. Ontology → 대전 사이트 그래프 조회
2. Mermaid 다이어그램으로 자동 변환:

graph TD
대전공장 --> 제조동
대전공장 --> 유틸리티동
제조동 --> M_01라인
제조동 --> M_02라인
M_01라인 --> 주입기
M_01라인 --> 포장기
...

グラフDB vs リレーショナルDB性能比較​

クエリ種別リレーショナルDB(PostgreSQL)グラフDB(Neo4j)
単一エンティティ照会速い速い
2段階関係探索JOIN 2回必要即時
3段階関係探索JOIN 3回、徐々に遅くなる即時
N段階関係探索N-JOIN、非常に遅い一定の速度
「接続されたすべて」複雑なクエリが必要サブグラフ1回の呼び出し
備考

リレーショナルDBは「リスト照会」に強く、グラフDBは**「関係探索」に強いです**。PlantPulseはこの2つを併用し、それぞれの長所を活用します。