🏆50분
RDF 모델링 챌린지: 영화 도메인
RDF & 트리플의 세계
RDF 모델링 챌린지: 영화 도메인
온톨로지 & 시맨틱웹 > RDF & 트리플의 세계
학습 목표
RDF/RDFS로 도메인 모델을 완성할 수 있다 Property Graph와 RDF의 차이를 실전으로 비교할 수 있다
Week 1의 영화 모델을 RDF로 재구현하기
도전 목표
Week 1 Day 1 Challenge에서 Property Graph로 설계한 영화 추천 데이터 모델을 RDF/RDFS로 재구현합니다. 두 모델을 직접 비교하며 장단점을 체감하세요.
요구사항
Part 1: RDFS 스키마 정의 (Turtle)
Python rdflib 또는 직접 Turtle 파일로 다음을 정의하세요:
에디터 로딩 중...
Part 2: 샘플 데이터 (최소 30개 트리플)
에디터 로딩 중...
Part 3: rdflib 코드로 구현
에디터 로딩 중...
Part 4: 비교 분석 (텍스트)
아래 표를 작성하세요:
에디터 로딩 중...
보너스
- RDFS 추론 테스트: Actor가 Person의 subClass이면, Actor 인스턴스를 Person으로 조회
- JSON-LD로도 직렬화하여 웹 API 응답 형태로 출력
- Schema.org 어휘(schema:Movie, schema:Person)를 사용해 봄
평가 기준
| 항목 | 배점 |
|---|---|
| RDFS 스키마 완성도 (클래스 계층, 속성 제약) | 30% |
| 샘플 데이터 규모와 정확성 (30+ 트리플) | 25% |
| rdflib 코드 동작 여부 | 25% |
| Property Graph 비교 분석 | 20% |
힌트 보기
Actor rdfs:subClassOf Person → Actor 인스턴스는 자동으로 Person 시청 기록(평점 포함)은 Blank Node 또는 중간 노드로 모델링 g.triples((None, RDF.type, MV.Movie))로 모든 영화 조회 g.objects(MV.Parasite, MV.hasGenre)로 특정 영화의 장르 조회 g.serialize(format='json-ld', indent=2)로 JSON-LD 출력