TrendHackergeeknews intel
live
← 블로그 목록
TECH NOTE · 2026-06-29

Ontology는 원래 무엇이었나: '존재론'에서 컴퓨터과학 온톨로지까지, 한 단어가 걸어온 길

OntologyPhilosophyMetaphysicsKnowledge RepresentationQuine

같은 단어, 두 개의 세계

데이터 엔지니어가 "온톨로지를 설계한다"고 말할 때, 그는 보통 객체 타입과 속성, 그리고 그것들을 잇는 링크의 스키마를 그립니다. Palantir Foundry의 오브젝트 레이어든, 지식 그래프(Knowledge Graph)의 클래스 계층이든, 그에게 ontology는 현실을 데이터로 모델링하는 설계물입니다.

그런데 같은 단어를 철학자에게 건네면 전혀 다른 표정이 돌아옵니다. 그에게 존재론(ontology)은 2,400년 동안 이어져 온 형이상학의 한 분과, "도대체 무엇이 존재하는가?"라는 가장 오래된 질문의 이름입니다. 스키마도, 데이터베이스도 거기에는 없습니다.

흥미로운 것은 이 둘이 단순한 동음이의어가 아니라는 점입니다. 컴퓨터과학의 ontology는 철학의 존재론에서 이름과 핵심 발상을 그대로 빌려 온 후예입니다. 이 글은 그 단어가 아리스토텔레스의 형이상학에서 출발해 어떤 경로로 데이터 모델링의 용어가 되었는지, 한 단어가 걸어온 길을 되짚어 봅니다. 끝에 가면, 이 블로그가 그동안 다뤄 온 "데이터 온톨로지"가 사실 이 철학적 개념의 공학적 변주였음을 보게 될 것입니다.

어원과 기원: '있는 것'에 관한 학문

ontology라는 단어 자체는 의외로 젊습니다. 그리스어 어근 두 개를 라틴어로 합성해 만든 신조어로, 17세기 초(1600년대) 독일·네덜란드 학자들의 손에서 처음 등장했습니다. 두 어근은 이렇습니다.

  • onto- (ὄν, ontos): "있는 것", 존재자.
  • -logia (λόγος): "~에 관한 학문", 담론·이치.

곧 ontology는 글자 그대로 "있는 것에 관한 학문"입니다. 한국어 번역어 '존재론(存在論)'도 같은 구조를 따릅니다.

단어는 17세기에 만들어졌지만, 그 단어가 가리키는 질문은 훨씬 오래되었습니다. 기원은 아리스토텔레스의 『형이상학(Metaphysics)』입니다. 그는 개별 학문이 각자 존재의 한 측면만 다루는 것과 달리, 존재자를 "있는 것을 있는 것으로서(being qua being)" 그 자체로 탐구하는 학문이 따로 있어야 한다고 보았습니다. 생물학이 살아 있는 것을, 수학이 양을 다룬다면, 이 학문은 무언가가 "있다"는 사실 자체를 다룹니다. 그는 이것을 제일철학(first philosophy)이라 불렀습니다.

'형이상학'이라는 이름은 정작 아리스토텔레스 본인이 붙인 것이 아닙니다. 후대 편집자들이 그의 저작을 정리하며 이 논의들을 『자연학(Physics)』 "뒤(meta)"에 배치한 데서 metaphysica, 곧 "자연학 다음의 것들"이라는 제목이 붙었다는 설이 널리 알려져 있습니다. 어쨌든 ontology가 나중에 점유하게 되는 영토 — 존재 그 자체에 관한 탐구 — 는 여기서 윤곽을 얻습니다.

존재론의 핵심 질문: 무엇이 존재하는가

존재론을 한 문장으로 압축하면 이렇습니다. "무엇이 존재하는가(What is there?)"

너무 단순해 보이지만, 이 질문은 즉시 더 까다로운 하위 질문들로 갈라집니다. 책상 위의 사과가 존재한다는 데는 누구나 동의합니다. 그런데 그 사과의 빨강은 사과와 같은 방식으로 존재합니까? 숫자 7은 존재합니까? 정의(正義) 같은 추상적 가치는요? 어제는 있었지만 지금은 없는 사건은 어떤 의미로 "있었던" 것입니까?

이런 질문에 답하려면 세계에 있는 것들을 가장 근본적인 종류로 분류해야 합니다. 아리스토텔레스는 이를 범주(categories)라 불렀습니다. 그는 존재자를 실체(substance)·양·질·관계·장소·시간 등으로 나누었고, 그중에서도 실체를 가장 기본적인 것으로 두었습니다. '소크라테스'라는 개별 실체가 먼저 있고, '지혜로움' 같은 속성은 그 실체에 속해서만 존재한다는 것입니다. 독립적으로 존재하는 것과, 다른 것에 기대어 존재하는 것의 구분 — 이 실체/속성의 골격은 오늘날 데이터 모델의 객체(object)와 속성(property) 구분으로 거의 그대로 메아리칩니다.

보편자 논쟁: '빨강'은 실재하는가

존재론에서 가장 오래 끓어온 논쟁 하나가 보편자(universals) 문제입니다. 빨간 사과, 빨간 신호등, 빨간 장미가 있습니다. 이들이 공유하는 '빨강 그 자체'는 이 개별 사물들과 별개로 실재합니까, 아니면 그저 우리가 비슷한 것들에 붙인 이름일 뿐입니까?

이 물음을 두고 세 입장이 맞섭니다.

  • 실재론(Realism): 보편자는 개별 사물과 독립적으로 실재한다. 플라톤의 이데아가 극단적 형태로, '빨강'·'인간'이라는 보편자가 그 자체의 존재를 가진다고 봅니다.
  • 유명론(Nominalism): 실재하는 것은 개별자뿐이며, 보편자는 이름(nomen)에 지나지 않는다. 세상에는 빨간 것들이 있을 뿐, '빨강'이라는 별도의 존재자는 없다는 것입니다.
  • 개념론(Conceptualism): 보편자는 마음 밖에 실재하지는 않지만, 우리가 사물을 묶어 사고하기 위해 형성하는 개념으로서 존재한다.

추상적으로 들리지만, 이 논쟁의 구조는 컴퓨터과학의 ontology에서 다시 등장합니다. 지식 그래프나 객체 모델에서 우리는 늘 클래스(class)와 인스턴스(instance)를 나눕니다. "홍길동"이라는 개별 인스턴스가 있고, 그 위에 "사람(Person)"이라는 클래스가 있습니다. 클래스는 유명론이 말하는 '이름표'에 가까울까요, 실재론이 말하는 독립된 존재자에 가까울까요? 엔지니어는 대개 이 형이상학을 의식하지 않지만, 클래스를 정의하는 행위 자체가 "어떤 보편자를 우리 모델 안에서 실재하는 것으로 취급할 것인가"를 결정하는 일입니다. 뒤에서 보겠지만, 이 "취급하기로 결정한다"는 감각이야말로 철학과 공학을 잇는 다리입니다.

현대의 전환: 콰인과 존재론적 개입

20세기 분석철학은 존재론의 질문을 미묘하게, 그러나 결정적으로 바꿔 놓습니다. 그 중심에 미국 철학자 윌러드 밴 오먼 콰인(W. V. O. Quine)이 있습니다. 1948년 논문 「있는 것에 관하여(On What There Is)」에서 그는 "무엇이 존재하는가"라는 질문을 언어와 이론의 문제로 재정식화했습니다.

콰인의 유명한 정식은 이것입니다.

있다는 것은 변항의 값이 된다는 것이다(To be is to be the value of a bound variable).

이 한 문장은 맥락 없이는 수수께끼처럼 들리니 풀어 보겠습니다. 어떤 이론을 1차 술어논리의 언어로 엄밀하게 적었다고 합시다. 그 이론이 참이려면 "어떤 x가 존재해서 …"라는 형태의 존재 양화(∃x)가 반드시 성립해야 하는 대상들이 생깁니다. 콰인은 바로 그 변항이 값으로 가져야만 하는 대상들이 그 이론이 "존재한다고 인정하는" 것들이라고 보았습니다. 즉 한 이론의 존재론은, 그 이론이 참이기 위해 존재를 전제할 수밖에 없는 것들의 목록입니다.

여기서 핵심 개념이 존재론적 개입(ontological commitment)입니다. 어떤 이론을 받아들이는 순간, 우리는 그 이론이 양화하는 대상들의 존재에 약속(commit)하게 됩니다. 수(數)에 양화하는 수학 이론을 쓰면 그만큼 수의 존재에 개입하는 셈이고, 그 개입이 부담스럽다면 그 대상을 다른 방식으로 환원해 목록에서 덜어내려 시도하게 됩니다.

이 전환이 왜 중요할까요? 존재론의 무게중심이 "세계에 실제로 무엇이 있는가"(서술)에서 "우리의 이론·언어가 무엇의 존재를 전제하는가"(개입)로 옮겨갔기 때문입니다. 존재론은 이제 우주를 직접 들여다보는 일만이 아니라, 우리가 채택한 표상 체계가 어떤 존재자들을 요구하는지 따지는 일이 됩니다. 바로 이 감각이 — 의식되든 아니든 — 컴퓨터과학의 ontology로 그대로 건너갑니다.

곁가지 정리: 형이상학·존재론·존재론적 차이

용어가 겹쳐 헷갈리기 쉬우니 짧게 정리해 둡니다.

형이상학(metaphysics)이 더 넓은 범주입니다. 존재, 시간, 인과, 가능성, 동일성 등을 포괄하는 철학의 큰 분야입니다. 존재론(ontology)은 그중에서도 "무엇이 존재하며 그것들이 어떤 근본 범주로 나뉘는가"에 특화된 하위 분과로 보는 것이 일반적입니다. 모든 존재론은 형이상학이지만, 형이상학의 모든 문제가 존재론은 아닙니다.

한편 20세기 대륙철학에서 마르틴 하이데거는 존재론적 차이(ontological difference)를 강조했습니다. 그는 개별 존재자(das Seiende, beings)와 그것들이 "있음" 자체(das Sein, Being)를 구분하면서, 전통 형이상학이 후자를 망각한 채 전자만 다뤄 왔다고 비판했습니다. 이 구분은 컴퓨터과학의 ontology와는 직접 닿지 않지만, "존재자들의 목록"과 "존재한다는 것의 의미"가 다른 층위라는 점을 일러 줍니다. 우리가 만드는 데이터 온톨로지는 철저히 전자, 즉 존재자들의 목록과 그 구조를 다루는 작업입니다.

전유: 철학에서 컴퓨터과학으로

이제 다리를 건넙니다. 1990년대 초, 인공지능과 지식표현(Knowledge Representation) 연구자들은 서로 다른 시스템이 지식을 공유하려면 세계를 구성하는 개념과 관계를 명시적으로 합의해 적어 둔 규약이 필요하다는 문제에 부딪힙니다. 그들은 이 규약에 철학에서 단어를 빌려와 ontology라는 이름을 붙였습니다.

가장 널리 인용되는 정의는 1993년 톰 그루버(Tom Gruber)의 것입니다.

온톨로지는 어떤 개념화에 대한 명시적 명세다(An ontology is an explicit specification of a conceptualization).

이 짧은 정의를 풀면 이렇습니다. 우리는 어떤 영역을 바라볼 때 머릿속에 그 영역의 개념화(conceptualization) — 거기에 어떤 대상들이 있고 어떻게 관계 맺는지에 대한 추상적 그림 — 를 가집니다. ontology는 그 암묵적 그림을 기계와 사람이 함께 읽을 수 있도록 명시적으로(explicit) 적어 둔 명세입니다. 뒤이어 슈투더(Studer) 등은 여기에 "공유된 (shared)"과 "형식적인(formal)"을 더해, "공유된 개념화에 대한 형식적·명시적 명세"로 정의를 다듬었습니다. 여러 사람·시스템이 합의했고, 기계가 처리할 수 있도록 형식 언어로 적었다는 뜻입니다.

여기서 의미의 결정적 이동이 일어납니다.

측면철학의 존재론컴퓨터과학의 온톨로지
묻는 것세계에 무엇이 실제로 존재하는가이 영역을 무엇으로 구성된 것으로 모델링할까
성격서술적(descriptive) — 진리를 발견규정적·합의적(prescriptive) — 약속을 설계
산출물논변과 입장클래스·속성·관계의 형식 스키마
좋음의 기준참인가유용하고 일관되며 공유 가능한가

철학자는 "무엇이 존재하는가"를 발견하려 하고, 엔지니어는 "무엇을 존재하는 것으로 취급할지"를 결정합니다. 후자는 진리 주장이 아니라 설계 결정입니다. 어떤 데이터 온톨로지가 "고객(Customer)"과 "주문(Order)"을 객체 타입으로 두기로 했다면, 그것은 그 도메인에서 이 대상들의 존재에 — 콰인의 표현을 빌리면 — 개입한 것입니다. 모델이 양화하는 대상이 곧 그 모델이 존재한다고 약속하는 대상입니다.

그래서 콰인의 존재론적 개입은 두 세계를 잇는 가장 정확한 다리입니다. 철학에서 그것은 "우리의 이론이 무엇의 존재를 전제하는가"였고, 공학에서 그것은 "우리의 스키마가 무엇의 존재를 전제하는가"입니다. 질문의 형식은 같고, 답을 발견할 것이냐 설계할 것이냐만 다릅니다.

RECAP: 한 단어가 걸어온 길

지금까지의 여정을 짧게 되짚습니다.

  • ontology는 onto-(있는 것) + -logia(학문)의 17세기 합성어지만, 그 질문은 아리스토텔레스의 "있는 것을 있는 것으로서" 탐구하는 제일철학으로 거슬러 올라갑니다.
  • 그 핵심 질문은 "무엇이 존재하는가"이며, 범주·실체·속성 그리고 보편자 논쟁(실재론 대 유명론)으로 갈라집니다. 이 실체/속성, 클래스/인스턴스의 골격이 데이터 모델로 메아리칩니다.
  • 콰인은 존재론을 "세계에 무엇이 있는가"에서 "우리의 이론이 무엇의 존재를 약속하는가"로 옮겼습니다. 이 존재론적 개입 개념이 철학과 공학을 잇는 다리입니다.
  • 1990년대 지식표현 연구는 이 단어를 빌려, 그루버의 "개념화에 대한 명시적 명세"로 ontology를 재정의했습니다. 의미는 서술(발견)에서 규정(설계)으로 이동했습니다.

이 블로그가 그동안 다뤄 온 데이터 온톨로지들 — Palantir Foundry가 데이터가 아니라 '결정'을 표현하는 운영 레이어로 정의한 ontology, LLM으로 온톨로지를 반자동 확장하는 엔지니어링 프레임워크, 지식 그래프 구축 서베이가 다루는 온톨로지 학습 — 은 모두 이 철학적 개념의 공학적 후예입니다. 그것들은 "세계에 무엇이 있는가"를 발견하려는 형이상학이 아니라, 특정 도메인을 "무엇으로 구성된 것으로 취급할지" 합의해 형식화한 설계물입니다. 같은 단어가 2,400년에 걸쳐, 진리를 묻는 질문에서 모델을 설계하는 규약으로 변모한 셈입니다.

다음에 객체 타입을 하나 정의하거나 클래스 계층을 그릴 때, 그것이 단순한 스키마 작업이 아니라 "이 영역에서 무엇이 존재한다고 약속할 것인가"를 결정하는 작은 존재론적 행위임을 떠올려 본다면, 그 한 단어가 품은 긴 내력이 조금은 가깝게 느껴질 것입니다.