🎮60분
Cypher 기초 — 그래프에 질문하기
제조 지식을 구조화하기
Cypher 기초 — 그래프에 질문하기
제조 지식을 구조화하기 > 제조 지식을 구조화하기
학습 목표
MATCH 패턴으로 관계를 탐색한다 가변 길이 경로로 다단계 질문을 던진다
Interactive Simulator
Cypher 기초 — 그래프에 질문하기
클릭하여 시뮬레이터를 실행하세요
그래프 질의어 Cypher
그래프는 패턴으로 질문합니다. SQL의 JOIN 대신 그림을 그리듯 씁니다.
기본 패턴
// 프레스 1호기의 구성품 찾기
MATCH (e:Equipment {name: '프레스 1호기'})-[:HAS_COMPONENT]->(c:Component)
RETURN c.name
화살표가 곧 관계입니다. 읽는 방향 그대로 씁니다.
관계를 따라 여러 단계
// 이 설비에서 발생 가능한 고장과 그 원인
MATCH (e:Equipment {name: '프레스 1호기'})
-[:HAS_COMPONENT]->(:Component)
-[:HAS_PART]->(p:Part)
-[:CAN_CAUSE]->(f:Fault)
-[:CAUSED_BY]->(r:RootCause)
RETURN p.name, f.name, r.name
가변 길이 경로 — 그래프의 진가
몇 단계인지 몰라도 됩니다.
// 이 설비에 속한 모든 하위 요소 (깊이 무관)
MATCH (e:Equipment {name: '프레스 1호기'})-[:HAS_COMPONENT|HAS_PART*1..3]->(x)
RETURN x
이게 표에서는 어려운 부분입니다. 깊이가 달라지면 JOIN 수가 달라지니까요.
역방향 탐색 — 사례 찾기
// '윤활 부족'이 원인인 모든 고장과 해당 설비
MATCH (r:RootCause {name: '윤활 부족'})<-[:CAUSED_BY]-(f:Fault)
MATCH (f)<-[:CAN_CAUSE]-(:Part)<-[:HAS_PART]-(:Component)<-[:HAS_COMPONENT]-(e:Equipment)
RETURN e.name, f.name
이 질문이 이 과정의 핵심 가치입니다. 한 설비의 고장 경험을 다른 설비로 옮기는 것, 그게 지식 자산화입니다.
실습
Cypher Playground에서 위 패턴을 직접 실행해 보고, 담당 설비 버전으로 바꿔 보세요.