30

Cypher 첫 경험: 기본 CRUD

그래프 데이터 모델 기초

ASCII Art처럼 직관적인 쿼리 언어

이 실습의 목표

Cypher는 "패턴 매칭" 기반의 쿼리 언어입니다. 그래프를 그림으로 그리듯 쿼리를 작성합니다.

SQL을 알고 있다면 30분이면 기본을 익힐 수 있습니다. 이 실습에서는 CREATE, MATCH, SET, DELETE의 기본을 다룹니다.

실습 과제

Cypher의 핵심 철학: "패턴으로 그려라"

에디터 로딩 중...

1. CREATE - 노드와 관계 생성

에디터 로딩 중...

2. MATCH - 데이터 조회 (가장 중요!)

에디터 로딩 중...

3. SET - 속성 수정

에디터 로딩 중...

4. DELETE & REMOVE - 삭제

에디터 로딩 중...

5. 유용한 Cypher 함수들

에디터 로딩 중...

6. SQL과 Cypher 대조표

작업SQLCypher
전체 조회SELECT * FROM usersMATCH (u:User) RETURN u
조건 조회WHERE age > 25WHERE u.age > 25
정렬ORDER BY nameORDER BY u.name
제한LIMIT 10LIMIT 10
삽입INSERT INTO...CREATE (:User {...})
수정UPDATE SET...SET u.name = ...
삭제DELETE FROM...DELETE u / DETACH DELETE u
JOINJOIN ... ON(a)-[:REL]->(b)
별칭AS aliasAS alias
집계COUNT, SUM, AVGCOUNT, SUM, AVG
그룹핑GROUP BY암묵적 (비집계 컬럼 기준)
서브쿼리(SELECT ...)CALL { ... }

실습 과제

다음을 Neo4j Browser에서 직접 실행해보세요:

  1. 자신과 친구 3명을 Person 노드로 생성
  2. KNOWS 관계로 연결 (since 속성 포함)
  3. 관심사(Hobby) 노드를 만들고 LIKES 관계 연결
  4. "같은 관심사를 가진 친구" 찾는 쿼리 작성
  5. 한 명의 나이를 수정하고 확인
  6. 관심사 하나를 삭제
에디터 로딩 중...
힌트 보기
  • CREATE는 항상 새 노드/관계를 만듦 - 중복 주의!
  • MERGE는 "없으면 생성, 있으면 매칭" - 중복 방지
  • DETACH DELETE는 연결된 관계도 함께 삭제
  • 노드 삭제 시 관계가 남아있으면 에러 - DETACH 필수