클래스와 인스턴스, TBox와 ABox
온톨로지 문장은 ‘개념에 대한 규칙’과 ‘개별 대상에 대한 사실’로 나뉩니다. 이 둘을 나누면 같은 규칙을 여러 데이터에 그대로 쓸 수 있습니다.
이번 회차, 내 속도로.
기초를 더 짚거나 궁금한 주제로 잠깐 넓혀 보세요. 최대 3단계를 거쳐 DAY 53로 돌아옵니다.
난이도·관심 주제 고르기
1/2개 선택 · 새 보충·심화 수업과 본과정 다시 읽기를 선택할 수 있어요.
이렇게 다녀와요 1단계 · 약 12분
- 출발 · DAY 53TBox·ABox
- 1. 관심 주제ConceptScheme·레이블 규칙·broader 방향추가 21 · 새 추가 수업
- 복귀 · DAY 53원래 회차 이어가기
- ConceptScheme·레이블 규칙·broader 방향 · DAY 52에서 시소러스 단계를 개념으로 봤다면, 여기서는 실제 SKOS 트리플을 써 보며 어떤 레이블이 허용되고 어떤 계층이 추론되는지 확인합니다.
선택과 경로 기록은 이 브라우저에 저장됩니다. 본과정의 회차 완료와는 별도입니다.
핵심 개념
클래스(class)는 같은 성질을 공유하는 대상들의 집합이고, 인스턴스(instance, 개체 individual)는 그 집합의 구성원입니다. ‘개’는 클래스, ‘바둑이’는 인스턴스입니다. RDF에서는 rdf:type으로 둘을 잇고 Turtle에서는 a로 줄여 씁니다. :바둑이 a :개 .는 바둑이가 개 클래스의 인스턴스라는 뜻입니다.
기술 논리(description logic)의 관례에 따라 온톨로지 공리를 두 상자로 나눕니다. TBox(terminological box)는 개념 수준의 규칙입니다. :개 rdfs:subClassOf :동물 ., :키운다 rdfs:domain :사람 .처럼 클래스와 속성 사이 관계를 말합니다. ABox(assertional box)는 개별 대상에 대한 단언입니다. :바둑이 a :개 ., :민수 :키운다 :바둑이 .처럼 특정 이름이 등장합니다. 속성끼리의 관계를 따로 RBox라 부르기도 합니다.
TBox와 ABox를 나누면 하나의 TBox를 여러 ABox가 공유할 수 있습니다. 동물병원 두 곳이 같은 TBox를 쓰면 환자 데이터는 달라도 ‘포유류 환자는?’ 같은 질의와 추론 규칙을 그대로 재사용합니다. 관계형 데이터베이스의 스키마와 행에 빗댈 수 있지만, TBox 공리는 데이터를 거부하는 제약이 아니라 새 사실을 이끌어 내는 규칙이라는 차이가 있습니다(DAY 57, 59).
무엇을 클래스로, 무엇을 인스턴스로 둘지는 응용이 정합니다. Noy와 McGuinness는 역량 질문의 답이 되는 가장 구체적인 개념을 인스턴스 후보로 보라고 권합니다. 와인과 음식의 궁합만 다룬다면 ‘특정 와이너리의 메를로’가 인스턴스이지만, 병 단위 재고를 관리한다면 병 하나하나가 인스턴스가 됩니다. 경계는 고정된 것이 아니므로 설계 문서에 근거를 남겨 둡니다.
작은 예제로 따라가기
:개 rdfs:subClassOf :포유류 .는 개념 사이의 관계이므로 TBox에 넣습니다.
:바둑이 a :개 .와 :민수 :키운다 :바둑이 .는 특정 개체에 대한 사실이므로 ABox에 넣습니다.
병원 A의 ABox(바둑이, 나비)와 병원 B의 ABox(초코)가 같은 TBox를 쓰면 ‘포유류 환자는?’이라는 같은 질의가 두 병원 데이터에서 모두 동작합니다.
직접 실험해 보기
문장 카드를 하나씩 읽고 ‘TBox로/ABox로’ 버튼으로 분류한 다음, 정답 확인에서 틀린 카드가 왜 그쪽에 속하는지 이유를 적어 보세요.
문장 카드를 TBox와 ABox로 나누기
:개 rdfs:subClassOf :동물 .모든 개는 동물이다.
:바둑이 a :개 .바둑이는 개다.
:키운다 rdfs:domain :사람 .‘키운다’의 주어는 사람이다.
:민수 :키운다 :바둑이 .민수는 바둑이를 키운다.
:나이 rdfs:range xsd:integer .‘나이’ 값은 정수다.
:바둑이 :나이 3 .바둑이는 세 살이다.
:고양이 owl:disjointWith :개 .고양이이면서 개인 것은 없다.
:나비 a :고양이 .나비는 고양이다.
이번에는 직접 풀어 보세요
정답을 보기 전에 계산과 이유를 적어 보세요. 해설과 비교하고 확인 표시를 남기면 완료할 수 있습니다.
힌트 보기
김수의, 바둑이처럼 특정 이름이 등장하면 ABox일 가능성이 큽니다.
풀이와 비교하기
TBox: ①(하위 클래스), ③(속성의 정의역), ⑤(서로소 클래스). ABox: ②(클래스 소속), ④(두 개체 사이의 관계). TBox 문장은 개념 수준이라 새 수의사나 새 환자가 들어와도 그대로 적용됩니다.
풀이와 확인 표시는 이 브라우저에 저장됩니다.
오늘 이해한 것과 다시 볼 것
계산이 달라진 이유, 헷갈린 개념, 다음에 확인할 질문을 남겨 보세요.
메모는 이 브라우저에 저장됩니다. 홈에서 전체 기록을 내려받을 수 있습니다.오늘의 이해 확인
다음 중 ABox에 속하는 문장은?
완료 조건: 확인 퀴즈 정답 · / 직접 풀기 0/1
더 깊이 읽기
예제와 실험 데이터는 이 과정을 위해 만든 것입니다. 원문은 선택 자료이며, 강의와 직접 풀기만으로도 다음 회차를 이어갈 수 있습니다.
A Description Logic PrimerKrötzsch, Simančík & Horrocks (2012)OWL 2 Web Ontology Language PrimerW3COntology Development 101: A Guide to Creating Your First OntologyNoy & McGuinness (2001)이 자료는 개념 학습용입니다. 실제 데이터베이스·라이브러리·플랫폼의 동작과 설정은 제품과 버전마다 다를 수 있습니다.