logo

지식 그래프와 온톨로지 개요

지식 그래프란 무엇입니까

지식 그래프(knowledge graph)는 개체와 개체 사이의 관계를 그래프 형태로 표현한 지식 표현 방식입니다. 사람, 장소, 상품, 문서, 사건 같은 대상을 노드로 두고, 대상 사이의 관계를 간선으로 연결합니다.

예를 들어 "앨리스가 책을 구입했습니다"라는 문장은 다음과 같은 관계로 표현할 수 있습니다.

ex:Alice ex:bought ex:Book001 .
ex:Book001 ex:title "지식 그래프 입문" .

첫 번째 문장은 앨리스와 책 사이의 구매 관계를 나타냅니다. 두 번째 문장은 책의 제목이라는 속성을 나타냅니다.

이 예시는 다음처럼 개체와 관계가 연결된 그래프로 볼 수 있습니다.

flowchart LR
    alice["ex:Alice<br/>앨리스"]
    book["ex:Book001<br/>책"]
    bookTitle["책 제목: 지식 그래프 입문"]

    alice -- "ex:bought" --> book
    book -- "ex:title" --> bookTitle

왜 지식 그래프가 필요합니까

지식 그래프는 단순히 데이터를 저장하는 방식이 아니라 데이터의 의미와 연결을 함께 표현하는 방식입니다. 같은 데이터라도 "무엇이 무엇과 어떤 관계에 있는가"를 명시하면 검색, 추천, 설명, 추론에 활용하기 쉽습니다.

관계형 데이터베이스는 표 구조에 강점이 있습니다. 반면 지식 그래프는 관계가 복잡하거나 여러 출처의 데이터를 연결해야 할 때 유리합니다. 예를 들어 고객, 상품, 브랜드, 리뷰, 카테고리, 배송 지역을 하나의 연결 구조로 다루면 "어떤 고객이 어떤 이유로 어떤 상품에 관심을 가질 가능성이 높은가" 같은 질문을 더 자연스럽게 표현할 수 있습니다.

온톨로지의 역할

온톨로지(ontology)는 지식 그래프에서 사용할 개념, 관계, 속성, 제약을 정의한 설계도입니다. 지식 그래프가 실제 데이터라면 온톨로지는 그 데이터를 어떤 의미 체계로 해석할지 정하는 규칙입니다.

예를 들어 온톨로지에는 다음과 같은 정의가 포함될 수 있습니다.

  • 고객은 사람의 한 종류입니다.
  • 상품은 하나 이상의 카테고리에 속합니다.
  • 구매 관계의 주체는 고객이고 대상은 상품입니다.
  • 상품 가격은 숫자 값입니다.

이런 정의가 있으면 그래프에 직접 적혀 있지 않은 사실도 추론할 수 있습니다. 예를 들어 "고객은 사람의 한 종류"라고 정의되어 있으면, 어떤 개체가 고객이라는 사실만으로도 그 개체가 사람이라는 사실을 알 수 있습니다.

지식 그래프의 두 가지 표현 방식

지식 그래프는 대표적으로 두 가지 방식으로 표현됩니다.

첫째, RDF(Resource Description Framework)는 웹 표준에 기반한 표현 방식입니다. 주어, 술어, 목적어로 구성된 트리플을 사용하며, 서로 다른 시스템 사이에서 데이터를 교환하고 의미를 공유하는 데 강점이 있습니다.

둘째, 속성 그래프(property graph)는 노드와 간선에 속성을 직접 붙이는 방식입니다. 그래프 데이터베이스에서 자주 사용되며, 탐색 질의와 응용 개발에 편리합니다.

CREATE (a:Person {name: "앨리스"})
CREATE (b:Book {title: "지식 그래프 입문"})
CREATE (a)-[:BOUGHT]->(b)

위 예시는 속성 그래프 방식입니다. 노드에는 Person, Book 같은 라벨이 있고, 간선에는 BOUGHT라는 관계 유형이 있습니다.

대표적인 활용 분야

지식 그래프는 다음과 같은 분야에서 자주 사용됩니다.

  • 검색 결과의 의미 기반 확장입니다.
  • 추천 시스템에서 사용자, 상품, 콘텐츠의 관계를 표현하는 일입니다.
  • 기업 데이터 통합에서 서로 다른 데이터 출처를 연결하는 일입니다.
  • 질의응답 시스템에서 배경 지식을 제공하는 일입니다.
  • 의료, 법률, 제조처럼 전문 지식의 구조가 중요한 분야입니다.

설계할 때 주의할 점

지식 그래프를 만들 때 가장 중요한 질문은 "어떤 질문에 답하기 위해 이 그래프를 만드는가"입니다. 같은 현실을 여러 방식으로 모델링할 수 있기 때문입니다.

예를 들어 구매를 단순한 관계로 표현할 수도 있고, 구매 사건을 별도의 개체로 만들 수도 있습니다.

ex:Alice ex:bought ex:Book001 .
ex:Purchase001 a ex:Purchase ;
    ex:buyer ex:Alice ;
    ex:item ex:Book001 ;
    ex:date "2026-06-05" .

첫 번째 방식은 간단합니다. 두 번째 방식은 구매일, 수량, 결제 수단처럼 구매 자체의 속성을 표현하기 좋습니다. 어떤 방식이 더 좋은지는 앞으로 어떤 질의를 할 것인지에 따라 달라집니다.

정리

지식 그래프는 데이터를 개체와 관계의 구조로 표현하는 방법입니다. 온톨로지는 그 구조의 의미를 정의하는 설계도입니다. 지식 그래프를 잘 만들려면 저장 기술보다 먼저 개념, 관계, 질의 목적을 명확히 해야 합니다.

Previous
지식 그래프와 온톨로지