스키마 편집기 (Schema Editor)
스키마 편집기는 온톨로지의 엔티티와 관계 구조를 다양한 방식으로 편집할 수 있는 도구입니다. UI 기반의 시각적 편집, JSON 직접 편집, CSV 파일을 통한 일괄 등록 세 가지 모드를 지원합니다.
편집 모드 개요
| 모드 | 용도 | 적합한 상황 |
|---|---|---|
| UI 모드 | 시각적으로 엔티티와 관계를 편집 | 소규모 스키마 설계, 구조 확인 시 |
| JSON 모드 | JSON 텍스트로 스키마를 직접 작성 | 정밀한 스키마 제어, 기존 스키마 복사/붙여넣기 |
| CSV 모드 | CSV 파일로 엔티티와 관계를 일괄 등록 | 대량의 엔티티/관계를 한 번에 등록할 때 |
모드 전환
편집기 상단의 탭을 클릭하여 모드를 전환할 수 있습니다. 한 모드에서 작성한 내용은 다른 모드로 전환해도 유지됩니다.
UI 모드
온톨로지 빌더와 동일한 시각적 인터페이스로 스키마를 편집합니다.
엔티티 편집
- 캔버스에서 엔티티 노드를 클릭하여 선택합니다.
- 오른쪽 속성 패널에서 다음 항목을 편집할 수 있습니다.
- 이름: 엔티티 라벨 (예:
Person,Product) - 설명: 엔티티에 대한 설명
- 속성 목록: 속성 이름, 데이터 타입, 필수 여부
- 이름: 엔티티 라벨 (예:
관계 편집
- 캔버스에서 관계(화살표)를 클릭하여 선택합니다.
- 속성 패널에서 다음 항목을 편집할 수 있습니다.
- 관계 타입: 관계 이름 (예:
PURCHASED,WORKS_FOR) - 방향: 소스 → 타겟 방향
- 속성 목록: 관계에 부여할 속성
- 관계 타입: 관계 이름 (예:
JSON 모드
JSON 형식으로 온톨로지 스키마를 직접 작성하거나 수정합니다. 외부에서 작성한 스키마를 붙여넣거나, 기존 스키마를 내보내어 수정한 뒤 다시 적용할 때 유용합니다.
JSON 스키마 구조
{
"entities": [
{
"name": "Customer",
"description": "고객 정보",
"properties": [
{ "name": "id", "type": "STRING", "required": true },
{ "name": "name", "type": "STRING", "required": true },
{ "name": "email", "type": "STRING", "required": false }
]
}
],
"relationships": [
{
"type": "PURCHASED",
"source": "Customer",
"target": "Product",
"properties": [
{ "name": "purchase_date", "type": "DATE" }
]
}
]
}
주요 기능
- 구문 검증: JSON 입력 시 실시간으로 구문 오류를 표시합니다.
- 자동 완성: 속성 타입(
STRING,INTEGER,FLOAT,BOOLEAN,DATE) 등의 키워드를 자동 완성합니다. - 가져오기/내보내기: 현재 스키마를 JSON 파일로 내보내거나, 외부 JSON 파일을 불러올 수 있습니다.
필수 필드
entities[].name과 relationships[].type, relationships[].source, relationships[].target은 필수 필드입니다. 누락 시 검증 오류가 발생합니다.
CSV 모드
CSV 파일을 업로드하여 엔티티와 관계를 일괄 등록합니다. 스프레드시트에서 작성한 대량의 스키마 정의를 빠르게 반영할 수 있습니다.
엔티티 CSV 형식
| 컬럼 | 필수 | 설명 |
|---|---|---|
entity_name | Y | 엔티티 이름 |
property_name | Y | 속성 이름 |
property_type | Y | 데이터 타입 (STRING, INTEGER, FLOAT, BOOLEAN, DATE) |
required | N | 필수 여부 (true/false, 기본값 false) |
description | N | 속성 설명 |
관계 CSV 형식
| 컬럼 | 필수 | 설명 |
|---|---|---|
relationship_type | Y | 관계 타입 이름 |
source_entity | Y | 소스 엔티티 이름 |
target_entity | Y | 타겟 엔티티 이름 |
property_name | N | 관계 속성 이름 |
property_type | N | 관계 속성 타입 |
업로드 절차
- 편집기에서 CSV 탭을 선택합니다.
- 엔티티 CSV 업로드 또는 관계 CSV 업로드 버튼을 클릭합니다.
- 업로드된 데이터의 미리보기를 확인합니다.
- 적용 버튼을 클릭하여 스키마에 반영합니다.
기존 스키마와의 병합
CSV 업로드 시, 동일한 이름의 엔티티나 관계가 이미 존재하면 속성이 병합됩니다. 기존 속성은 유지되고 새로운 속성만 추가됩니다. 덮어쓰기가 필요한 경우 기존 항목을 먼저 삭제하세요.