온톨로지 & 지식 그래프 가이드 1: 개념, 스펙트럼, 트리플
온톨로지와 지식 그래프는 데이터를 단순 텍스트가 아니라 개념과 관계의 구조로 다루기 위한 방법이다. RAG가 문서 검색을 중심으로 움직인다면, 지식 그래프는 entity와 relation을 명시적으로 연결한다.
이 글은 ontology, knowledge graph, triple, schema 설계를 이해하기 위한 기본 개념을 정리한다.
온톨로지와 지식 그래프란?
데이터에 “의미”를 부여하는 두 가지 핵심 개념이다.
온톨로지 (Ontology)
도메인의 개념과 관계를 형식적으로 정의한 체계. “고객은 주문을 하고, 주문은 제품을 포함하고, 제품은 카테고리에 속한다”를 기계가 이해할 수 있는 형태로 표현한다. 온톨로지는 스키마다 — 실제 데이터가 아니라 데이터의 구조와 규칙을 정의한다.
지식 그래프 (Knowledge Graph)
온톨로지를 기반으로 실제 데이터를 노드와 엣지로 연결한 그래프 구조. 온톨로지가 “고객은 주문을 한다”라는 규칙이면, 지식 그래프는 “김철수가 주문#1234를 했다”라는 실제 사실이다. 지식 그래프는 인스턴스 데이터다.
쉽게 말하면 온톨로지는 빈 엑셀의 열 제목, 즉 schema에 가깝고, 지식 그래프는 그 구조 안에 채워진 실제 데이터에 가깝다. 다만 엑셀과 달리 행과 열이 아니라 graph의 node와 edge로 표현되기 때문에 복잡한 관계를 더 자연스럽게 다룰 수 있다.
관계형 DB와 뭐가 다른가?
관계형 DB는 테이블과 JOIN으로 관계를 표현한다. 관계가 깊어지면 JOIN이 복잡해지고 성능이 떨어진다. 지식 그래프는 관계 자체를 일급 시민으로 저장하기 때문에, “3단계 떨어진 관계”를 찾는 것이 자연스럽고 빠르다. AI가 “김철수의 동료가 구매한 제품의 카테고리”를 찾아야 할 때, JOIN 5개보다 그래프 순회가 빠르다.
왜 AI에 중요한가?
벤치마크에 따르면, 지식 그래프 없이 LLM을 사용하면 정확도 16.7%, 지식 그래프를 연결하면 56.2% — 3.4배 향상. 엔티티가 10개 이상인 복잡한 질문에서는 벡터 검색 정확도가 0%로 떨어지지만, 지식 그래프 기반은 70% 이상을 유지한다.
온톨로지 스펙트럼: 단순에서 복잡으로
처음부터 OWL을 만들 필요는 없다 — 단계적으로 깊이를 더한다
Glossary
단어와 정의만 있는 목록
시작점
Taxonomy
계층 구조 (is-a 관계). 예: 동물 > 포유류 > 개
분류
Thesaurus
동의어, 관련어, 상위어/하위어
관계
Ontology
속성, 제약, 논리 규칙, 추론 가능
추론
실전 가이드:
프로덕션 경험
에 따르면, 노드 타입 3~7개, 관계 타입 5~15개가 최적이다. 5개 클래스 + 10개 속성의 단순한 온톨로지가, 50개 클래스의 깊은 상속 구조보다 더 정확하게 추출된다. 복잡할수록 좋은 게 아니다.
Building Blocks
트리플: 지식 그래프의 기본 단위
모든 지식 그래프는 주어-술어-목적어 트리플로 구성된다
김철수 (Subject)
→
주문했다 (Predicate)
→
주문#1234 (Object)
주어(누가) → 술어(무엇을 했다) → 목적어(무엇에 대해)
주문#1234
→
포함한다
→
MacBook Pro
MacBook Pro
→
속한다
→
노트북 카테고리
트리플을 연결하면 그래프가 된다 — “김철수 → 주문 → MacBook Pro → 노트북 카테고리”
이것이 관계형 DB와 근본적으로 다른 점이다.
관계형 DB에서 “김철수가 주문한 제품의 카테고리”를 찾으려면 고객 테이블 → 주문 테이블 → 주문상품 테이블 → 제품 테이블 → 카테고리 테이블을 JOIN해야 한다. 지식 그래프에서는 노드를 따라가기만 하면 된다. 관계가 깊어질수록 이 차이는 극적으로 커진다.
추가 정리
핵심 요약
온톨로지는 도메인의 개념과 관계를 명시적으로 정의하는 틀이고, 지식 그래프는 그 정의를 실제 데이터 관계로 표현한 구조다. Triple은 주어, 술어, 목적어로 지식을 표현하는 기본 단위다.
보충 해설
처음부터 복잡한 온톨로지를 만들 필요는 없다. 핵심 엔티티와 관계를 작게 정의하고, 실제 질문에 필요한 관계부터 그래프로 옮기는 방식이 현실적이다. 중요한 것은 데이터가 어떤 의미를 갖는지 기계와 사람이 함께 이해할 수 있게 만드는 것이다.