25분
RDF 직렬화: Turtle, JSON-LD, RDF/XML
RDF & 트리플의 세계
RDF 직렬화: Turtle, JSON-LD, RDF/XML
온톨로지 & 시맨틱웹 > RDF & 트리플의 세계
학습 목표
4가지 RDF 직렬화 포맷의 차이를 설명할 수 있다 Turtle 축약 문법(;, ,, a)을 사용할 수 있다 용도에 맞는 직렬화 포맷을 선택할 수 있다
같은 트리플, 다른 옷 — RDF 직렬화 포맷 비교
학습 목표
- 4가지 주요 RDF 직렬화 포맷(Turtle, JSON-LD, RDF/XML, N-Triples)을 구분한다
- 각 포맷의 장단점과 적합한 사용 시나리오를 안다
- Turtle 축약 문법(
;,,)을 사용할 수 있다
동일한 데이터, 4가지 표현
아래 사실들을 4가지 포맷으로 표현합니다:
- Alice는 Person이다
- Alice의 이름은 "Alice"이다
- Alice의 나이는 27이다
- Alice는 Bob을 안다
1. Turtle (.ttl) — 가장 인간 친화적
에디터 로딩 중...
Turtle 축약 문법:
에디터 로딩 중...
2. JSON-LD (.jsonld) — 웹 개발자 친화적
에디터 로딩 중...
JSON-LD의 강점:
- 기존 JSON API에
@context만 추가하면 RDF 호환 - 웹 개발자가 별도 학습 없이 사용 가능
- Schema.org, Google 구조화 데이터에 사용
- REST API 응답에 의미론(semantics) 추가
3. RDF/XML (.rdf) — 최초의 표준 포맷
에디터 로딩 중...
RDF/XML 특징:
- W3C 최초 표준 직렬화 (1999년)
- XML 도구로 처리 가능
- 사람이 읽기 매우 어려움
- 현재는 레거시, 새 프로젝트에서는 Turtle/JSON-LD 권장
4. N-Triples (.nt) — 기계 처리용
에디터 로딩 중...
N-Triples 특징:
- 축약 없음, 한 줄에 하나의 트리플
- 파싱이 매우 쉬움 (줄 단위 처리)
- 대량 데이터 벌크 로딩에 최적
- 사람이 읽기엔 최악
포맷 비교 총정리
| 항목 | Turtle | JSON-LD | RDF/XML | N-Triples |
|---|---|---|---|---|
| 가독성 | ★★★★★ | ★★★★☆ | ★★☆☆☆ | ★☆☆☆☆ |
| 파싱 속도 | ★★★☆☆ | ★★★★☆ | ★★☆☆☆ | ★★★★★ |
| 웹 호환 | ★★☆☆☆ | ★★★★★ | ★★★☆☆ | ★☆☆☆☆ |
| 표준화 | W3C | W3C | W3C | W3C |
| 용도 | 학습/문서 | 웹/API | 레거시 | 벌크 처리 |
| 확장자 | .ttl | .jsonld | .rdf/.xml | .nt |
| MIME | text/turtle | application/ld+json | application/rdf+xml | application/n-triples |
추천 선택 기준:
에디터 로딩 중...
핵심 정리
4가지 포맷은 모두 동일한 RDF 트리플을 표현합니다. 포맷은 "옷"이고 데이터는 같습니다.
📖 심화 읽기: 이강배 외, "지식그래프", 유원북스, 2025 — 2장 직렬화 포맷
핵심 포인트
- • Turtle: 가독성 최고, 세미콜론(;)과 쉼표(,)로 축약, 'a' = rdf:type
- • JSON-LD: @context로 JSON에 의미론 부여, 웹/API에 최적
- • RDF/XML: 최초 표준이지만 현재 레거시, 가독성 낮음
- • N-Triples: 축약 없이 한 줄 한 트리플, 벌크 로딩에 최적
- • 4가지 포맷 모두 동일한 RDF 그래프를 표현하는 직렬화 방식