본문으로 건너뛰기
워크숍 개요
5/7번째 챕터
20분

설비 맥락에 담당자·위치·근무조 잇기

IoT 온톨로지를 적재하고 설비·센서·정비 이벤트에 담당자·위치·근무조를 연결해 상위 5범주를 모두 채웁니다.

이번 단계의 질문

CNC-03의 경고를 현장 점검에 넘길 때 어떤 설비 맥락을 함께 보여 줘야 할까요?

왜 지금 필요한가

경고 한 행만 넘기면 담당자는 설비에 어떤 센서가 붙었고 정비 사건이 생성됐는지 다시 찾아야 합니다. 게다가 누가 맡고 어디로 가야 하며 언제 처리했는지는 아예 빠져 있어 작업 지시를 만들 수 없습니다.

상위 온톨로지는 이 빈칸을 다섯 범주로 나눠 채웁니다.

범주답하는 질문이 시나리오의 엔티티
Object무엇이 이상인가?iot_machine, iot_sensor
Event무슨 일이 일어났는가?iot_maintenance_event
Agent누가 대응하는가?iot_technician
Location어디에서 일어났는가?iot_location
Time언제 처리했는가?iot_shift

직접 해보기

processedIoT 온톨로지 적재 파이프라인(ontology_materialization)을 실행합니다. 파이프라인은 센서·이상·건전성 데이터셋에 설비·위치·담당자·근무조·정비 이력 마스터 5종을 결합합니다. 완료되면 엔티티와 관계 행 수를 확인합니다.

엔티티행 수범주의미
iot_machine9ObjectCNC 설비
iot_sensor27Object설비-센서 종류 조합
iot_maintenance_event6Event이상에 대응해 생성된 정비 사건
iot_technician6Agent정비 담당자
iot_location4Location라인-구역 조합
iot_shift2Time주간조·야간조
관계행 수연결
iot_reads_from27센서 → 설비
iot_triggers6설비 → 정비 이벤트
iot_located_at9설비 → 위치
iot_performs6담당자 → 정비 이벤트
iot_occurs_during6정비 이벤트 → 근무조
iot_assigned_to6담당자 → 근무조

설비 구성부터 확인합니다

그래프 탐색기에서 CNC-01의 센서 구성을 확인합니다.

MATCH path=(s:iot_sensor)-[:iot_reads_from]->(m:iot_machine)
WHERE m.machine_id = 'CNC-01'
RETURN path

CNC-01에는 진동·온도·압력 센서 3개가 연결됩니다. 다른 여덟 대도 마찬가지로 3개씩입니다. 구성이 모두 같으므로 센서 관계만으로는 점검 순서를 정할 수 없습니다.

이어서 첫 점검 대상인 CNC-03을 확인합니다.

MATCH path=(m:iot_machine)-[:iot_triggers]->(e:iot_maintenance_event)
WHERE m.machine_id = 'CNC-03'
RETURN path

CNC-03에서 HIGH 진동 경고가 만든 정비 이벤트 한 건으로 이어지면 성공입니다.

누가·어디서·언제를 한 번에 읽습니다

HIGH 설비 네 대의 담당자, 구역, 근무조를 한 쿼리로 모읍니다.

MATCH (m:iot_machine)-[:iot_triggers]->(e:iot_maintenance_event)
MATCH (m)-[:iot_located_at]->(l:iot_location)
MATCH (t:iot_technician)-[:iot_performs]->(e)
MATCH (e)-[:iot_occurs_during]->(s:iot_shift)
WHERE e.severity = 'HIGH'
RETURN m.machine_id, l.location_id, l.zone, t.name, t.team, s.shift_name
ORDER BY m.machine_id

이 결과가 나오면 성공

설비위치담당자소속 팀근무조
CNC-03LOC-A2 Zone-2박지훈 (TECH-03)정밀가공2팀주간조
CNC-05LOC-B1 Zone-1최민서 (TECH-04)조립1팀주간조
CNC-07LOC-B2 Zone-2정예은 (TECH-05)조립2팀주간조
CNC-09LOC-A2 Zone-2박지훈 (TECH-03)정밀가공2팀주간조

다이어그램을 불러오는 중입니다. Mermaid 원본:

flowchart LR
    accTitle: 상위 온톨로지 5범주로 이어진 IoT 관계
    accDescr: 센서와 설비는 Object, 정비 이벤트는 Event이며 담당자는 Agent, 라인과 구역은 Location, 근무조는 Time으로 이어져 하나의 이상 사건이 무엇 누가 어디서 언제에 모두 답합니다.
    sensor["센서 · Object"] --> machine["설비 · Object"]
    machine --> event["정비 이벤트 · Event"]
    machine --> location["라인·구역 · Location"]
    tech["담당자 · Agent"] --> event
    event --> shift["근무조 · Time"]
    tech --> shift

다섯 범주가 이어지면 이상 사건 하나가 무엇이 · 어디서 · 누구에게 · 언제 넘어가는지 한 경로로 설명됩니다.

결과를 해석합니다

앞선 챕터는 점검 대상 네 대와 시작 순서를 정했습니다. 이 쿼리는 그 순서를 실제 인력에 배치합니다.

  • 담당자 — CNC-03과 CNC-09를 모두 박지훈(TECH-03)이 맡습니다. 이 둘만 한 줄에 섭니다. CNC-05는 최민서(TECH-04), CNC-07은 정예은(TECH-05)이 맡으므로 순번을 기다릴 이유가 없습니다. 네 대가 세 갈래로 나뉩니다.
  • 구역TECH-03이 맡는 두 대는 같은 LOC-A2에 있습니다. 이동 없이 이어서 처리할 수 있어 순차 배치가 오히려 유리합니다.
  • 건수와 등급iot_locationanomaly_countLOC-A1 2건, LOC-A2 2건입니다. 건수는 같지만 LOC-A1의 두 건은 CNC-01·CNC-02의 MEDIUM·LOW입니다. 구역별 건수만 세면 위험도를 잘못 읽습니다.
  • 근무조 — 여섯 이벤트 모두 주간조(SHIFT-D)입니다. 야간조(SHIFT-N)의 이상 대응은 0건이므로, 교대 시작 직후 시간대를 점검 루틴에서 다시 볼 근거가 생깁니다.

다음 판단

원천 신호, 통계 검사, 설비 점수, 5범주 관계 맥락을 모두 확인했습니다. 다음 챕터에서 네 가지 핵심 판단을 짧게 점검한 뒤, 마지막 챕터에서 결정을 한 문장으로 설명합니다.