10분
Day 4 개요: APOC 라이브러리
APOC 라이브러리 활용
Day 4 개요: APOC 라이브러리
Cypher 심화 & 데이터 모델링 > APOC 라이브러리 활용
학습 목표
APOC의 필요성 이해 APOC 카테고리 파악 학습 목표 확인
Day 4: APOC 라이브러리 활용
Hook: "순수 Cypher로는 불가능한 것들"
개발팀에서 이런 요청이 들어왔습니다:
"외부 API에서 JSON 데이터를 가져와서 그래프에 넣어주세요." "100만 노드를 한 번에 업데이트해야 하는데 메모리가 터져요." "동적으로 레이블을 변경할 수 없을까요?"
순수 Cypher로는 불가능합니다. → APOC이 필요합니다!
Why: APOC이란?
APOC = Awesome Procedures On Cypher
- Neo4j의 공식 확장 라이브러리
- 450개+ 프로시저와 함수 제공
- Cypher의 한계를 극복
APOC으로 가능한 것
| 기능 | 순수 Cypher | APOC |
|---|---|---|
| JSON/CSV 로드 | ❌ 불가 | ✅ apoc.load.json |
| 외부 API 호출 | ❌ 불가 | ✅ apoc.load.jsonParams |
| 대량 배치 처리 | ⚠️ 메모리 문제 | ✅ apoc.periodic.iterate |
| 동적 레이블 | ❌ 불가 | ✅ apoc.create.node |
| 텍스트 유사도 | ❌ 불가 | ✅ apoc.text.levenshteinSimilarity |
오늘의 학습 목표
- APOC 설치 및 설정 확인
- 데이터 Import/Export: JSON, CSV 로드
- 텍스트 처리: 정규식, 유사도
- 컬렉션 연산: zip, flatten, groupBy
- 배치 처리: apoc.periodic.iterate
학습 순서
| 순서 | 주제 | 시간 |
|---|---|---|
| 1 | APOC 개요 & 설치 | 15분 |
| 2 | 데이터 Import/Export | 25분 |
| 3 | 텍스트 처리 | 20분 |
| 4 | 컬렉션 연산 | 20분 |
| 5 | 배치 처리 | 25분 |
| 6 | Day 4 실습 | 30분 |
| 7 | Day 4 퀴즈 | 15분 |
| 8 | Day 4 챌린지 | 30분 |
총 학습 시간: 180분 (3시간)