2026. 4. 12. 01:18ㆍ정리/책 정리
https://www.yes24.com/product/goods/104984379
온톨로지 과학자를 위한 지식그래프 | 딘 알레망 | 한빛아카데미 - 예스24
지능형 데이터의 출발점이제 데이터는 고객, 기업, 정부를 분석하고 이해하는 핵심 자산이다. 전 세계가 상호 연결되고 글로벌화됨에 따라 데이터는 어떤 개인이나 조직의 소유가 아닌 방대한
www.yes24.com
RDFS는 RDF의 스키마 언어로, RDF 데이터에 의미를 부여하고 추론을 가능하게 하는 표준입니다. RDF가 그래프 구조로 데이터를 모델링한다면, RDFS는 그 그래프를 체계적이고 의미 있게 사용하는 데 필요한 어휘(클래스, 속성, 관계 등)를 정의합니다.
RDFS의 가장 큰 특징:
- 스키마 정보도 RDF 트리플로 표현된다 (스키마와 데이터가 같은 형식).
- 의미는 추론 규칙으로 정의된다.
- AAA 원칙(누구나 어디서나 어떤 말도 할 수 있다)을 그대로 따름.
8.1 스키마 언어와 기능
스키마의 역할:
- 데이터에 의미를 부여
- 데이터 통합을 돕고, 해석을 가능하게 함
- RDF에서는 스키마가 추론 패턴을 통해 의미를 지정
RDFS의 강점:
- 모든 스키마 정보가 RDF 트리플로 작성됨
- SPARQL, SHACL, RDF 편집기, 링크드 데이터 등 기존 RDF 도구를 그대로 사용 가능
클래스 정의 기본:
:AllStarPlayer rdf:type rdfs:Class .
:Surgeon rdf:type rdfs:Class .
8.2 RDF 스키마 언어의 핵심 구성자
1. rdfs:subPropertyOf (관계 전파)
- 한 속성이 다른 속성의 하위 속성임을 의미
- 하위 속성으로 연결된 트리플은 상위 속성으로도 자동 추론됨
예제 (고용 관계):
:freeLancesTo rdfs:subPropertyOf :contractsTo .
:contractsTo rdfs:subPropertyOf :worksFor .
:isEmployedBy rdfs:subPropertyOf :worksFor .
→ Goldman이 :isEmployedBy :TheFirm 이라면, 자동으로 :worksFor :TheFirm 도 추론됨.
특징: 속성 간 계층 구조를 만들 수 있음 (구체적 → 일반적)
2. rdfs:domain과 rdfs:range (용도별 데이터 유형)
- rdfs:domain: 속성을 사용할 때 주어(Subject)가 속해야 하는 클래스
- rdfs:range: 속성을 사용할 때 목적어(Object)가 속해야 하는 클래스
추론 규칙:
- ?x :p ?y 가 있고 :p rdfs:domain :D 라면 → ?x rdf:type :D 추론
- ?x :p ?y 가 있고 :p rdfs:range :R 라면 → ?y rdf:type :R 추론
중요한 점:
- RDFS는 유효성 검사를 하지 않음 (오류를 내지 않음)
- 대신 추론을 통해 필요한 타입 정보를 자동으로 채움
- OWL과 달리 부정(negation)이나 불일치 검사는 불가능
3. rdfs:subClassOf + domain/range 조합
이 조합이 RDFS에서 가장 강력하고 미묘한 부분입니다.
예제:
:MarriedWoman rdfs:subClassOf :Woman .
:hasMaidenName rdfs:domain :MarriedWoman .
→ :Karen :hasMaidenName "Smith" 라는 트리플 하나만으로도 → Karen은 :MarriedWoman 이고, 동시에 :Woman 임을 추론함.
8.3 RDFS 모델링 조합과 패턴
RDFS는 명시적인 Union, Intersection을 제공하지 않지만, 아래 패턴으로 근사할 수 있습니다.
| 교집합 (C ⊆ A ∩ B) | C를 A와 B의 subClassOf로 선언 | 한 방향 | Surgeon ⊆ Staff ∩ Physician |
| 합집합 (A ∪ B ⊆ C) | A와 B를 C의 subClassOf로 선언 | 한 방향 | MVP ∪ TopScorer ⊆ AllStarCandidate |
| 속성 교집합 | P를 R과 S의 subPropertyOf로 선언 | 한 방향 | lodgedIn → billedFor + assignedTo |
| 속성 합집합 | P와 Q를 R의 subPropertyOf로 선언 | 한 방향 | borrows + checkedOut → hasPossession |
속성 전달 패턴 (가장 자주 사용):
:author rdfs:subPropertyOf dc:creator .
→ 기존 시스템의 author 속성을 더블린 코어 표준과 쉽게 연동 가능
8.4 도전 과제와 실전 패턴
주요 도전 과제 해결 패턴
- 용어 조정 (어휘 매핑)
- 하위 집합 매핑 → subClassOf
- 포개진 집합 → 합집합 패턴 (새로운 중간 클래스 사용)
- 완전 동등 → 양방향 subClassOf
- 인스턴스 수준 데이터 통합
- 여러 출처의 데이터를 하나의 클래스로 합침 (합집합 패턴)
- 읽기 쉬운 레이블
turtle
:personName rdfs:subPropertyOf rdfs:label . :movieTitle rdfs:subPropertyOf rdfs:label . - 자동 분류 (Automatic Classification)
- rdfs:domain을 활용해 데이터에 따라 클래스를 자동으로 부여
- 예: maidenVoyage가 있으면 → DeployedVessel
- nextDeparture가 있으면 → InServiceVessel
- 정의되지 않은 데이터 필터링
- 특정 속성이 있는 데이터만 추출 (DepartingVessel 등)
8.5 정의역(domain)과 공역(range) 사용 시 주의점
- 하나의 속성에 여러 domain/range를 선언할 수 있음
- 여러 domain 선언 = 교집합으로 해석됨
- 속성을 과도하게 병합하면 예상치 못한 터무니없는 추론이 발생할 수 있음 (예: QEII가 Person이 됨)
해결 전략:
- 의미가 완전히 동일한 경우에만 직접 병합
- 불확실하면 중립적인 상위 속성(cal:nextDeparture 등)을 만들어 사용
8.6 RDFS 비모델링 속성 (추론 없음)
- rdfs:label: 사람이 읽을 수 있는 이름
- rdfs:comment: 자연어 설명 (다국어 지원 가능)
- rdfs:seeAlso: 관련 추가 정보 링크
- rdfs:isDefinedBy: 해당 자원의 정의 출처 링크 (seeAlso의 하위 속성)
8장 마무리: RDFS의 본질
RDFS의 강점
- 매우 간단한 구성자와 규칙만으로 강력한 추론 가능
- 데이터와 스키마가 동일한 형식(RDF 트리플)
- 분산된 정보 통합에 매우 효과적
- subClassOf와 subPropertyOf를 IF/THEN 규칙처럼 사용 가능
RDFS의 한계
- 교집합·합집합을 명시적으로 지원하지 않음 (패턴으로 근사)
- 부정·불일치 검사 불가능
- 유효성 검사(validation)가 아니라 추론 중심
RDFS의 철학
“RDFS는 데이터를 검증하는 언어가 아니라, 데이터를 통해 새로운 지식을 발견하고 연결하는 언어다.”
'정리 > 책 정리' 카테고리의 다른 글
| 지식그래프:AI와 온톨로지로 여는 지식혁명 요약 정리 (0) | 2026.04.14 |
|---|---|
| 9장 RDFS-Plus 요약 (0) | 2026.04.14 |
| 온톨로지 [데이터의 무질서를 권력으로 바꾸는 기술] [이현종] 요약 정리 (0) | 2026.04.11 |
| 살찌지 않는 몸 [우창윤] 요약 정리 (0) | 2026.04.09 |
| HABIT [내 안의 충동을 이겨내는 습관 설계의 법칙] [웬디 우드] 요약 정리 (2) | 2026.04.09 |