30분
RDFS: 스키마와 계층 구조
RDF & 트리플의 세계
RDFS: 스키마와 계층 구조
온톨로지 & 시맨틱웹 > RDF & 트리플의 세계
학습 목표
rdfs:Class와 rdfs:subClassOf로 클래스 계층을 정의할 수 있다 rdfs:domain/range의 추론 효과를 설명할 수 있다 Open World vs Closed World Assumption의 차이를 이해한다
RDFS — RDF에 "구조"를 부여하는 스키마 언어
학습 목표
- RDFS의 역할과 RDF 대비 추가 기능을 이해한다
- rdfs:Class, rdfs:subClassOf로 클래스 계층 구조를 만들 수 있다
- rdfs:domain, rdfs:range로 속성의 의미를 제한할 수 있다
- RDFS 추론(Entailment)의 기본 원리를 이해한다
RDF만으로는 부족한 이유
RDF는 트리플을 저장할 수 있지만, 다음을 표현할 수 없습니다:
에디터 로딩 중...
이것을 해결하는 것이 **RDFS (RDF Schema)**입니다.
1. rdfs:Class — 클래스 정의
에디터 로딩 중...
비유: 클래스 = Neo4j의 Label, RDBMS의 테이블
2. rdfs:subClassOf — 계층 구조 (Taxonomy)
에디터 로딩 중...
에디터 로딩 중...
추론 발생! KAIST가 University이면, 자동으로 Organization이기도 합니다:
에디터 로딩 중...
3. rdfs:subPropertyOf — 속성 계층
에디터 로딩 중...
4. rdfs:domain & rdfs:range — 속성 의미 제한
에디터 로딩 중...
추론 효과:
에디터 로딩 중...
주의! Open World Assumption:
RDFS는 "제약"이 아니라 "추론"입니다!
에디터 로딩 중...
Open World Assumption은 RDF의 핵심 철학입니다:
- "알려지지 않은 것은 거짓이 아니라 미지"
- SQL과 정반대 (SQL은 Closed World)
- OWL에서 더 강한 제약을 걸 수 있음 (Day 2에서 배움)
5. rdfs:label & rdfs:comment — 문서화
에디터 로딩 중...
RDFS 핵심 어휘 총정리
| 어휘 | 용도 | 예시 |
|---|---|---|
rdfs:Class | 클래스 정의 | ex:Person a rdfs:Class |
rdfs:subClassOf | 클래스 계층 | ex:Student rdfs:subClassOf ex:Person |
rdf:Property | 속성 정의 | ex:name a rdf:Property |
rdfs:subPropertyOf | 속성 계층 | ex:hasFriend rdfs:subPropertyOf ex:knows |
rdfs:domain | 속성의 주어 클래스 | ex:name rdfs:domain ex:Person |
rdfs:range | 속성의 목적어 타입 | ex:name rdfs:range xsd:string |
rdfs:label | 인간 읽기용 이름 | ex:Person rdfs:label "사람"@ko |
rdfs:comment | 설명 | ex:Person rdfs:comment "..."@ko |
rdfs:seeAlso | 관련 리소스 | ex:Person rdfs:seeAlso http://... |
rdfs:isDefinedBy | 정의 출처 | ex:Person rdfs:isDefinedBy http://... |
RDFS vs OWL 비교 (Day 2 예고)
| 기능 | RDFS | OWL |
|---|---|---|
| 클래스 계층 | ✅ | ✅ |
| 속성 domain/range | ✅ | ✅ |
| 동치 클래스 | ❌ | ✅ equivalentClass |
| 상호 배타 | ❌ | ✅ disjointWith |
| 카디널리티 | ❌ | ✅ cardinality |
| 역관계 | ❌ | ✅ inverseOf |
| 복합 조건 | ❌ | ✅ unionOf, intersectionOf |
→ RDFS는 "가벼운 스키마", OWL은 "강력한 온톨로지 언어"
핵심 정리
RDFS는 RDF에 클래스 계층(subClassOf)과 속성 제약(domain/range)을 추가하여 기계가 데이터의 구조를 이해하고 자동 추론할 수 있게 합니다.
📖 심화 읽기: 이강배 외, "지식그래프", 유원북스, 2025 — 3장 RDFS
핵심 포인트
- • RDFS = RDF에 스키마(구조) 부여: 클래스 정의, 계층 구조, 속성 제약
- • rdfs:subClassOf: 계층 구조 정의 → 하위 클래스 인스턴스는 상위도 자동 추론
- • rdfs:domain/range: 속성의 주어/목적어 타입 추론 (제약이 아닌 추론!)
- • Open World Assumption: 알려지지 않은 것은 거짓이 아니라 미지
- • RDFS는 가벼운 스키마, 더 강한 표현은 OWL (Day 2)