🏆30분
Day 3 도전: CRUD 마스터
Cypher 기초 CRUD
Day 3 도전: CRUD 마스터
그래프 이론 & Neo4j 입문 > Cypher 기초 CRUD
소셜 네트워크 데이터 완전 정복
도전 목표
오늘 배운 CREATE, MATCH, SET, DELETE, MERGE를 실제 시나리오에 적용해봅니다.
요구사항
시나리오: 소셜 네트워크 관리 시스템
당신은 소셜 네트워크의 데이터 관리자입니다. 아래 요구사항을 Cypher로 구현하세요.
Part 1: 데이터 생성 (CREATE/MERGE)
요구사항:
- 사용자 10명 생성 (이름, 나이, 도시, 가입일)
- 각 사용자 간 친구 관계 15개 생성 (since 속성 포함)
- 회사 3개 생성 (이름, 설립년도, 산업)
- 사용자-회사 간 WORKS_AT 관계 생성
힌트: MERGE 사용으로 중복 방지
Part 2: 데이터 조회 (MATCH)
아래 쿼리를 작성하세요:
에디터 로딩 중...
Part 3: 데이터 수정 (SET/REMOVE)
에디터 로딩 중...
Part 4: 데이터 삭제 (DELETE)
에디터 로딩 중...
제출물
- 모든 쿼리를
.cypher파일로 작성 - 각 쿼리에 주석으로 설명 추가
- 실행 결과 스크린샷 또는 결과 테이블
평가 기준
| 항목 | 배점 |
|---|---|
| CREATE/MERGE 정확성 | 25% |
| MATCH 쿼리 정확성 | 25% |
| SET/REMOVE 정확성 | 20% |
| DELETE 정확성 | 15% |
| 코드 가독성/주석 | 15% |
보너스
- 트랜잭션 사용 (BEGIN/COMMIT)
- APOC 함수 활용
- 복합 조건 쿼리 (CASE WHEN, COALESCE)
힌트 보기
COUNT(DISTINCT friend)로 친구 수 계산
NOT EXISTS { (p)--() }로 고립 노드 찾기
WHERE r.since < date("2020-01-01")로 날짜 비교
DETACH DELETE로 관련 관계 함께 삭제