Cypher MATCH — 관계를 탐색하는 쿼리

Cypher MATCH — 관계를 탐색하는 쿼리

MATCH 는 Cypher 에서 그래프에서 패턴을 찾아 노드와 관계를 검색하는 핵심 절이에요. SQL 의 SELECT ... WHERE 에 가깝지만, 패턴을 화살표로 표현하는 게 특징이에요.

기본 문법

MATCH (n)
RETURN n

모든 노드를 반환해요. (n) 은 노드 변수 n 을 나타내요.

라벨·프로퍼티로 필터링

MATCH (p:Person {name: 'Tom Hanks'})
RETURN p

라벨 Person 이고 name 프로퍼티가 Tom Hanks 인 노드를 찾아요.

관계 탐색

MATCH (p:Person)-[:ACTED_IN]->(m:Movie)
RETURN p.name, m.title

PersonACTED_IN 관계로 연결된 Movie 를 찾아요. 화살표 -> 가 관계의 방향을 나타내요.

가변 길이 관계 (다홉 경로)

MATCH (a:Person)-[:KNOWS*1..3]->(b:Person)
RETURN a.name, b.name

KNOWS 관계를 1~3홉 따라가는 경로를 찾아요. 소셜 네트워크·지식 그래프 탐색에 유용해요.

MATCH 후 작업

  • RETURN: 결과 반환.
  • WHERE: 추가 조건 필터(속성 비교, 관계 검사).
  • CREATE/MERGE: 새 노드·관계 생성 또는 존재 시 병합.

더 알아보기 (Learn more)

출처: Neo4j Cypher Manual — MATCH