한 팀에서는 완료가 초안을 올렸다는 뜻이고, 다른 팀에서는 검토와 승인이 끝났다는 뜻이라고 해보겠습니다. 두 시스템이 이 기록을 합치면 같은 단어가 서로 다른 상태를 가리킵니다. 반대로 두 항목이 링크로 연결돼 있어도 그 연결이 작성했다인지, 참고했다인지, 대체했다인지 이름이 없으면 사람도 시스템도 본문을 다시 읽어야 합니다.
문제는 단어 수가 아닙니다. 무엇을 어떤 이름으로 부르고 서로 어떤 관계로 연결할지 분명히 정해야 합니다.
온톨로지는 특정 영역에서 어떤 종류의 대상이 있고, 그 대상의 속성·관계·제약이 무엇인지 명시해 사람과 시스템이 같은 뜻으로 해석하도록 만든 표현 체계입니다.
공통 단어 몇 개에 합의했다고 모두 온톨로지가 되는 것은 아닙니다. 용어 목록이나 분류만으로도 충분한 일이 있습니다. 온톨로지는 대상의 종류뿐 아니라 관계의 뜻과 적용 범위, 필요한 규칙까지 명시해야 할 때 등장합니다. 형식 언어로 구현하면 시스템이 그 의미를 바탕으로 일관성을 검사하거나 새로운 결론을 이끌 수도 있습니다.
1. 완성된 기록 한 건에서 시작해 봅시다
먼저 도서관 대출 카드 한 건을 보겠습니다.
자료 종류: 책
자료명: 별빛 지도
소장처: 중앙도서관
대출 상태: 대출 중
대출자: 김민지
대출자 유형: 성인 회원
적용 규칙: 대출 중인 책은 반납 대상이다
이 카드는 어려운 표기법 없이도 읽힙니다. 여러 카드가 같은 칸 이름을 같은 뜻으로 쓰면 “중앙도서관에 있는 책”, “현재 대출 중인 자료”, “김민지가 빌린 자료”를 같은 기준으로 찾을 수 있습니다.
이 카드 한 장에 온톨로지의 핵심 요소가 차례로 들어 있습니다.
범주 또는 종류:
책,회원처럼 비슷한 대상을 묶는 이름입니다. 정식 용어는 클래스(class)입니다.실제 항목 하나:
별빛 지도,김민지처럼 현실의 구체적인 대상을 가리킵니다. 개체 또는 개별 대상(individual, instance)이라고 부릅니다.정보 칸:
자료명,대출 상태,대출자 유형처럼 한 대상의 값을 적는 칸입니다. 속성(property, attribute)입니다.이름 붙은 연결:
김민지가 별빛 지도를 빌렸다,별빛 지도가 중앙도서관에 소장돼 있다처럼 두 대상을 잇는 뜻 있는 연결입니다. 관계(relation)입니다.규칙과 제약:
대출 중인 책은 반납 대상이다,한 대출 기록에는 대출자가 한 명이어야 한다처럼 허용 범위나 의미를 정합니다. 형식 온톨로지에서는 공리 또는 제약(axiom, constraint)이라고 합니 다.따라 나오는 결론:
별빛 지도는 책이고 현재 대출 중이므로 반납 대상이라고 결론 낼 수 있습니다. 이미 적힌 사실과 규칙에서 새 결론을 얻는 일을 추론(inference)이라고 합니다.
여기서 정보 칸과 관계는 비슷해 보여도 쓰임이 다릅니다. 대출 상태: 대출 중은 한 대상의 값이고, 김민지가 별빛 지도를 빌렸다는 두 대상을 잇는 연결입니다. 공리와 제약도 단순한 값이 아니라 어떤 문장이 성립하는지, 어떤 조합을 허용하거나 배제하는지 설명합니다.
한 가지 주의할 점도 있습니다. 카드에 훼손 여부가 적혀 있지 않다고 해서 “훼손되지 않았다”라고 자동 판단하면 안 됩니다. OWL 같은 형식 온톨로지는 흔히 열린 세계 가정(open-world assumption)을 따릅니다. 기록에 없는 사실은 거짓으로 확정된 것이 아니라 아직 모를 수 있다는 뜻입니다. 데이터베이스의 입력 검증처럼 빈칸을 곧바로 오류나 거짓으로 처리하려면 별도의 규칙과 검증 절차를 함께 설계해야 합니다.
2. 철학의 질문이 지식 표현의 도구가 되기까지
온톨로지라는 말은 컴퓨터보다 철학에서 먼저 쓰였습니다. Stanford Encyclopedia of Philosophy의 「Logic and Ontology」는 철학적 온톨로지를 우선 “무엇이 존재하는가”를 연구하는 분야로 설명하고, 존재하는 것들의 가장 일반적인 특징과 관계도 함께 묻는다고 정리합니다. 사람, 사건, 숫자, 속성, 관계 같은 것이 어떤 방식으로 존재한다고 볼 것인지가 철학의 질문입니다.
지식 표현과 인공지능 분야는 이 문제의식을 그대로 복제하지 않았습니다. 특정 업무 영역을 사람이 공유하고 컴퓨터가 처리할 수 있는 형태로 옮기는 데 초점을 맞췄습니다. Thomas R. Gruber는 1993년 Knowledge Acquisition 5권 2호에 실린 「A Translation Approach to Portable Ontology Specifications」에서 온톨로지를 “an explicit specification of a conceptualization”이라고 정의했습니다.
여기서 conceptualization은 구체적인 데이터 한 묶음이 아닙니다. 어떤 목적을 위해 세계를 추상화한 관점입니다. 도서관을 예로 들면 책, 회원, 대출을 중요한 대상으로 보고, 무엇이 무엇을 빌렸는지와 어떤 규칙이 적용되는지를 선택한 관점이 conceptualization입니다. 온톨로지는 그 관점을 클래스, 관계, 함수, 제약 같은 표현으로 명시한 것입니다. 실제 대출 카드 수천 건은 그 관점에 따라 기록된 데이터입니다.
따라서 두 전통은 연결돼 있지만 같지는 않습니다. 철학은 어떤 종류의 것이 존재하고 서로 어떻게 관계하는지 묻습니다. 계산 온톨로지 또는 지식 표현 온톨로지는 한 영역에서 사용할 개념, 관계, 제약을 명시해 공유·교환·추론할 수 있게 만듭니다.
W3C의 OWL 2 Primer도 OWL 2 온톨로지를 관심 영역에 관한 정밀한 서술문 집합으로 설명합니다. OWL 2는 클래스, 속성과 관계, 개별 대상, 공리를 표현하는 지식 표현 언어입니다. 선언된 의미를 바탕으로 추론기가 이미 적힌 문장들의 논리적 결과를 계산할 수 있습니다. 다만 모든 온톨로지가 OWL로 작성돼야 하는 것은 아닙니다. 이 글의 카드와 표는 개념을 이해하고 작은 구조를 설계하기 위한 경량 표현이며, 엄밀한 자동 추론이나 시스템 간 상호운용이 필요할 때 형식 언어의 가치가 커집니다.
3. 분류체계, 스키마, 데이터베이스, 지식 그래프와 무엇이 다를까
이 용어들은 실제 프로젝트에서 겹쳐 쓰입니다. 아래 표는 절대적인 표준 경계가 아니라, 어떤 문제를 먼저 해결하는지 살피기 위한 실무적 구분입니다.
구분
주로 답하는 질문
전형적인 역할
온톨로지와 겹치는 지점
분류체계(taxonomy)
이것은 어느 종류에 속하는가?
범주와 상하위 분류를 정합니다.