RDF란: 웹의 모든 것을 주어-술어-목적어 삼중으로 그리는 법
웹 메타데이터를 주어-술어-목적어 삼중으로 표현하는 RDF의 그래프 데이터 모델과 직렬화·RDFS 비교·SHACL 검증·실무 적용 사례를 Turtle 예제와 함께 정리한다.
2026-08-12 · 최초 발행 2025-11-26
문장 하나를 그래프 간선 하나로
'앨리스는 밥을 안다'는 문장을 XML 트리에 담으려면 어디에 앨리스를, 어디에 밥을 놓을지부터 정해야 한다. RDF(Resource Description Framework)는 이 문제를 다르게 푼다 — 모든 진술을 주어(subject)–술어(predicate)–목적어(object)로 이뤄진 삼중(triple)으로 표현하고, 이 삼중들이 모여 방향성 간선을 가진 그래프를 이룬다. 웹 전역의 자원을 일관되게 식별·서술·연결하기 위한 W3C 표준 메타데이터 프레임워크이며, 이기종 시스템 간 메타데이터 교환을 위해 데이터 모델과 언어·문법을 분리해 놓은 것이 핵심이다.
주어는 URI, 목적어는 URI거나 리터럴
자원은 URI로 고유하게 식별하고, 값은 리터럴이거나 다른 URI 자원으로 표현한다. 임시로 필요한 내부 자원은 익명 노드(blank node)로 나타낼 수 있다. 같은 그래프를 여러 구문으로 표현할 수 있다는 점도 XML과 다르다 — Turtle, RDF/XML, JSON-LD, N-Triples가 대표적인 직렬화 방식이다. XML이 트리 구조를 쓰는 것과 달리 RDF는 관계 중심 그래프 구조를 택해, 상호연결과 통합 질의에서 유리하다.
트리플이 쌓여 그래프가 되는 방식
트리플 모델은 주어(URI 또는 blank node)–술어(URI 속성)–목적어(URI 또는 리터럴)로 구성되고, 모든 진술은 방향성 간선을 가진 그래프 에지로 해석된다. RDFS·OWL을 얹으면 클래스·속성 계층, 도메인·레인지, 제약과 추론 규칙까지 부여할 수 있고, 명명 그래프(Named Graph)로 출처(provenance)나 버전을 구획할 수도 있다. URI와 HTTP를 통해 dereference로 자원 설명을 얻는 링크드 데이터 방식은 이렇게 만든 그래프를 웹 전역으로 연결하는 실천이다.
RDF를 RDF답게 만드는 성질들
구문과 데이터 모델이 분리돼 있다는 게 첫 번째 특징이다. 전송 포맷을 바꿔도 의미는 보존된다. URI 기반 식별과 삼중 구조로 관계 중심 데이터를 표현하는 방식은 스키마가 있든 없든 유연하게 데이터를 수용한다. 주어·술어·목적어라는 세 요소만으로 임의의 메타데이터 진술을 표현할 수 있어 모델은 단순하지만 표현력은 뛰어나다. 새로운 보캐뷸러리와 네임스페이스는 충돌 없이 추가할 수 있고, 도메인 온톨로지를 결합하면 의미를 더 정밀하게 다듬을 수 있다. 질의와 검증은 SPARQL과 SHACL이 표준으로 맡는다 — SPARQL로 질의·변경을 수행하고 SHACL로 형태 제약과 데이터 품질을 검증한다.
RDFS는 의미를, XSD는 구조를 검증한다
| 구분 | RDF/RDFS | XML Schema (XSD) |
|---|---|---|
| 데이터 모델 | 그래프(Triple) | 트리(Tree) |
| 목적 | 의미 모델링, 용어 간 관계 서술 | 문서 구조·타입 검증 |
| 의미 표현 | 클래스/속성, 계층, 도메인/레인지, 추론 기반 확장 | 제한적 의미, 주로 타입·형식 제약 |
| 검증/제약 | SHACL/SHACL-SPARQL 활용 | XSD 자체로 강력한 구조·타입 제약 |
| 확장성 | 네임스페이스·보캐뷸러리 확장 용이 | 스키마 결합/재사용 가능하나 의미 연결 한계 |
| 상호운용성 | URI·HTTP·링크드 데이터 기반 상호운용 우수 | 동일 XML 생태계 내 상호운용 용이 |
어디에 쓰이는가
엔터프라이즈 지식 그래프 구축에서는 사내 CRM·ERP·문서 메타데이터를 RDF로 정규화하고, RDFS·OWL로 개념 계층을 정의한 뒤 SPARQL로 관계 탐색과 영향도 분석을 수행한다. 데이터 카탈로그·메타데이터 관리에서는 데이터셋·칼럼·계보(lineage)·품질 규칙을 RDF로 모델링하고 SHACL로 카탈로그 입력 품질 검증을 자동화한다. 이기종 데이터 통합·마이그레이션에서는 R2RML·RML로 관계형·CSV·JSON을 RDF 그래프로 변환하면서 URI 정합성을 유지한 채 통합 질의를 제공한다. 공개 데이터·링크드 오픈 데이터(LOD)에서는 Geonames·Wikidata 같은 외부 지식을 내부 자원과 URI로 연결해 맥락을 풍부하게 하고 검색 정밀도를 높인다. IoT·디지털 트윈 상호운용에서는 센서·자산 메타모델을 RDF·SHACL로 표준화하고 메시지 페이로드는 JSON-LD로 전달해 장치 간 의미 해석의 일관성을 확보한다.
원천 데이터가 트리플 스토어에 안착하기까지
소스 스키마를 수집하고 URI 정책을 세운 뒤 매핑 사양(R2RML/RML/ETL)을 작성하는 게 입력 단계다. 처리 단계에서는 변환을 실행하고 SHACL로 검증한 다음 명명 그래프 단위로 적재하고 인덱스·추론을 빌드한다. 출력 단계는 SPARQL 서비스를 제공하고 JSON-LD·Turtle API로 노출해 교환·연계하는 것으로 마무리된다. SHACL 위반 건은 명명 그래프를 분리해 재처리 큐로 보내고 위반 규칙과 레코드 식별자를 로깅한다. 그래프 단위로 원자적으로 적재하고 스냅샷 격리 수준을 유지하며, 배치 적재와 온라인 질의는 분리해서 운용하는 게 권장된다.
숫자로 보는 효과
스키마를 미리 조율하는 과정이 줄어 신규 소스 온보딩까지의 TTM(Time To Market)이 3050% 단축될 것으로 기대된다. 공통 보캐뷸러리 재사용률은 40% 이상 향상되고, 신규 속성을 추가할 때 영향 범위도 최소화된다. 외부 지식을 연결하면 개체 식별 정확도가 1020%p 개선되고 관계 탐색 커버리지도 늘어난다. SPARQL·SHACL 같은 표준 질의·검증을 도입하면 수작업 검증 비용이 30% 이상 절감되는데, 이 수치들은 조직·도메인·데이터 품질에 따라 달라진다.
실제로 부딪히는 트레이드오프
URI는 영속적으로 설계하고, 불변 리소스와 버전드 리소스를 분리하며, 해석 가능한 패턴을 쓰는 게 기본이다. 사내 용어집은 RDFS·OWL로 관리하되 변경 시 deprecate→alias→마이그레이션 절차를 거친다. SHACL로 필수 속성·값 범위·고유성 제약을 명시하고 CI 파이프라인에 검증을 자동화해 넣는다. 성능은 트리플 스토어의 SPO 인덱스, 텍스트 인덱스, 그래프 파티셔닝을 활용하고, 대규모 조인 비용을 고려해 속성을 경량화하거나 경로 길이를 최적화하는 방향으로 그래프를 모델링해야 한다. 다만 학습 곡선과 초기 모델링 비용이 늘고, 관계형 대비 특정 집계·OLAP 성능에는 한계가 있어 분석형 워크로드는 RDF에서 컬럼형으로 복제(ELT)하는 방식을 병행하는 게 낫다.
Turtle로 그래프 하나 그려보면
전제는 Apache Jena 4.x나 RDF4J 4.x, SPARQL 1.1을 지원하는 환경이다.
@prefix ex: <http://example.org/> .
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
ex:alice a foaf:Person ;
foaf:name "Alice Kim"@en ;
foaf:age "34"^^xsd:int ;
foaf:knows ex:bob .
ex:bob a foaf:Person ;
foaf:name "Bob Lee"@en .
이 그래프에 대고 SPARQL로 '누가 누구를 아는지'를 물어볼 수 있다.
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
SELECT ?name ?friendName
WHERE {
?s a foaf:Person ;
foaf:name ?name ;
foaf:knows ?f .
?f foaf:name ?friendName .
}
그래프로 먼저 그릴 것인가
RDF는 URI 기반 식별과 triple 그래프 모델로 이기종 메타데이터를 의미를 잃지 않고 통합할 수 있게 하는 표준 프레임워크다. RDFS·OWL·SPARQL·SHACL과 결합하면 모델링·질의·검증의 전 주기를 표준화할 수 있어, 데이터 통합과 지식 그래프 과제라면 우선 검토해볼 만하다.