25

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 특징:

  • 축약 없음, 한 줄에 하나의 트리플
  • 파싱이 매우 쉬움 (줄 단위 처리)
  • 대량 데이터 벌크 로딩에 최적
  • 사람이 읽기엔 최악

포맷 비교 총정리

항목TurtleJSON-LDRDF/XMLN-Triples
가독성★★★★★★★★★☆★★☆☆☆★☆☆☆☆
파싱 속도★★★☆☆★★★★☆★★☆☆☆★★★★★
웹 호환★★☆☆☆★★★★★★★★☆☆★☆☆☆☆
표준화W3CW3CW3CW3C
용도학습/문서웹/API레거시벌크 처리
확장자.ttl.jsonld.rdf/.xml.nt
MIMEtext/turtleapplication/ld+jsonapplication/rdf+xmlapplication/n-triples

추천 선택 기준:

에디터 로딩 중...

핵심 정리

4가지 포맷은 모두 동일한 RDF 트리플을 표현합니다. 포맷은 "옷"이고 데이터는 같습니다.

📖 심화 읽기: 이강배 외, "지식그래프", 유원북스, 2025 — 2장 직렬화 포맷

핵심 포인트
  • Turtle: 가독성 최고, 세미콜론(;)과 쉼표(,)로 축약, 'a' = rdf:type
  • JSON-LD: @context로 JSON에 의미론 부여, 웹/API에 최적
  • RDF/XML: 최초 표준이지만 현재 레거시, 가독성 낮음
  • N-Triples: 축약 없이 한 줄 한 트리플, 벌크 로딩에 최적
  • 4가지 포맷 모두 동일한 RDF 그래프를 표현하는 직렬화 방식