RDF (Resource Description Framework)

정의: W3C에서 정의한 시맨틱 웹 표준. 모든 정보를 트리플(Triple) (Subject, Predicate, Object) 형태로 표현하는 데이터 모델.

핵심 특징

트리플 구조

(주어, 술어, 목어) = (Subject, Predicate, Object)

예:
(Alice, knows, Bob)
(Alice, age, 30)
(Google, founded, 1998)

구성 요소:

  • Subject: 문장의 주인공 (URI 또는 리소스)
  • Predicate: 관계 또는 속성 (URI로 표현)
  • Object: 값 또는 다른 리소스 (URI 또는 리터럴)

시맨틱 웹 기반

  • 의미 중심 — 기계가 이해 가능한 의미를 명시
  • 상호운용성 — URI를 통해 전 세계 데이터 연결
  • 표준화 — W3C 국제 표준으로 광범위 지원

직렬화 형식

Turtle (가장 읽기 쉬움)

@prefix ex: <http://example.org/> .
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
 
ex:alice a foaf:Person ;
  foaf:name "Alice" ;
  foaf:age 30 ;
  foaf:knows ex:bob .

RDF/XML

<rdf:RDF xmlns:rdf="..." xmlns:foaf="...">
  <rdf:Description rdf:about="http://example.org/alice">
    <rdf:type rdf:resource="http://xmlns.com/foaf/0.1/Person"/>
    <foaf:name>Alice</foaf:name>
    <foaf:age>30</foaf:age>
  </rdf:Description>
</rdf:RDF>

N-Triples (정규 형태)

<http://example.org/alice> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://xmlns.com/foaf/0.1/Person> .
<http://example.org/alice> <http://xmlns.com/foaf/0.1/name> "Alice" .

쿼리 언어: SPARQL

PREFIX foaf: <http://xmlns.com/foaf/0.1/>
 
SELECT ?person ?name
WHERE {
  ?person a foaf:Person ;
          foaf:name ?name ;
          foaf:knows ?other .
}

RDF의 장점

표준화 — W3C 국제 표준으로 광범위 지원 ✅ 의미론적 정밀성 — 명확한 의미 표현 ✅ 상호운용성 — 서로 다른 시스템 간 데이터 통합 용이 ✅ 확장성 — 새로운 술어 추가 쉬움

RDF의 단점

복잡한 학습곡선 — URI, 네임스페이스, 직렬화 형식 이해 필요 ❌ 성능 — 대규모 쿼리에서 느림 ❌ 속성 표현 제한 — 복잡한 속성 표현이 번거로움 ❌ 실무 채용 낮음 — 주로 학술/표준화 도메인

사용 사례

의료/법률 — 표준화가 중요한 도메인 ✅ 학술 연구 — 온톨로지 기반 지식 표현 ✅ 정부 데이터 — 공개 데이터 상호운용성 ✅ 도서관/박물관 — 메타데이터 관리

LPG와의 비교

항목RDFLPG
기본 단위트리플 (S-P-O)노드 + 관계
속성제한적풍부함
학습곡선가파름완만함
표준화W3C 표준업계 표준
실무 채용낮음높음

관련 개념


출처: rdf-lpg — RDF vs LPG 상세 비교