티스토리 뷰
이번 글은 팔란티어에 대한 네번째 글로서 온톨로지 자체에 대한 내용을 담으려고 한다.
지난 글 목록
2025.02.18 - [N:::만지작 거리기] - 팔란티어 - 데이터통합과 온톨로지
2025.02.10 - [N:::만지작 거리기] - 팔란티어 - 왜 온톨로지를 사용하는가?
2025.02.05 - [N:::만지작 거리기] - 팔란티어 Platform overview
팔란티어 온톨로지
구조적, 반구조적, 비구조적 데이터는 통합되어 디지털 자산으로 구성(데이터 계층)되고, 그 위에 팔란티어 온톨로지를 통해 데이터가 실제 세계에서 가지는 의미를 연결하는 역할로서 운영 계층이 구성된다.
팔란티어 플랫폼에는 실제로 여러 종류의 애플리케이션들이 제공되며, 각각 애플리케이션의 목적에 따라 온톨로지를 사용하여 작동한다. (애플리케이션의 종류는 오브젝트 뷰, 오브젝트 탐색기, Quiver, 워크샵, Slate, 맵 이 존재한다.)
온톨로지는 의미적 요소, 동적 요소, 인터페이스로 구분할 수 있으며, 각 요소마다 실제적인 구성들은 아래와 같다.
의미적 요소 (오브젝트, 속성, 링크 등)
실세계를 잠깐 생각해보면 세상의 거의 모든 것들을 개념(오브젝트), 개념의 속성(속성), 개념간의 관계(링크) 로 정의할 수 있다.
실례로, 비행운송수단인 “항공기”라는 개념이 있고, 모든 항공기는 “첫비행” 이라는 속성이 존재하며, 항공기는 “개발한 회사”라는 관계가 존재하는 것과 같이
“에어버스 A380”은 “항공기”이고 “2005년4월27일”에 첫비행을 하였으며, 개발사는 “에어버스”이고 “에어버스”는 “항공기업체” 라는 개념을 정의할 수 있다.
팔란티어의 온톨로지는 이와 마찬가지로 데이터 계층에 존재하는 데이터 소스를 오브젝트, 속성, 링크로 매핑함으로 의미체계를 정의한다.
데이터는 온톨로지로 매핑이 되고, 온톨로지는 여러 애플리케이션에서 사용자의 워크플로우에서 사용되는 데이터로서 활용된다.
즉, 조직내 객관적 현실을 표현한 온톨로지를 통해 모든 이해관계자가 동일하게 해석하는 데이터로 협업이 가능하게 된다.
- 오브젝트
실세계의 단일 개체 또는 개별 이벤트를 말하며, 인스턴스라고도 부른다.
팔란티어의 공식 문서의 예시와 동일하게 설명하면 "직원" 이라는 개념에서 홍길동, 김철수, 최영희 등이 각각 오브젝트라 볼 수 있다.
- 오브젝트 유형
오브젝트 유형은 실세계의 개체 또는 이벤트의 스키마 정의이다. 개체/이벤트에 대한 특성을 정의함으로 해당 오브젝트 유형인 오브젝트들은 오브젝트 유형으로 정의된 특성을 따르게 된다.
“직원” 이라는 오브젝트 유형을 생성하고, 이 오브젝트 유형에 해당하는 모든 오브젝트는 “직원번호” 라는 속성을 가진다고 스키마 정의를 할 수 있다.
스키마 정의에 따라 위에서 언급한 오브젝트인 홍길동, 김철수, 최영희는 “직원” 이라는 오브젝트 유형에 해당되는 경우 “사원번호” 라는 속성을 모든 오브젝트가 공통적으로 각각 가지게 된다.
- 오브젝트 집합
오브젝트 집합은 이름과 같이 그룹을 뜻하는 것으로 모든 직원들 중에 취미가 운동인 직원을 그룹으로 묶은 것과 같다.
- 속성
속성은 오브젝트 유형의 특성을 정의하는 것으로 해당 실제 세계의 엔티티 또는 이벤트의 단일 오브젝트(인스턴스)를 나타낸다. 위 예시에서는 “직원번호” 가 바로 속성인 것이다.
- 공유 속성
공유 속성은 여러 오브젝트 유형에서 함게 사용할 수 있는 속성으로, 공유 속성을 통해 여러 오브젝트 유형 간에 일관된 데이터 모델링 및 속성의 관리가 중앙형으로 이루어질 수 있게 된다.
- 링크 유형
두 오브젝트 유형 간의 관계를 정의하는 것으로 동일한 온톨로지 내에서 관계를 나타낸다. 두 오브젝트 유형 간의 관계라는 것은 전혀 다른 오브젝트 유형이 될 수도 있고, 동일한 오브젝트 유형이 될 수도 있다. 이는 직원들 간의 관계를 나타내는 것과 같다.
동적 요소 (액션 유형, 함수 등)
동적인 요소란 실제 사용자의 워크플로우에서 작동, 변환, 실행될 수 있도록 하는 요소를 뜻한다. 이러한 요소들은 조직의 통제와 거버넌스를 준수해야 하기 때문에 온톨로지에서는 액션 유형과 함수를 사용하여 정의한다.
- 액션
액션은 사용자가 정의한 로직에 따라 오브젝트, 속성, 링크를 변경하는 단일 트랜잭션을 의미한다.
-액션 유형
액션 유형은 오브젝트, 속성, 링크에 대한 변경사항 또는 편집 사항을 정의한 개념으로, 조직내 운영자가 ‘데이터를 입력(혹은 운영자로부터 데이터를 수집)’하거나 ‘기존 시스템과 연결된 의사결정 프로세스를 조정’할 수 있도록 지원한다.
예를 들면, “직원 배정” 이라는 액션 유형을 생성하여 특정 직원의 속성인 “역할”을 변경하는 방식을 정의할 수 있다. 이 액션 유형은 표준화된 양식으로 새로운 역할을 입력할 수 있도록 매개변수를 요구할 수 있으며, 새로운 역할을 배정하게 됨으로 변경되는 직원과 새로운 관리자 간의 링크를 자동으로 생성하는 규칙을 포함할 수도 있다.
또한 부수적으로 (링크를 자동으로 생성하는 규칙을 정의한 경우) 기존 관리자와 새로운 관리자에게 변경 사항을 알리는 기능을 추가할 수 있으며, 인사팀 직원과 같이 권한이 있는 직원만 해당 액션을 수행하도록 제한하는 기능도 추가할 수 있다.
이렇게 정의된 액션 유형에 따라 실제로 실행되어 변경이 되는 것을 “액션”이라고 이해하면 된다.
HR 직원 중 한명이 위와 같이 정의된 액션 유형에 따라 직원 “홍길동”의 역할 속성을 “소프트웨어 개발자”에서 “프로덕트 매니저”로 변경하는 액션을 수행하면, 자동으로 “프로덕트 매니저” 역할자들을 관리하는 관리자인 “이순신”과 “소프트웨어 개발자” 역할자들을 관리하는 “강감찬”에게 알림이 제공된다.
이 결과는 어떤 시스템/프로그램으로 구동되어졌든지 결과적으로 동일하다.
차이점이라고 하면, 특정 언어로 정의된 로직이나 프로그램 레벨에서 이루어지는 것이 아니라 GUI환경에서 누구에게나 동일한 용어로 생성하고 관리된다는 점이다.
온톨로지는 단순한 추상적인 데이터 모델이 아니라 각각의 개념이 실제 데이터와 매핑되어 실제 애플리케이션에 반영되도록 설계가 되어 있다. 따라서 사용자들의 의사 결정과 인사이트가 온톨로지에 편집되어 반영될수록 데이터 자산의 풍부함과 가치가 증가된다.
사용자가 액션을 수행하면(변경 작업), 해당 변경 사항은 온톨로지에 반영되어 모든 사용자 애플리케이션에 적용이 된다.
-함수
함수는 입력 매개변수를 받아 출력을 반환하는 코드 기반의 로직으로, ‘운영환경에서 빠르게 실행시킬 수 있는 복잡한 비즈니스 로직을 작성’ 할 수 있는 기능을 제공한다.
함수에서 지원하는 프로그래밍 언어는 타입스크립트와 파이썬이며, 값의 집계, 차트로 시각화, 값 조회, 외부 함수를 통한 외부 시스템을 조회하여 온톨로지 객체를 보강하는 것 등에 사용한다.
역할 (Roles)
역할은 온톨로지에서 중앙 권한 관리 모델로서 온톨로지 리소스에 접근 권한을 부여한다. 온톨로지 리소스는 오브젝트 유형, 링크 유형, 액션 유형을 의미하며, 현재 두 가지 권한 모델이 온톨로지 리소스에 대한 권한으로 사용되고 있다.
데이터 소스 기반 권한과 온톨로지 리소스에 대해 직접 역할을 적용하는 권한 방식(기본 권한 모델)이 있다.
인터페이스
인터페이스는 오브젝트 유형의 구조와 그 기능을 설명하는 온톨로지 유형이다.
인터페이스는 오브젝트 유형의 다형성(polymorphism)을 제공하여, 공통된 구조를 가진 오브젝트 유형을 일관되게 모델링하고 상호작용할 수 있게 해준다.
인터페이스는 구체적인 데이터를 포함하지 않고, 여러 오브젝트 유형이 공통적으로 가져야할 공유 속성이나 링크를 추상적으로 정의하는 것에 사용한다.
오브젝트 유형은 이런 인터페이스를 구현하여 정의하게 됨으로써 공통 속성과 관계를 정의하는 것에 일관성을 유지할 수 있다.
예를 들면 “사람”이라는 인터페이스를 정의하고 공유 속성으로 “이름”, “생년” 을 정의할 수 있다. “사람” 인데 이름과 생년이 없는 사람이 없기 때문에 사람이라면 누구에게나 부여되는 속성이라고 볼 수 있다.
오브젝트 유형인 “직원”과 “고객” 은 이 인터페이스를 구현하여 정의를 할 경우, “직원” 오브젝트 유형은 개별 속성으로 “직원번호”와 “부서”를 추가하면 되고, “고객” 오브젝트 유형은 “고객 번호”를 추가하면 된다. 이 두 오브젝트 유형은 “사람”이라는 인터페이스를 구현하였기 때문에 “이름”과 “생년”을 모두 공통적으로 가질 수 있게 되고, 두 오브젝트 유형이 중복 정의 없이 데이터 모델을 일관되게 유지할 수 있게 된다.
팔란티어 온톨로지는 사실 온톨로지를 다루고 있는 사람들에게는 굉장히 친숙한 영역이기도 하다. UPPER ontology, Class, ObjectProperty, DatatypeProperty, owl:domain, owl:range, rdfs:subClassOf, Collection 등 용어적인 차이도 크게 없기도 하다. 온톨로지로 매핑되기 전인 테이블 형태의 중간 데이터셋이 온톨로지로 매핑되어 실제 인스턴스로 만들어지는 개념도 동일하다. 대부분 테이블의 행 단위가 하나의 인스턴스(오브젝트)를 이루고 컬럼이 속성이나 다른 인스턴스와의 링크를 이루는 관계로 매핑된다. 오브젝트 유형은 Class를 구성하는 단위가 되는 것도 유사하다.
다양한 이해관계자, 사람과 기계가 함께 여러 유형의 데이터와 로직을 정의하는 것에 온톨로지만 한 것이 없다고 생각한다.
Gruber는 온톨로지를 '공유된 개념화(shared conceptualization)에 대한 정형화되고 명시적인 명세(formal and explicit specification)' 라고 정의했다.
J_2. 온톨로지
온톨로지 온톨로지는 철학에서 말하는 온톨로지* 가 있고 철학 이외의 학문분야에서 말하는 온톨로지가 있다. 철학에서 말하는 온톨로지라는 용어가 다른 학문분야에서 사용되기 시작한 것은 1
joyhong.tistory.com
팔란티어가 온톨로지를 사용하여 조직의 데이터와 세상을 디지털화하는 것도 결국 "지식표현", "공유", "재사용"의 장점을 잘 사용하는 것이다라고 생각해본다.
'N:::만지작 거리기' 카테고리의 다른 글
팔란티어 - Decision Capture (0) | 2025.03.04 |
---|---|
팔란티어 - 데이터통합과 온톨로지 (2) | 2025.02.18 |
팔란티어 - 왜 온톨로지를 사용하는가? (0) | 2025.02.10 |
팔란티어 Platform overview (0) | 2025.02.05 |
텍스트를 그래프로 파악하기 (1) | 2023.10.06 |
- Total
- Today
- Yesterday
- Linked Data
- 트리플
- django
- Neo4j
- Ontology
- TBC
- 지식그래프
- pyvis
- Thymeleaf
- 스프링부트
- TopBraid Composer
- 온톨로지
- 사이퍼
- cypher
- Knowledge Graph
- 그래프 데이터베이스
- 트리플 변환
- property graph
- RDF
- RDF 변환
- neosemantics
- stardog
- sparql
- networkx
- rdfox
- LOD
- TDB
- 장고
- 지식 그래프
- 타임리프
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |