30분
Cypher 첫 경험: 기본 CRUD
그래프 데이터 모델 기초
Cypher 첫 경험: 기본 CRUD
그래프 이론 & Neo4j 입문 > 그래프 데이터 모델 기초
ASCII Art처럼 직관적인 쿼리 언어
이 실습의 목표
Cypher는 "패턴 매칭" 기반의 쿼리 언어입니다. 그래프를 그림으로 그리듯 쿼리를 작성합니다.
SQL을 알고 있다면 30분이면 기본을 익힐 수 있습니다. 이 실습에서는 CREATE, MATCH, SET, DELETE의 기본을 다룹니다.
실습 과제
Cypher의 핵심 철학: "패턴으로 그려라"
에디터 로딩 중...
1. CREATE - 노드와 관계 생성
에디터 로딩 중...
2. MATCH - 데이터 조회 (가장 중요!)
에디터 로딩 중...
3. SET - 속성 수정
에디터 로딩 중...
4. DELETE & REMOVE - 삭제
에디터 로딩 중...
5. 유용한 Cypher 함수들
에디터 로딩 중...
6. SQL과 Cypher 대조표
| 작업 | SQL | Cypher |
|---|---|---|
| 전체 조회 | SELECT * FROM users | MATCH (u:User) RETURN u |
| 조건 조회 | WHERE age > 25 | WHERE u.age > 25 |
| 정렬 | ORDER BY name | ORDER BY u.name |
| 제한 | LIMIT 10 | LIMIT 10 |
| 삽입 | INSERT INTO... | CREATE (:User {...}) |
| 수정 | UPDATE SET... | SET u.name = ... |
| 삭제 | DELETE FROM... | DELETE u / DETACH DELETE u |
| JOIN | JOIN ... ON | (a)-[:REL]->(b) |
| 별칭 | AS alias | AS alias |
| 집계 | COUNT, SUM, AVG | COUNT, SUM, AVG |
| 그룹핑 | GROUP BY | 암묵적 (비집계 컬럼 기준) |
| 서브쿼리 | (SELECT ...) | CALL { ... } |
실습 과제
다음을 Neo4j Browser에서 직접 실행해보세요:
- 자신과 친구 3명을 Person 노드로 생성
- KNOWS 관계로 연결 (since 속성 포함)
- 관심사(Hobby) 노드를 만들고 LIKES 관계 연결
- "같은 관심사를 가진 친구" 찾는 쿼리 작성
- 한 명의 나이를 수정하고 확인
- 관심사 하나를 삭제
에디터 로딩 중...
힌트 보기
- • CREATE는 항상 새 노드/관계를 만듦 - 중복 주의!
- • MERGE는 "없으면 생성, 있으면 매칭" - 중복 방지
- • DETACH DELETE는 연결된 관계도 함께 삭제
- • 노드 삭제 시 관계가 남아있으면 에러 - DETACH 필수