25분
Step 1: 데이터 모델 설계
Weekly Project - 소셜 네트워크 그래프
Step 1: 데이터 모델 설계
그래프 이론 & Neo4j 입문 > Weekly Project - 소셜 네트워크 그래프
좋은 모델이 좋은 쿼리를 만든다
이 실습의 목표
그래프 프로젝트의 성패는 데이터 모델 설계에 달려있습니다. 잘 설계된 모델은:
- 쿼리가 직관적
- 성능이 좋음
- 확장이 쉬움
실습 과제
1단계: 엔티티 정의
Node Types (레이블)
| 레이블 | 설명 | 필수 속성 | 선택 속성 |
|---|---|---|---|
| User | 사용자 | name, email, joinedAt | age, city, bio |
| Post | 게시물 | content, createdAt | likes, shares |
| Interest | 관심사 | name, category | description |
| Company | 회사/학교 | name, type | location, foundedAt |
2단계: 관계 정의
Relationship Types
| 관계 | 시작 | 끝 | 속성 | 설명 |
|---|---|---|---|---|
| FOLLOWS | User | User | since | A가 B를 팔로우 |
| FRIENDS_WITH | User | User | since, strength | 친구 (양방향) |
| POSTED | User | Post | - | 게시물 작성 |
| LIKES | User | Post | at | 게시물 좋아요 |
| INTERESTED_IN | User | Interest | level | 관심사 |
| WORKS_AT | User | Company | since, role | 직장 |
| STUDIED_AT | User | Company | from, to, degree | 학력 |
3단계: 스키마 시각화
에디터 로딩 중...
4단계: 제약 조건 (Constraints)
에디터 로딩 중...
과제: 자신만의 모델 설계
- 위 모델을 기반으로 확장하거나
- 완전히 새로운 도메인 선택 가능:
- 영화/드라마 추천 (User-Movie-Actor-Genre)
- 음악 추천 (User-Song-Artist-Playlist)
- 게임 매칭 (Player-Game-Guild-Achievement)
제출물:
- 스키마 다이어그램 (ASCII 또는 이미지)
- 제약 조건 Cypher 파일
에디터 로딩 중...