G·Graph Daily Lab
DAY 56 / 100
내 학습 기록
DAY 56개념·실험RDFS·OWL과 추론

하위 클래스가 만드는 추론

저장하지 않은 사실도 규칙으로 이끌어 낼 수 있습니다. 오늘은 rdfs:subClassOf 하나가 어떤 새 트리플을 만드는지 규칙 이름까지 확인합니다.

약 20분조작형 실험 확인 퀴즈
A SMALL DETOUR

이번 회차, 내 속도로.

기초를 더 짚거나 궁금한 주제로 잠깐 넓혀 보세요. 최대 3단계를 거쳐 DAY 56로 돌아옵니다.

난이도·관심 주제 고르기
이번 회차는 어느 속도로 볼까요?
더 살펴볼 주제 1~2개 선택

1/2개 선택 · 새 보충·심화 수업과 본과정 다시 읽기를 선택할 수 있어요.

이렇게 다녀와요 1단계 · 약 12분

  1. 출발 · DAY 56rdfs:subClassOf 추론
  2. 1. 관심 주제동일성 주장과 병합추가 23 · 새 추가 수업
  3. 복귀 · DAY 56원래 회차 이어가기
  • 동일성 주장과 병합 · DAY 59에서 OWL에 고유 이름 가정이 없다는 것을 배웠다면, 반대로 ‘같다’고 선언하는 owl:sameAs가 어떤 결론을 퍼뜨리는지 봅니다.

선택과 경로 기록은 이 브라우저에 저장됩니다. 본과정의 회차 완료와는 별도입니다.

복귀: DAY 56 → 본과정 다음 회차: DAY 57

핵심 개념

RDFS(RDF Schema)는 클래스와 속성을 기술하는 W3C 어휘입니다. rdfs:subClassOf는 ‘하위 클래스의 모든 인스턴스는 상위 클래스의 인스턴스’라는 뜻이고, W3C의 RDF 1.1 Semantics는 이런 의미를 RDFS 함의 패턴(entailment patterns)이라는 규칙 표로 적어 둡니다. 추론기(reasoner)는 이 규칙을 반복 적용해 그래프가 함의하는 트리플을 찾아냅니다.

하위 클래스와 관련된 핵심 규칙은 둘입니다. rdfs9: xxx rdfs:subClassOf yyy와 zzz rdf:type xxx가 있으면 zzz rdf:type yyy. rdfs11: xxx rdfs:subClassOf yyy와 yyy rdfs:subClassOf zzz가 있으면 xxx rdfs:subClassOf zzz. 개⊑포유류⊑동물과 ‘바둑이 a 개’가 있으면 rdfs11이 개⊑동물을, rdfs9가 ‘바둑이 a 포유류’와 ‘바둑이 a 동물’을 만듭니다.

추론 결과를 쓰는 방식은 두 가지입니다. 미리 계산해 저장하는 실체화(materialization, 전방 연쇄)는 질의가 빠르지만 저장 공간이 늘고 원래 사실이 바뀔 때마다 다시 계산해야 합니다. 질의할 때 계산하는 방식(후방 연쇄, 질의 재작성)은 저장은 가볍지만 질의가 느려질 수 있습니다. 추론을 켜지 않은 SPARQL에서는 ?x rdf:type/rdfs:subClassOf* :동물처럼 경로 식으로 같은 효과를 낼 수 있습니다.

추론은 입력이 틀리면 틀린 결론도 똑같이 퍼뜨립니다. DAY 54의 ‘바퀴 ⊑ 자동차’ 같은 계층 오류 하나가 모든 하위 인스턴스로 번집니다. 추론된 트리플을 명시 트리플과 구분해 표시하거나 별도 그래프에 두면, 이상한 결론이 나왔을 때 어느 규칙과 어느 입력에서 왔는지 거꾸로 추적하기 쉽습니다.

rdfs:subClassOf는 rdfs9(타입 전파)와 rdfs11(이행) 규칙으로 저장하지 않은 소속 관계를 도출합니다.

작은 예제로 따라가기

01

명시 트리플 세 개를 둡니다. :개 rdfs:subClassOf :포유류, :포유류 rdfs:subClassOf :동물, :바둑이 a :개.

02

rdfs11을 적용하면 :개 rdfs:subClassOf :동물 1개가 추가됩니다.

03

rdfs9를 적용하면 :바둑이 a :포유류와 :바둑이 a :동물 2개가 추가되어 명시 3개·추론 3개가 됩니다(교육용으로 rdfs9·rdfs11만 적용).

직접 실험해 보기

rdfs9와 rdfs11 규칙을 하나씩 켜고 끄며 추론된 트리플 목록과 footer의 ‘명시 n개·추론 m개’가 어떻게 바뀌는지 먼저 예상하고 확인하세요.

LIVE EXPERIMENT · RDFS SUBCLASS

subClassOf 규칙을 켜고 저장하지 않은 사실 도출하기

rdfs9: (C ⊑ D) + (x a C) ⇒ (x a D) · rdfs11: (C ⊑ D) + (D ⊑ E) ⇒ (C ⊑ E). 새 트리플이 더 나오지 않을 때(고정점)까지 반복합니다.

예측: 두 규칙을 모두 켜면 추론 트리플은 몇 개?
⊑⊑⊑aa동물포유류개고양이바둑이나비

실선 = 명시 · 점선 = 추론 · ⊑ = rdfs:subClassOf · a = rdf:type

질의
?x a :동물 → 답 없음저장된 트리플만으로는 답이 없습니다. 규칙을 켜 보세요.
  1. :개 rdfs:subClassOf :포유류 .명시
  2. :고양이 rdfs:subClassOf :포유류 .명시
  3. :포유류 rdfs:subClassOf :동물 .명시
  4. :바둑이 a :개 .명시
  5. :나비 a :고양이 .명시

이번에는 직접 풀어 보세요

정답을 보기 전에 계산과 이유를 적어 보세요. 해설과 비교하고 확인 표시를 남기면 완료할 수 있습니다.

문제 1
힌트 보기

먼저 클래스 사이의 이행(rdfs11)을 모두 구하고, 그다음 초코의 타입을 전파하세요.

풀이와 비교하기

rdfs11: 푸들⊑포유류, 푸들⊑동물, 개⊑동물(3개). rdfs9: 초코 a 개, 초코 a 포유류, 초코 a 동물(3개). 모두 6개이며 명시 4개와 합치면 질의에서 10개의 트리플이 보입니다.

풀이와 확인 표시는 이 브라우저에 저장됩니다.

YOUR NOTES

오늘 이해한 것과 다시 볼 것

계산이 달라진 이유, 헷갈린 개념, 다음에 확인할 질문을 남겨 보세요.

메모는 이 브라우저에 저장됩니다. 홈에서 전체 기록을 내려받을 수 있습니다.

오늘의 이해 확인

명시 트리플이 :고양이 rdfs:subClassOf :포유류, :포유류 rdfs:subClassOf :동물, :나비 a :고양이일 때 rdfs9만 반복 적용하면 새로 생기는 트리플 수는?

완료 조건: 확인 퀴즈 정답 · / 직접 풀기 0/1

FURTHER READING

더 깊이 읽기

예제와 실험 데이터는 이 과정을 위해 만든 것입니다. 원문은 선택 자료이며, 강의와 직접 풀기만으로도 다음 회차를 이어갈 수 있습니다.

RDF Schema 1.1W3CRDF 1.1 SemanticsW3C

이 자료는 개념 학습용입니다. 실제 데이터베이스·라이브러리·플랫폼의 동작과 설정은 제품과 버전마다 다를 수 있습니다.