본문으로 건너뛰기
버전: v0.1.0

온톨로지 빌더

Ontology Builder는 엔티티와 관계를 시각적으로 정의하고 관리하는 작업 공간입니다.

화면 구성

스크린샷 TODO

온톨로지 빌더 — 좌측 템플릿/네비 패널, 중앙 캔버스(엔티티 노드 + 관계 엣지), 우측 인스펙터(별칭 우선 + 시스템 이름 부제목, Identity Keys / Display Column 필드)가 보여야 합니다.

1. 뷰 모드 (View Mode)

상단 헤더에서 두 가지 뷰 모드를 전환할 수 있습니다.

  • Graph: 노드와 링크 형태의 시각적 캔버스 뷰입니다. 구조를 파악하고 설계하기에 적합합니다.
  • Table: 엔티티와 관계를 리스트 형태로 보여주는 뷰입니다. 대량의 항목을 관리하거나 속성을 상세히 볼 때 유용합니다.

2. 네비게이션 패널 (Navigation Panel)

왼쪽에 위치하며, 엔티티 생성을 위한 템플릿(Templates)을 제공합니다.

  • Person, Organization, Product 등 미리 정의된 템플릿을 캔버스로 드래그 앤 드롭하여 빠르게 엔티티를 생성할 수 있습니다.

3. 캔버스 (Canvas)

엔티티 노드를 자유롭게 배치하고 연결할 수 있는 메인 작업 영역입니다.

  • 이동: 노드를 드래그하여 위치를 조정합니다.
  • 연결: 노드의 핸들(점)을 드래그하여 다른 노드에 놓으면 관계 생성 모달이 열립니다.
  • 확대/축소: 마우스 휠 또는 컨트롤 버튼을 사용합니다.
  • 자동 레이아웃: 상단 메뉴에서 자동 정렬 기능을 사용할 수 있습니다.

4. 속성 패널 (Inspector)

오른쪽에 위치하며, 선택한 엔티티나 관계의 상세 정보를 편집합니다.

  • 타이틀 표기: 인스펙터와 노드 라벨에는 **별칭(alias)**이 1차 타이틀로 표시되고, 시스템 이름(name)은 작은 부제목으로 표기됩니다. 별칭이 없으면 시스템 이름만 노출됩니다.
  • 로컬 검색: Ctrl/Cmd + F로 캔버스 내 엔티티/관계를 빠르게 찾을 수 있습니다.
  • 글로벌 검색 트리거: 모델링 리스트 헤더의 검색 아이콘으로 **허브 전역 검색(Cmd+K)**을 바로 열 수 있습니다. 여기서 다른 모델의 엔티티/관계뿐 아니라 데이터 자산·에이전트까지 한 번에 탐색하고, 원하는 항목을 클릭하면 해당 모델링 위치로 딥링크 이동합니다.

6. 유효성 검사 (Validation)

유효성 검사 패널에서 온톨로지 정의의 오류나 경고를 확인할 수 있습니다. 누락된 필수 속성이나 잘못된 관계 정의 등을 사전에 감지합니다.

엔티티 생성

  1. 템플릿 사용: 왼쪽 패널에서 원하는 템플릿을 캔버스로 드래그합니다.
  2. 수동 생성: 캔버스 빈 공간을 우클릭하거나 상단의 + Entity 버튼을 클릭합니다.
  3. 설정: 이름, 설명, 속성(컬럼) 등을 정의하고 저장합니다.

관계 설정

  1. 소스 엔티티(Source)의 테두리에 있는 연결 핸들에 마우스를 올립니다.
  2. 클릭 후 드래그하여 타겟 엔티티(Target)에 놓습니다.
  3. Create Relationship 대화상자에서 관계 이름(예: PURCHASED, WORKS_FOR)을 입력하고 저장합니다.

스키마 메타데이터 — Identity Keys & Display Column

엔티티/관계 인스펙터에는 Identity KeysDisplay Column 필드가 노출됩니다.

  • Identity Keys: 인스턴스를 고유하게 식별하는 키 컬럼(들). 파이프라인의 Entity/Relation I/O가 동작하려면 반드시 정의되어 있어야 합니다.
  • Display Column: 글로벌 검색·트레이스·인스펙터에서 1차 라벨로 사용할 컬럼. 없으면 시스템 이름이 fallback으로 사용됩니다.

자세한 설정 방법은 스키마 편집기 문서를 참조하세요.

데이터셋 매핑 (backing dataset)

엔티티/관계는 backing dataset 위에 의미 레이어를 얹는 구조입니다.

매핑 설정 방법

  1. 매핑할 엔티티/관계를 선택합니다.
  2. 속성 패널에서 Data Source 탭을 클릭합니다.
  3. 데이터셋 선택: 연결할 D.Hub 데이터셋을 선택합니다 (동일 컬렉션의 데이터셋만 노출됨).
  4. 필드 매핑: 엔티티의 각 속성(Property)을 데이터셋의 컬럼에 매핑합니다.
  5. Identity Keys 매핑: 어떤 컬럼이 PK 역할을 하는지 명시합니다.

매핑 예시

엔티티 속성데이터셋 컬럼
id (Identity Key)customer_id
name (Display Column)customer_name
emailemail_address

Sink 자동화

매핑이 완료되면 데이터가 백엔드의 자동 sink 메커니즘에 의해 그래프 데이터베이스로 적재됩니다 — 이전 버전의 Sink UI 는 제거되었으며, sink는 사용자가 직접 트리거하지 않는 인프라 단계로 정리되었습니다.

AI 자동 생성

엔티티와 관계에 AI 기반 설명 자동 생성 기능을 사용할 수 있습니다. 엔티티나 관계를 선택한 후 인스펙터의 AI 버튼을 클릭하면 이름과 속성을 기반으로 설명이 자동 생성됩니다. 동일한 흐름이 빌더의 자동 제안 패널에서도 활용됩니다.

버전 안전망

  • 버전 타임스탬프 단위: 모든 버전 이력의 타임스탬프는 밀리초(ms) 정밀도로 기록·표시됩니다.
  • Self-overwrite 경고: 동일 사용자가 동일 자원을 잠시 간격으로 연속 저장할 때 인스펙터는 "직전 변경을 덮어쓰려 합니다" 경고를 띄워 의도하지 않은 덮어쓰기를 방지합니다.
  • collection_id 필수: 엔티티/관계 생성·이동 시 소속 컬렉션을 반드시 지정해야 합니다(누락 시 422). 컬렉션 트리에서 진입한 빌더는 컬렉션 컨텍스트를 자동으로 적용합니다.

내보내기/가져오기 (Export/Import)

온톨로지 정의를 파일로 내보내거나 외부 파일에서 가져올 수 있습니다.

  • 내보내기: 현재 온톨로지의 엔티티, 관계, 속성 정보를 파일로 저장합니다.
  • 가져오기: 외부 온톨로지 정의 파일을 불러와 현재 작업 공간에 적용합니다.

Self-Reference 관계

엔티티가 자기 자신과의 관계를 정의할 수 있습니다. 예를 들어, Person 엔티티의 MANAGES 관계가 같은 Person 엔티티를 참조하는 경우에 사용합니다.

테이블 뷰

테이블 뷰에서는 엔티티와 관계를 목록 형태로 관리할 수 있습니다.

엔티티 테이블

  • 검색: 엔티티 이름으로 검색합니다.
  • 정렬: 컬럼 헤더를 클릭하여 정렬합니다.
  • 일괄 편집: 여러 엔티티를 선택하여 일괄 수정 또는 삭제합니다.

관계 테이블

  • 소스/타겟 필터: 특정 엔티티와 연결된 관계만 표시합니다.
  • 관계 타입 필터: 특정 타입의 관계만 표시합니다.

키보드 단축키

단축키동작
Delete / Backspace선택한 항목 삭제
Ctrl/Cmd + Z실행 취소 (Undo)
Ctrl/Cmd + Shift + Z다시 실행 (Redo)
Ctrl/Cmd + S저장
Ctrl/Cmd + A전체 선택
Space (누르고 있기)패닝 모드

상단의 ? 아이콘을 클릭하면 전체 단축키 목록을 확인할 수 있습니다.