재사용과 정렬
온톨로지를 처음부터 혼자 만들 필요는 없습니다. 이미 있는 어휘를 가져다 쓰고, 다른 온톨로지와 연결할 때 어떤 강도의 관계를 주장할지 고르는 법을 봅니다.
이번 회차, 내 속도로.
기초를 더 짚거나 궁금한 주제로 잠깐 넓혀 보세요. 최대 3단계를 거쳐 DAY 64로 돌아옵니다.
난이도·관심 주제 고르기
1/2개 선택 · 새 보충·심화 수업과 본과정 다시 읽기를 선택할 수 있어요.
이렇게 다녀와요 1단계 · 약 12분
- 출발 · DAY 64schema.org·BFO·매핑
- 1. 관심 주제명명 규칙·레이블·정의문추가 25 · 새 추가 수업
- 복귀 · DAY 64원래 회차 이어가기
- 명명 규칙·레이블·정의문 · DAY 62의 7단계로 클래스와 슬롯을 만들었다면, 그 이름과 설명을 다른 사람이 오해하지 않도록 다듬는 방법을 봅니다.
선택과 경로 기록은 이 브라우저에 저장됩니다. 본과정의 회차 완료와는 별도입니다.
핵심 개념
재사용은 Noy와 McGuinness의 2단계입니다. 대표적인 어휘로 schema.org가 있습니다. 웹 페이지의 구조화 데이터에 널리 쓰이며, 타입은 한 타입이 여러 상위 타입을 갖는 다중 상속 계층이고, 속성은 rdfs:domain·range 대신 domainIncludes·rangeIncludes로 여러 정의역과 치역을 허용합니다. 문서는 이 선택이 인위적인 타입을 줄이기 위한 실용적 결정이라고 설명합니다. 사람과 관계에는 FOAF 같은 어휘도 있습니다.
상위 온톨로지(upper ontology)는 모든 도메인에 공통인 가장 일반적인 구분을 제공합니다. BFO(Basic Formal Ontology)는 물리·화학·생물 같은 개별 과학의 용어를 담지 않는 작은 상위 온톨로지로, 최상위를 연속체(continuant, 시간을 거쳐 정체성을 유지하며 존속하는 것)와 발생체(occurrent, 시간 속에서 펼쳐지는 것)로 나눕니다. 도메인 온톨로지들이 같은 상위 구분을 따르면 나중에 정렬하기 쉬워집니다.
서로 다른 온톨로지를 연결하는 매핑에는 강도가 다른 관계가 있습니다. owl:equivalentClass는 두 클래스의 외연(인스턴스 집합)이 같다는 강한 논리적 주장이고, rdfs:subClassOf는 한쪽이 더 좁다는 주장입니다. SKOS의 skos:exactMatch는 넓은 범위의 검색 응용에서 서로 바꿔 써도 될 만큼 확신한다는 뜻이며 이행적입니다. skos:closeMatch는 일부 응용에서 바꿔 쓸 만큼 비슷하다는 뜻이고, 연결이 이어지며 오류가 쌓이지 않도록 이행적이지 않습니다.
가장 흔한 실수는 equivalentClass 남용입니다. 개인과 기업을 모두 포함하는 우리 :Customer를 schema:Person과 동치로 선언하면 추론기는 기업 고객까지 사람으로 분류하고, schema:Person에 걸린 다른 매핑을 따라 결론이 연쇄적으로 퍼집니다. 확신이 없으면 subClassOf나 SKOS 매핑처럼 약한 관계에서 시작하고, 매핑마다 근거와 작성자를 기록해 두는 것이 안전합니다.
작은 예제로 따라가기
우리 :Employee와 schema:Person: 모든 직원은 사람이지만 모든 사람이 직원은 아니므로 :Employee rdfs:subClassOf schema:Person입니다.
우리 :Customer(개인·기업 포함)와 schema:Person: 일부만 겹치므로 동치도 하위 클래스도 아닙니다. 개인 고객 클래스를 따로 두고 그것만 schema:Person의 하위 클래스로 연결합니다.
우리 시소러스의 ‘물류 거점’과 외부 시소러스의 ‘distribution center’: 정의가 대부분 겹치지만 소형 집하장도 포함하므로 skos:closeMatch로 연결해 검색에는 쓰되 클래스 추론은 퍼뜨리지 않습니다.
직접 실험해 보기
우리 회사 클래스와 schema.org 클래스 쌍을 하나씩 골라 equivalentClass·subClassOf·closeMatch·매핑 안 함 중 하나를 먼저 선택하고, 해설과 비교해 과도한 equivalentClass가 만드는 결론을 확인하세요.
우리 회사 클래스를 schema.org에 신중하게 잇기
# 아직 매핑 없음아직 없음 · closeMatch와 ‘매핑 안 함’은 타입 추론을 만들지 않습니다.
이번에는 직접 풀어 보세요
정답을 보기 전에 계산과 이유를 적어 보세요. 해설과 비교하고 확인 표시를 남기면 완료할 수 있습니다.
힌트 보기
‘모든 A는 B인가’가 성립하면 subClassOf, 개념 체계끼리의 연결이면 SKOS 매핑을 생각하세요.
풀이와 비교하기
(가) :Driver rdfs:subClassOf schema:Person: 모든 운전기사는 사람이지만 반대는 아닙니다. (나) skos:exactMatch, 확신이 덜하면 skos:closeMatch: 개념 체계 사이의 연결이라 클래스 공리가 필요 없습니다. (다) :Warehouse rdfs:subClassOf schema:Place: 창고는 장소의 한 종류입니다. 세 경우 모두 equivalentClass를 쓸 근거는 부족합니다.
풀이와 확인 표시는 이 브라우저에 저장됩니다.
오늘 이해한 것과 다시 볼 것
계산이 달라진 이유, 헷갈린 개념, 다음에 확인할 질문을 남겨 보세요.
메모는 이 브라우저에 저장됩니다. 홈에서 전체 기록을 내려받을 수 있습니다.오늘의 이해 확인
개인과 기업을 모두 포함하는 우리 :Customer를 schema:Person과 owl:equivalentClass로 연결하면 생기는 문제는?
완료 조건: 확인 퀴즈 정답 · / 직접 풀기 0/1
더 깊이 읽기
예제와 실험 데이터는 이 과정을 위해 만든 것입니다. 원문은 선택 자료이며, 강의와 직접 풀기만으로도 다음 회차를 이어갈 수 있습니다.
Schema.org Data ModelSchema.orgBasic Formal Ontology (BFO)BFOSKOS Simple Knowledge Organization System ReferenceW3COWL 2 Web Ontology Language PrimerW3C이 자료는 개념 학습용입니다. 실제 데이터베이스·라이브러리·플랫폼의 동작과 설정은 제품과 버전마다 다를 수 있습니다.