본문으로 건너뛰기
온톨로지 모델러 코스

온톨로지 모델러의 주요 작업 영역

모델링과 그래프 탐색기의 역할, 온톨로지의 구성 요소, 분석가와 엔지니어 사이에서 모델러가 담당하는 작업을 살펴봅니다.

7분

분석가는 준비된 데이터로 차트와 대시보드를 만들고, 엔지니어는 데이터가 만들어지고 갱신되는 과정을 담당합니다. 온톨로지 모델러는 데이터가 무엇을 의미하고 서로 어떻게 연결되는지 정의합니다.

D.Hub에서는 엔티티와 관계를 왼쪽 사이드바의 온톨로지 영역에서 정의합니다. 첫 번째 레슨에서는 온톨로지 모델러가 사용하는 핵심 개념을 살펴보겠습니다.

온톨로지 영역 살펴보기

왼쪽 사이드바의 온톨로지 섹션에는 두 가지 메뉴가 있습니다.

  1. 모델링 — 엔티티와 관계를 만들고 수정합니다. 컬렉션을 선택하면 우측 상단에서 빌더목록 탭을 사용할 수 있습니다.
  2. 그래프 탐색기 — 모델에 적재된 실제 데이터를 탐색합니다. 왼쪽의 엔티티·관계 목록을 선택하거나 쿼리 콘솔에서 Cypher를 실행해 원하는 인스턴스를 조회할 수 있습니다.

두 메뉴를 사용할 때는 다음 규칙을 기억하세요.

  • 엔티티와 관계는 컬렉션 트리의 개별 항목으로 표시되지 않습니다. 온톨로지 자원은 온톨로지 섹션에서 관리합니다.
  • 컬렉션 1개는 온톨로지 스코프 1개를 가집니다. 컬렉션을 만들면 온톨로지 스코프가 자동으로 생성됩니다. 엔티티와 관계를 만들 때는 소속 컬렉션(collection_id)을 반드시 지정해야 하며, 누락하면 422 오류가 발생합니다.

온톨로지는 개별 작업 도구가 아니라 컬렉션의 데이터에 의미를 더하는 모델입니다.

온톨로지의 세 구성 요소

이 코스에서는 다음 세 가지 요소를 반복해서 사용합니다.

  1. 엔티티(Entity) — 고객, 제품, 주문, 기계, 센서와 같은 현실의 객체를 표현합니다. 실제 행은 데이터셋을 읽는 파이프라인의 Entity 출력으로 적재합니다.
  2. 관계(Relationship) — 고객이 제품을 주문하거나 센서가 기계를 측정하는 것처럼 두 엔티티가 어떻게 연결되는지 표현합니다. 관계에는 방향과 purchased, iot_reads_from 같은 이름이 있습니다.
  3. 엔티티 스키마 메타데이터Identity Keys는 엔티티 인스턴스를 구분하는 식별 키이고, Display Column은 노드에 표시할 대표값입니다. Identity Keys가 없으면 Entity Upsert와 관계의 소스·대상 참조를 만들 수 없습니다. 관계 행은 사용자가 고른 Identity Keys가 아니라 시스템 구조 컬럼 id로 Upsert합니다.

익숙한 어휘와 포털에서의 사용 어휘

ER 모델, Neo4j, RDF를 사용해 본 경험이 있다면 다음 표를 참고해 D.Hub의 개념을 이해할 수 있습니다. 레슨 02부터는 D.Hub의 용어를 사용합니다.

익숙한 어휘포털
ER 모델의 entity엔티티(Entity)
Primary key (PK)Identity Keys
사람이 읽는 라벨 컬럼Display Column
ER 모델의 relationship · Neo4j의 relationship type관계(Relationship) — source · target · name
Neo4j :Label엔티티 이름(name)
그래프 DB 인스턴스그래프 탐색기에서 보이는 노드 한 개
Cypher그래프 탐색기 하단 쿼리 에디터 (그대로 사용)

기존 도구와 비교했을 때 D.Hub에는 두 가지 차이가 있습니다.

  • 모델과 인스턴스를 다른 화면에서 관리합니다. 모델링에서는 모델을 정의하고 그래프 탐색기에서는 실제 인스턴스를 확인합니다.
  • 별도의 Sink 화면이 없습니다. 모델을 저장하는 것만으로 인스턴스가 생기지는 않습니다. 파이프라인에서 대상 엔티티 또는 관계를 출력으로 연결하고 실행해야 데이터와 그래프에 반영됩니다.

두 도메인 예시

이 코스의 실습은 제조 IoT 시나리오를 사용합니다.

  • 제조 IoT: iot_machine, iot_sensor, iot_maintenance_event 세 개의 엔티티와 iot_reads_from (센서→기계), iot_triggers (기계→유지보수 이벤트) 두 개의 관계.
  • 리테일 공급망: ri_product, ri_branch, ri_region, ri_supplier 네 개의 엔티티와 ri_stocked_at (상품→지점), ri_located_in (지점→지역), ri_supplied_by (상품→공급업체) 세 개의 관계. 여러 종류의 관계가 연결되는 구조를 보여 줍니다.

엔티티와 관계의 이름은 영문 소문자 또는 밑줄로 시작하고 이후에는 영문 소문자, 숫자, 밑줄만 사용할 수 있습니다. 길이는 1~63자입니다. IOT_Machine처럼 대문자가 포함된 이름은 생성 시 검증 오류가 발생하므로 iot_machine처럼 입력하세요.

두 예시를 비교하면 자신의 도메인에서 하나의 온톨로지에 어느 정도의 엔티티와 관계를 포함할지 판단하는 데 도움이 됩니다.

분석가 · 엔지니어와의 책임 경계

분석가, 엔지니어, 모델러가 같은 컬렉션에서 작업한다면 담당 범위를 미리 정하는 것이 좋습니다.

책임보통 누구의 일
외부 시스템에서 데이터를 가져와 데이터셋으로 떨어뜨리기엔지니어
데이터셋 위에 의미 레이어 (엔티티 · 관계) 정의모델러
Identity Keys · Display Column 결정모델러
파이프라인 출력과 엔티티·관계 스키마의 계약 결정모델러 (엔지니어와 한 자리에서)
그래프 위에 위젯 · 대시보드 만들기분석가
그래프 탐색기에서 거버넌스 · 감사 흔적 추적모델러 + 분석가

조직의 규모에 따라 한 사용자가 여러 역할을 담당할 수도 있습니다. 이 코스에서는 온톨로지 모델러가 결정하고 관리하는 작업을 중심으로 학습합니다.

이 레슨에서 익혀야 할 것

  • 온톨로지 섹션의 두 메뉴(모델링 · 그래프 탐색기)와 각각이 답하는 질문
  • 엔티티 · 관계 · 스키마 메타데이터 세 구성 요소
  • 익숙한 어휘(ER · Neo4j · Cypher) 와 포털에서의 어휘
  • 1 컬렉션 = 1 온톨로지 스코프 규칙, 분석가 · 엔지니어와의 경계

다음 레슨

다음 레슨에서 모델링으로 들어가 엔티티 한 개를 직접 정의합니다. 이름, 별칭, 속성 타입, Identity Keys, Display Column을 설정합니다.