팔란티어 파운드리 온톨로지 Object, Link, Action으로 회사를 통째로 옮긴다
팔란티어 파운드리의 온톨로지는 Object, Link, Action 세 축으로 구성된다. 데이터베이스 테이블 대신 비즈니스 언어로 데이터를 다루는 구조를 공공입찰 데이터 모델링 사례로 풀어본다.
데이터베이스 테이블 수십 개를 조인해서 대시보드 하나 만드는 데 2주.
이런 경험이 있는 데이터 팀이라면 팔란티어가 온톨로지를 왜 이렇게 밀고 있는지 감이 올 것이다. 팔란티어 파운드리(Palantir Foundry)는 기존 데이터베이스의 테이블-칼럼 구조 대신, 비즈니스가 실제로 돌아가는 방식에 맞춰 데이터를 재배치한다.
팔란티어 공식 문서의 표현을 빌리면, 온톨로지는 "조직의 운영 레이어"다.
이 운영 레이어는 Object Type, Link Type, Action Type 세 가지로 구성된다. 각각 무엇을 담당하고, 실제 데이터에 적용하면 어떤 모양이 되는지 공공입찰 모델링 사례를 통해 풀어본다.
Object Type: 현실의 개체를 디지털로 옮기기

ERP의 마스터 데이터를 떠올리면 이해가 빠르다. 거래처, 품목, 설비 같은 것들. Object Type은 이런 관리 대상을 Foundry 안에서 표현하는 단위다. 데이터베이스 테이블과 비슷해 보이지만 차이가 크다. 하나의 Object Type 안에 속성(Property)과 다른 Object와의 관계, 실행 가능한 비즈니스 로직이 함께 들어간다. 테이블은 데이터를 담고, Object는 맥락까지 담는다.
공공입찰 데이터를 예로 들어보면 감이 온다. 나라장터에서 수집한 입찰 데이터를 온톨로지로 만들 때, Object Type을 이렇게 잡았다.
- 발주기관(Organization)
- 입찰공고(Bid Announcement)
- 사전규격(Pre-specification)
- 투찰(Bid Submission)
- 낙찰(Award)
각 Object에는 고유 식별자(Primary Key)와 속성이 붙는다. 입찰공고라면 공고번호, 공고일, 입찰마감일, 추정가격 같은 것들이다.
여기서 중요한 건 Object Type을 어떤 단위로 잡느냐에 따라 이후 분석의 깊이가 달라진다는 점이다. 온톨로지 설계 단계에서 비즈니스 질문을 먼저 정의해두면 이런 재작업을 줄일 수 있다.
Link Type: Object 사이의 관계를 정의하는 방법

Object 하나하나는 독립된 데이터 덩어리다.
Link Type이 이것들을 엮어서 비즈니스 흐름을 만들어준다. 관계 유형은 일대일(1:1), 일대다(1:N), 다대다(N:N)를 지원하며, 관계의 방향성까지 정의할 수 있다.
공공입찰 온톨로지에서 실제로 적용한 관계를 보면 이렇다.
- 하나의 발주기관이 여러 입찰공고를 낸다(1:N).
- 하나의 입찰공고에 여러 업체가 투찰한다(1:N).
- 하나의 사전규격이 하나의 입찰공고와 연결된다(1:1).
- 특정 업종의 업체가 여러 입찰에 참여하고, 하나의 입찰에 여러 업체가 참여하는 구조도 있다(N:N).
Link Type을 설정할 때 방향성도 고려해야 한다. "발주기관 → 입찰공고" 방향과 "입찰공고 → 발주기관" 방향은 분석 목적에 따라 다르게 쓰인다. 특정 기관의 발주 패턴을 보려면 전자, 특정 공고의 발주 주체를 확인하려면 후자가 필요하다. Foundry에서는 양방향 탐색이 가능하지만, 설계 시점에 주요 탐색 방향을 정해두면 AIP에서 질문할 때 더 정확한 답이 나온다.
Action Type: 데이터 위에서 일어나는 비즈니스 이벤트

Object와 Link는 "지금 상태"를 담는다.
Action Type은 "무슨 일이 일어났는가"를 기록한다.
입찰 제출, 개찰, 낙찰 확정, 계약 체결처럼 비즈니스 프로세스의 각 단계가 Action으로 잡힌다. 기존 시스템에서는 트랜잭션 로그 속에 묻혀서 분석 대상이 되기 어려웠던 이벤트들이다.
Action Type을 제대로 설계하면 두 가지가 가능해진다.
첫째, 프로세스 전체 흐름을 한눈에 볼 수 있다. 사전규격 공개부터 낙찰까지 각 단계가 Action으로 연결되어 있으니, 어느 단계에서 병목이 생기는지 바로 파악된다.
둘째, AIP를 통해 "지난달 A 기관에서 낙찰까지 평균 며칠 걸렸나" 같은 질문을 자연어로 던지면 Action 기록을 기반으로 답이 나온다.
실제 구축 과정에서 Action Type 정의가 가장 뒤로 밀리는 경향이 있었다. Object와 Link에 시간을 많이 쓰고 나면 Action은 대충 넘어가기 쉬운데, AIP 활용 단계에서 Action이 빠져 있으면 "왜 이렇게 됐는지"를 추적할 수가 없다. 온톨로지의 분석 가치는 Action의 정밀도에 비례한다고 봐도 된다.
세 가지가 맞물리면 벌어지는 일
Object, Link, Action이 하나의 온톨로지에서 맞물리면 팔란티어가 말하는 "디지털 트윈"이 완성된다. 데이터 수집부터 분석까지의 거리가 극적으로 줄어든다.
클리원트가 나라장터 공공입찰 데이터로 온톨로지를 구축한 뒤, AIP에 "3월 첫째 주에 마감된 입찰 중 추정가격 1억 이상인 공고는 몇 건이고, 어느 기관이 발주했나?"라고 물었다. 답이 바로 나왔다. 기존 방식이라면 공고 테이블과 기관 테이블을 조인하고, 날짜와 금액 조건을 걸어 쿼리를 짜야 할 작업이다. 온톨로지 안에 이미 Object 간 관계와 속성이 정의되어 있으니, AIP는 그 구조를 따라가기만 하면 된다.
온톨로지 설계에 들어가는 시간은 짧지 않다. 데이터 정제부터 Object 정의, Link 매핑, Action 설계까지 전체 프로젝트의 60~70%가 이 단계에 소모된다.
그 대신, 한번 잡힌 온톨로지 위에서 새로운 분석이나 대시보드를 추가하는 건 빠르다. 팔란티어 Foundry를 평가할 때 초기 구축 비용과 이후 확장 속도를 함께 봐야 하는 이유다.
자주 묻는 질문
팔란티어 온톨로지에서 Object Type이란?
- Object Type은 현실 세계의 엔티티를 디지털로 표현한 것이다. 고객, 주문, 장비, 입찰공고 등 비즈니스에서 관리하는 모든 개체가 Object Type이 된다. 각 Object에는 속성(Property)이 붙고, 이 속성들이 해당 개체의 상태와 특징을 설명한다.
팔란티어 온톨로지 Link Type의 관계 유형은?
- Link Type은 Object 간 연결을 정의하며, 1:1(일대일), 1:N(일대다), N:N(다대다) 세 가지 관계 유형을 지원한다. 하나의 입찰공고에 여러 투찰이 연결되면 1:N, 여러 업체가 여러 입찰에 참여하면 N:N 관계다.
팔란티어 온톨로지 Action Type은 어떤 역할을 하나?
- Action Type은 Object와 Link 위에서 실행되는 비즈니스 이벤트를 정의한다. 입찰 제출, 낙찰 확정, 계약 체결 같은 의사결정과 상태 변화가 Action으로 모델링된다.