<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ko">
	<id>https://devcafe.co.kr/w/index.php?action=history&amp;feed=atom&amp;title=%ED%8C%94%EB%9E%80%ED%8B%B0%EC%96%B4_%EC%98%A8%ED%86%A8%EB%A1%9C%EC%A7%80_%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%A8_%EC%98%88%EC%A0%9C</id>
	<title>팔란티어 온톨로지 프로그램 예제 - 편집 역사</title>
	<link rel="self" type="application/atom+xml" href="https://devcafe.co.kr/w/index.php?action=history&amp;feed=atom&amp;title=%ED%8C%94%EB%9E%80%ED%8B%B0%EC%96%B4_%EC%98%A8%ED%86%A8%EB%A1%9C%EC%A7%80_%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%A8_%EC%98%88%EC%A0%9C"/>
	<link rel="alternate" type="text/html" href="https://devcafe.co.kr/w/index.php?title=%ED%8C%94%EB%9E%80%ED%8B%B0%EC%96%B4_%EC%98%A8%ED%86%A8%EB%A1%9C%EC%A7%80_%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%A8_%EC%98%88%EC%A0%9C&amp;action=history"/>
	<updated>2026-05-17T21:03:30Z</updated>
	<subtitle>이 문서의 편집 역사</subtitle>
	<generator>MediaWiki 1.42.1</generator>
	<entry>
		<id>https://devcafe.co.kr/w/index.php?title=%ED%8C%94%EB%9E%80%ED%8B%B0%EC%96%B4_%EC%98%A8%ED%86%A8%EB%A1%9C%EC%A7%80_%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%A8_%EC%98%88%EC%A0%9C&amp;diff=2339&amp;oldid=prev</id>
		<title>Devcafe: 새 문서: == Palantir Ontology 기반 CRUD 자동 생성 시스템 설계 ==  === Ontology 개념 적용 개요 ===  Palantir의 Ontology는 데이터를 **Objects(객체)**, **Properties(속성)**, **Links(관계)**로 모델링하여 비즈니스 도메인을 표현합니다. 이를 적용하여 단순 테이블 기반 CRUD를 넘어 **의미론적 데이터 관리 시스템**으로 진화시킵니다.  ### 핵심 개선 사항  - **Object Types**: 테이블을 비즈니스 객체로...</title>
		<link rel="alternate" type="text/html" href="https://devcafe.co.kr/w/index.php?title=%ED%8C%94%EB%9E%80%ED%8B%B0%EC%96%B4_%EC%98%A8%ED%86%A8%EB%A1%9C%EC%A7%80_%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%A8_%EC%98%88%EC%A0%9C&amp;diff=2339&amp;oldid=prev"/>
		<updated>2025-12-15T05:53:39Z</updated>

		<summary type="html">&lt;p&gt;새 문서: == Palantir Ontology 기반 CRUD 자동 생성 시스템 설계 ==  === Ontology 개념 적용 개요 ===  Palantir의 Ontology는 데이터를 **Objects(객체)**, **Properties(속성)**, **Links(관계)**로 모델링하여 비즈니스 도메인을 표현합니다. 이를 적용하여 단순 테이블 기반 CRUD를 넘어 **의미론적 데이터 관리 시스템**으로 진화시킵니다.  ### 핵심 개선 사항  - **Object Types**: 테이블을 비즈니스 객체로...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;새 문서&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Palantir Ontology 기반 CRUD 자동 생성 시스템 설계 ==&lt;br /&gt;
&lt;br /&gt;
=== Ontology 개념 적용 개요 ===&lt;br /&gt;
&lt;br /&gt;
Palantir의 Ontology는 데이터를 **Objects(객체)**, **Properties(속성)**, **Links(관계)**로 모델링하여 비즈니스 도메인을 표현합니다. 이를 적용하여 단순 테이블 기반 CRUD를 넘어 **의미론적 데이터 관리 시스템**으로 진화시킵니다.&lt;br /&gt;
&lt;br /&gt;
### 핵심 개선 사항&lt;br /&gt;
&lt;br /&gt;
- **Object Types**: 테이블을 비즈니스 객체로 추상화&lt;br /&gt;
- **Property Types**: 컬럼을 타입화된 속성으로 정의&lt;br /&gt;
- **Link Types**: 테이블 간 관계를 명시적 링크로 표현&lt;br /&gt;
- **Actions**: CRUD를 넘어 비즈니스 액션 정의&lt;br /&gt;
- **Pipelines**: 데이터 변환 및 통합 파이프라인&lt;br /&gt;
&lt;br /&gt;
=== 개선된 기술 스택 ===&lt;br /&gt;
&lt;br /&gt;
### 백엔드&lt;br /&gt;
&lt;br /&gt;
- **언어**: Python 3.10+&lt;br /&gt;
- **웹 프레임워크**: FastAPI 0.104 (비동기 처리, 자동 API 문서)&lt;br /&gt;
- **데이터베이스**: SQLite (기본), PostgreSQL, Oracle&lt;br /&gt;
- **Graph DB**: Neo4j 5.x (관계 저장 및 탐색)&lt;br /&gt;
- **ORM**: SQLAlchemy 2.0 + Neomodel (Graph ORM)&lt;br /&gt;
- **검색 엔진**: Elasticsearch 8.x (온톨로지 검색)&lt;br /&gt;
&lt;br /&gt;
### 프론트엔드&lt;br /&gt;
&lt;br /&gt;
- **프레임워크**: React 18 + TypeScript&lt;br /&gt;
- **UI 라이브러리**: shadcn/ui, Material-UI&lt;br /&gt;
- **그래프 시각화**: D3.js, Cytoscape.js&lt;br /&gt;
- **상태 관리**: Zustand&lt;br /&gt;
- **폼 관리**: React Hook Form + Zod&lt;br /&gt;
&lt;br /&gt;
=== 필요한 Python 패키지 ===&lt;br /&gt;
&lt;br /&gt;
```txt&lt;br /&gt;
# 웹 프레임워크&lt;br /&gt;
fastapi==0.104.1&lt;br /&gt;
uvicorn[standard]==0.24.0&lt;br /&gt;
pydantic==2.5.0&lt;br /&gt;
pydantic-settings==2.1.0&lt;br /&gt;
&lt;br /&gt;
# 데이터베이스&lt;br /&gt;
sqlalchemy==2.0.23&lt;br /&gt;
alembic==1.12.1&lt;br /&gt;
oracledb==2.0.0&lt;br /&gt;
psycopg2-binary==2.9.9&lt;br /&gt;
&lt;br /&gt;
# Graph Database&lt;br /&gt;
neo4j==5.14.0&lt;br /&gt;
neomodel==5.2.1&lt;br /&gt;
&lt;br /&gt;
# 검색&lt;br /&gt;
elasticsearch==8.11.0&lt;br /&gt;
&lt;br /&gt;
# 데이터 처리&lt;br /&gt;
pandas==2.1.3&lt;br /&gt;
networkx==3.2.1&lt;br /&gt;
&lt;br /&gt;
# 파일 처리&lt;br /&gt;
python-multipart==0.0.6&lt;br /&gt;
aiofiles==23.2.1&lt;br /&gt;
Pillow==10.1.0&lt;br /&gt;
&lt;br /&gt;
# 유틸리티&lt;br /&gt;
python-dotenv==1.0.0&lt;br /&gt;
PyYAML==6.0.1&lt;br /&gt;
pydantic-core==2.14.5&lt;br /&gt;
&lt;br /&gt;
# API 문서&lt;br /&gt;
fastapi-users==12.1.2&lt;br /&gt;
```&lt;br /&gt;
&lt;br /&gt;
=== 개선된 프로젝트 구조 ===&lt;br /&gt;
&lt;br /&gt;
```&lt;br /&gt;
ontology_crud_system/&lt;br /&gt;
│&lt;br /&gt;
├── main.py                         # FastAPI 애플리케이션 진입점&lt;br /&gt;
├── config.py                       # 설정 관리&lt;br /&gt;
├── requirements.txt&lt;br /&gt;
├── .env&lt;br /&gt;
├── README.md&lt;br /&gt;
│&lt;br /&gt;
├── alembic/                        # DB 마이그레이션&lt;br /&gt;
│   └── versions/&lt;br /&gt;
│&lt;br /&gt;
├── app/&lt;br /&gt;
│   ├── __init__.py&lt;br /&gt;
│   │&lt;br /&gt;
│   ├── ontology/                   # 온톨로지 핵심 모듈&lt;br /&gt;
│   │   ├── __init__.py&lt;br /&gt;
│   │   │&lt;br /&gt;
│   │   ├── models/                 # 온톨로지 모델&lt;br /&gt;
│   │   │   ├── __init__.py&lt;br /&gt;
│   │   │   ├── object_type.py      # 객체 타입 정의&lt;br /&gt;
│   │   │   ├── property_type.py    # 속성 타입 정의&lt;br /&gt;
│   │   │   ├── link_type.py        # 링크 타입 정의&lt;br /&gt;
│   │   │   ├── action_type.py      # 액션 타입 정의&lt;br /&gt;
│   │   │   └── pipeline.py         # 데이터 파이프라인&lt;br /&gt;
│   │   │&lt;br /&gt;
│   │   ├── registry/               # 온톨로지 레지스트리&lt;br /&gt;
│   │   │   ├── __init__.py&lt;br /&gt;
│   │   │   ├── object_registry.py  # 객체 타입 등록/관리&lt;br /&gt;
│   │   │   ├── property_registry.py&lt;br /&gt;
│   │   │   ├── link_registry.py&lt;br /&gt;
│   │   │   └── action_registry.py&lt;br /&gt;
│   │   │&lt;br /&gt;
│   │   ├── engine/                 # 온톨로지 엔진&lt;br /&gt;
│   │   │   ├── __init__.py&lt;br /&gt;
│   │   │   ├── inference_engine.py # 추론 엔진&lt;br /&gt;
│   │   │   ├── validation_engine.py # 검증 엔진&lt;br /&gt;
│   │   │   ├── query_engine.py     # 온톨로지 쿼리&lt;br /&gt;
│   │   │   └── graph_engine.py     # 그래프 탐색&lt;br /&gt;
│   │   │&lt;br /&gt;
│   │   └── schema/                 # 온톨로지 스키마&lt;br /&gt;
│   │       ├── __init__.py&lt;br /&gt;
│   │       ├── schema_builder.py   # 스키마 빌더&lt;br /&gt;
│   │       ├── schema_validator.py # 스키마 검증&lt;br /&gt;
│   │       └── schema_evolution.py # 스키마 버전 관리&lt;br /&gt;
│   │&lt;br /&gt;
│   ├── models/                     # 데이터 모델&lt;br /&gt;
│   │   ├── __init__.py&lt;br /&gt;
│   │   │&lt;br /&gt;
│   │   ├── relational/             # 관계형 DB 모델&lt;br /&gt;
│   │   │   ├── __init__.py&lt;br /&gt;
│   │   │   ├── base.py&lt;br /&gt;
│   │   │   ├── ontology_metadata.py # 온톨로지 메타데이터&lt;br /&gt;
│   │   │   ├── object_instance.py   # 객체 인스턴스&lt;br /&gt;
│   │   │   ├── property_value.py    # 속성 값&lt;br /&gt;
│   │   │   └── attachment.py&lt;br /&gt;
│   │   │&lt;br /&gt;
│   │   └── graph/                  # 그래프 DB 모델&lt;br /&gt;
│   │       ├── __init__.py&lt;br /&gt;
│   │       ├── object_node.py      # 객체 노드&lt;br /&gt;
│   │       ├── link_relationship.py # 링크 관계&lt;br /&gt;
│   │       └── property_edge.py    # 속성 엣지&lt;br /&gt;
│   │&lt;br /&gt;
│   ├── core/                       # 핵심 비즈니스 로직&lt;br /&gt;
│   │   ├── __init__.py&lt;br /&gt;
│   │   │&lt;br /&gt;
│   │   ├── discovery/              # 자동 발견&lt;br /&gt;
│   │   │   ├── __init__.py&lt;br /&gt;
│   │   │   ├── schema_scanner.py   # 스키마 스캔&lt;br /&gt;
│   │   │   ├── relationship_detector.py # 관계 감지&lt;br /&gt;
│   │   │   └── ontology_mapper.py  # 온톨로지 매핑&lt;br /&gt;
│   │   │&lt;br /&gt;
│   │   ├── generator/              # 코드 생성&lt;br /&gt;
│   │   │   ├── __init__.py&lt;br /&gt;
│   │   │   ├── object_crud_gen.py  # 객체 CRUD 생성&lt;br /&gt;
│   │   │   ├── link_crud_gen.py    # 링크 CRUD 생성&lt;br /&gt;
│   │   │   ├── action_gen.py       # 액션 생성&lt;br /&gt;
│   │   │   └── ui_component_gen.py # UI 컴포넌트 생성&lt;br /&gt;
│   │   │&lt;br /&gt;
│   │   ├── transformation/         # 데이터 변환&lt;br /&gt;
│   │   │   ├── __init__.py&lt;br /&gt;
│   │   │   ├── pipeline_executor.py&lt;br /&gt;
│   │   │   ├── etl_engine.py&lt;br /&gt;
│   │   │   └── data_mapper.py&lt;br /&gt;
│   │   │&lt;br /&gt;
│   │   └── intelligence/           # 지능형 기능&lt;br /&gt;
│   │       ├── __init__.py&lt;br /&gt;
│   │       ├── auto_linker.py      # 자동 링크 생성&lt;br /&gt;
│   │       ├── property_suggester.py # 속성 제안&lt;br /&gt;
│   │       └── anomaly_detector.py # 이상 탐지&lt;br /&gt;
│   │&lt;br /&gt;
│   ├── api/                        # API 엔드포인트&lt;br /&gt;
│   │   ├── __init__.py&lt;br /&gt;
│   │   │&lt;br /&gt;
│   │   ├── v1/&lt;br /&gt;
│   │   │   ├── __init__.py&lt;br /&gt;
│   │   │   ├── objects.py          # 객체 API&lt;br /&gt;
│   │   │   ├── properties.py       # 속성 API&lt;br /&gt;
│   │   │   ├── links.py            # 링크 API&lt;br /&gt;
│   │   │   ├── actions.py          # 액션 API&lt;br /&gt;
│   │   │   ├── search.py           # 검색 API&lt;br /&gt;
│   │   │   ├── graph.py            # 그래프 탐색 API&lt;br /&gt;
│   │   │   └── ontology.py         # 온톨로지 관리 API&lt;br /&gt;
│   │   │&lt;br /&gt;
│   │   └── websocket/              # WebSocket&lt;br /&gt;
│   │       ├── __init__.py&lt;br /&gt;
│   │       └── realtime_updates.py # 실시간 업데이트&lt;br /&gt;
│   │&lt;br /&gt;
│   ├── services/                   # 비즈니스 서비스&lt;br /&gt;
│   │   ├── __init__.py&lt;br /&gt;
│   │   ├── object_service.py       # 객체 관리&lt;br /&gt;
│   │   ├── link_service.py         # 링크 관리&lt;br /&gt;
│   │   ├── action_service.py       # 액션 실행&lt;br /&gt;
│   │   ├── search_service.py       # 검색 서비스&lt;br /&gt;
│   │   ├── graph_service.py        # 그래프 서비스&lt;br /&gt;
│   │   └── pipeline_service.py     # 파이프라인 서비스&lt;br /&gt;
│   │&lt;br /&gt;
│   ├── repositories/               # 데이터 접근 계층&lt;br /&gt;
│   │   ├── __init__.py&lt;br /&gt;
│   │   ├── relational_repo.py      # 관계형 DB 리포지토리&lt;br /&gt;
│   │   ├── graph_repo.py           # 그래프 DB 리포지토리&lt;br /&gt;
│   │   └── search_repo.py          # 검색 리포지토리&lt;br /&gt;
│   │&lt;br /&gt;
│   ├── schemas/                    # Pydantic 스키마&lt;br /&gt;
│   │   ├── __init__.py&lt;br /&gt;
│   │   ├── object_schema.py&lt;br /&gt;
│   │   ├── property_schema.py&lt;br /&gt;
│   │   ├── link_schema.py&lt;br /&gt;
│   │   ├── action_schema.py&lt;br /&gt;
│   │   └── response_schema.py&lt;br /&gt;
│   │&lt;br /&gt;
│   └── utils/                      # 유틸리티&lt;br /&gt;
│       ├── __init__.py&lt;br /&gt;
│       ├── validators.py&lt;br /&gt;
│       ├── type_converters.py&lt;br /&gt;
│       ├── graph_utils.py&lt;br /&gt;
│       └── logger.py&lt;br /&gt;
│&lt;br /&gt;
├── frontend/                       # React 프론트엔드&lt;br /&gt;
│   ├── package.json&lt;br /&gt;
│   ├── tsconfig.json&lt;br /&gt;
│   │&lt;br /&gt;
│   ├── src/&lt;br /&gt;
│   │   ├── App.tsx&lt;br /&gt;
│   │   ├── main.tsx&lt;br /&gt;
│   │   │&lt;br /&gt;
│   │   ├── features/               # 기능별 모듈&lt;br /&gt;
│   │   │   ├── ontology/&lt;br /&gt;
│   │   │   │   ├── components/     # 온톨로지 관리 컴포넌트&lt;br /&gt;
│   │   │   │   │   ├── ObjectTypeEditor.tsx&lt;br /&gt;
│   │   │   │   │   ├── PropertyTypeEditor.tsx&lt;br /&gt;
│   │   │   │   │   ├── LinkTypeEditor.tsx&lt;br /&gt;
│   │   │   │   │   └── OntologyViewer.tsx&lt;br /&gt;
│   │   │   │   └── hooks/&lt;br /&gt;
│   │   │   │       └── useOntology.ts&lt;br /&gt;
│   │   │   │&lt;br /&gt;
│   │   │   ├── objects/            # 객체 관리&lt;br /&gt;
│   │   │   │   ├── components/&lt;br /&gt;
│   │   │   │   │   ├── ObjectList.tsx&lt;br /&gt;
│   │   │   │   │   ├── ObjectDetail.tsx&lt;br /&gt;
│   │   │   │   │   ├── ObjectForm.tsx&lt;br /&gt;
│   │   │   │   │   └── ObjectGraph.tsx&lt;br /&gt;
│   │   │   │   └── hooks/&lt;br /&gt;
│   │   │   │       └── useObjects.ts&lt;br /&gt;
│   │   │   │&lt;br /&gt;
│   │   │   ├── links/              # 링크 관리&lt;br /&gt;
│   │   │   │   ├── components/&lt;br /&gt;
│   │   │   │   │   ├── LinkExplorer.tsx&lt;br /&gt;
│   │   │   │   │   ├── LinkCreator.tsx&lt;br /&gt;
│   │   │   │   │   └── NetworkGraph.tsx&lt;br /&gt;
│   │   │   │   └── hooks/&lt;br /&gt;
│   │   │   │       └── useLinks.ts&lt;br /&gt;
│   │   │   │&lt;br /&gt;
│   │   │   ├── actions/            # 액션 실행&lt;br /&gt;
│   │   │   │   ├── components/&lt;br /&gt;
│   │   │   │   │   ├── ActionPanel.tsx&lt;br /&gt;
│   │   │   │   │   ├── ActionForm.tsx&lt;br /&gt;
│   │   │   │   │   └── ActionHistory.tsx&lt;br /&gt;
│   │   │   │   └── hooks/&lt;br /&gt;
│   │   │   │       └── useActions.ts&lt;br /&gt;
│   │   │   │&lt;br /&gt;
│   │   │   └── search/             # 검색&lt;br /&gt;
│   │   │       ├── components/&lt;br /&gt;
│   │   │       │   ├── OntologySearch.tsx&lt;br /&gt;
│   │   │       │   ├── SearchFilters.tsx&lt;br /&gt;
│   │   │       │   └── SearchResults.tsx&lt;br /&gt;
│   │   │       └── hooks/&lt;br /&gt;
│   │   │           └── useSearch.ts&lt;br /&gt;
│   │   │&lt;br /&gt;
│   │   ├── components/             # 공통 컴포넌트&lt;br /&gt;
│   │   │   ├── ui/                 # shadcn/ui 컴포넌트&lt;br /&gt;
│   │   │   ├── layout/&lt;br /&gt;
│   │   │   │   ├── Header.tsx&lt;br /&gt;
│   │   │   │   ├── Sidebar.tsx&lt;br /&gt;
│   │   │   │   ├── Navigation.tsx&lt;br /&gt;
│   │   │   │   └── Footer.tsx&lt;br /&gt;
│   │   │   ├── graph/&lt;br /&gt;
│   │   │   │   ├── GraphVisualization.tsx&lt;br /&gt;
│   │   │   │   └── GraphControls.tsx&lt;br /&gt;
│   │   │   └── forms/&lt;br /&gt;
│   │   │       ├── DynamicForm.tsx&lt;br /&gt;
│   │   │       └── FileUpload.tsx&lt;br /&gt;
│   │   │&lt;br /&gt;
│   │   ├── stores/                 # Zustand 스토어&lt;br /&gt;
│   │   │   ├── ontologyStore.ts&lt;br /&gt;
│   │   │   ├── objectStore.ts&lt;br /&gt;
│   │   │   ├── linkStore.ts&lt;br /&gt;
│   │   │   └── themeStore.ts&lt;br /&gt;
│   │   │&lt;br /&gt;
│   │   ├── services/               # API 서비스&lt;br /&gt;
│   │   │   ├── api.ts&lt;br /&gt;
│   │   │   ├── ontologyApi.ts&lt;br /&gt;
│   │   │   ├── objectApi.ts&lt;br /&gt;
│   │   │   └── linkApi.ts&lt;br /&gt;
│   │   │&lt;br /&gt;
│   │   ├── types/                  # TypeScript 타입&lt;br /&gt;
│   │   │   ├── ontology.ts&lt;br /&gt;
│   │   │   ├── object.ts&lt;br /&gt;
│   │   │   └── link.ts&lt;br /&gt;
│   │   │&lt;br /&gt;
│   │   └── utils/&lt;br /&gt;
│   │       ├── graphUtils.ts&lt;br /&gt;
│   │       └── validators.ts&lt;br /&gt;
│   │&lt;br /&gt;
│   └── public/&lt;br /&gt;
│&lt;br /&gt;
└── tests/&lt;br /&gt;
    ├── unit/&lt;br /&gt;
    ├── integration/&lt;br /&gt;
    └── e2e/&lt;br /&gt;
```&lt;br /&gt;
&lt;br /&gt;
=== 온톨로지 데이터 모델 ===&lt;br /&gt;
&lt;br /&gt;
==== Object Types (객체 타입) ====&lt;br /&gt;
&lt;br /&gt;
```&lt;br /&gt;
ontology_object_types&lt;br /&gt;
- id: UUID PRIMARY KEY&lt;br /&gt;
- type_name: VARCHAR(100) UNIQUE (예: Employee, Department, Project)&lt;br /&gt;
- display_name: VARCHAR(200)&lt;br /&gt;
- description: TEXT&lt;br /&gt;
- icon: VARCHAR(50)&lt;br /&gt;
- color: VARCHAR(20)&lt;br /&gt;
- base_table: VARCHAR(100) (원본 테이블명)&lt;br /&gt;
- is_abstract: BOOLEAN (추상 타입 여부)&lt;br /&gt;
- parent_type_id: UUID FK (상속 관계)&lt;br /&gt;
- metadata: JSONB (추가 메타데이터)&lt;br /&gt;
- created_at: TIMESTAMP&lt;br /&gt;
- updated_at: TIMESTAMP&lt;br /&gt;
```&lt;br /&gt;
&lt;br /&gt;
==== Property Types (속성 타입) ====&lt;br /&gt;
&lt;br /&gt;
```&lt;br /&gt;
ontology_property_types&lt;br /&gt;
- id: UUID PRIMARY KEY&lt;br /&gt;
- property_name: VARCHAR(100)&lt;br /&gt;
- display_name: VARCHAR(200)&lt;br /&gt;
- description: TEXT&lt;br /&gt;
- data_type: VARCHAR(50) (String, Number, Date, Boolean, File, Reference)&lt;br /&gt;
- base_type: VARCHAR(50) (원본 SQL 타입)&lt;br /&gt;
- object_type_id: UUID FK&lt;br /&gt;
- is_required: BOOLEAN&lt;br /&gt;
- is_unique: BOOLEAN&lt;br /&gt;
- is_indexed: BOOLEAN&lt;br /&gt;
- default_value: TEXT&lt;br /&gt;
- validation_rules: JSONB&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;min_length&amp;quot;: 5,&lt;br /&gt;
    &amp;quot;max_length&amp;quot;: 100,&lt;br /&gt;
    &amp;quot;pattern&amp;quot;: &amp;quot;^[A-Z].*&amp;quot;,&lt;br /&gt;
    &amp;quot;min_value&amp;quot;: 0,&lt;br /&gt;
    &amp;quot;max_value&amp;quot;: 100,&lt;br /&gt;
    &amp;quot;allowed_values&amp;quot;: [&amp;quot;A&amp;quot;, &amp;quot;B&amp;quot;, &amp;quot;C&amp;quot;]&lt;br /&gt;
  }&lt;br /&gt;
- format_options: JSONB&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;date_format&amp;quot;: &amp;quot;YYYY-MM-DD&amp;quot;,&lt;br /&gt;
    &amp;quot;number_format&amp;quot;: &amp;quot;#,##0.00&amp;quot;,&lt;br /&gt;
    &amp;quot;currency&amp;quot;: &amp;quot;KRW&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
- ui_config: JSONB&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;input_type&amp;quot;: &amp;quot;text/number/date/select/file&amp;quot;,&lt;br /&gt;
    &amp;quot;placeholder&amp;quot;: &amp;quot;Enter value...&amp;quot;,&lt;br /&gt;
    &amp;quot;help_text&amp;quot;: &amp;quot;Description&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
- created_at: TIMESTAMP&lt;br /&gt;
```&lt;br /&gt;
&lt;br /&gt;
==== Link Types (링크 타입) ====&lt;br /&gt;
&lt;br /&gt;
```&lt;br /&gt;
ontology_link_types&lt;br /&gt;
- id: UUID PRIMARY KEY&lt;br /&gt;
- link_name: VARCHAR(100) (예: WorksFor, BelongsTo, Manages)&lt;br /&gt;
- display_name: VARCHAR(200)&lt;br /&gt;
- description: TEXT&lt;br /&gt;
- source_object_type_id: UUID FK&lt;br /&gt;
- target_object_type_id: UUID FK&lt;br /&gt;
- cardinality: VARCHAR(20) (ONE_TO_ONE, ONE_TO_MANY, MANY_TO_MANY)&lt;br /&gt;
- is_bidirectional: BOOLEAN&lt;br /&gt;
- reverse_link_name: VARCHAR(100)&lt;br /&gt;
- base_constraint: VARCHAR(200) (FK 제약조건명)&lt;br /&gt;
- link_properties: JSONB (링크 자체의 속성)&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;start_date&amp;quot;: &amp;quot;date&amp;quot;,&lt;br /&gt;
    &amp;quot;end_date&amp;quot;: &amp;quot;date&amp;quot;,&lt;br /&gt;
    &amp;quot;role&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
- created_at: TIMESTAMP&lt;br /&gt;
```&lt;br /&gt;
&lt;br /&gt;
====Link Instances (링크 인스턴스)====&lt;br /&gt;
&lt;br /&gt;
```&lt;br /&gt;
ontology_link_instances&lt;br /&gt;
- id: UUID PRIMARY KEY&lt;br /&gt;
- link_type_id: UUID FK&lt;br /&gt;
- source_object_id: UUID FK&lt;br /&gt;
- target_object_id: UUID FK&lt;br /&gt;
- properties: JSONB (링크 속성 값)&lt;br /&gt;
- created_at: TIMESTAMP&lt;br /&gt;
- created_by: VARCHAR(100)&lt;br /&gt;
```&lt;br /&gt;
&lt;br /&gt;
==== Action Types (액션 타입) ====&lt;br /&gt;
&lt;br /&gt;
```&lt;br /&gt;
ontology_action_types&lt;br /&gt;
- id: UUID PRIMARY KEY&lt;br /&gt;
- action_name: VARCHAR(100) (예: Approve, Reject, Transfer)&lt;br /&gt;
- display_name: VARCHAR(200)&lt;br /&gt;
- description: TEXT&lt;br /&gt;
- object_type_id: UUID FK (적용 대상 객체)&lt;br /&gt;
- action_category: VARCHAR(50) (CREATE, UPDATE, DELETE, CUSTOM)&lt;br /&gt;
- icon: VARCHAR(50)&lt;br /&gt;
- color: VARCHAR(20)&lt;br /&gt;
- parameters: JSONB&lt;br /&gt;
  [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;approval_comment&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
  ]&lt;br /&gt;
- preconditions: JSONB (실행 전 조건)&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;status&amp;quot;: [&amp;quot;PENDING&amp;quot;, &amp;quot;REVIEW&amp;quot;],&lt;br /&gt;
    &amp;quot;user_role&amp;quot;: [&amp;quot;MANAGER&amp;quot;, &amp;quot;ADMIN&amp;quot;]&lt;br /&gt;
  }&lt;br /&gt;
- effects: JSONB (실행 후 효과)&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;update_properties&amp;quot;: {&amp;quot;status&amp;quot;: &amp;quot;APPROVED&amp;quot;},&lt;br /&gt;
    &amp;quot;create_link&amp;quot;: {&amp;quot;link_type&amp;quot;: &amp;quot;ApprovedBy&amp;quot;},&lt;br /&gt;
    &amp;quot;send_notification&amp;quot;: true&lt;br /&gt;
  }&lt;br /&gt;
- implementation: TEXT (Python 코드 또는 SQL)&lt;br /&gt;
- is_active: BOOLEAN&lt;br /&gt;
- created_at: TIMESTAMP&lt;br /&gt;
```&lt;br /&gt;
&lt;br /&gt;
==== Pipelines (데이터 파이프라인) ====&lt;br /&gt;
&lt;br /&gt;
```&lt;br /&gt;
ontology_pipelines&lt;br /&gt;
- id: UUID PRIMARY KEY&lt;br /&gt;
- pipeline_name: VARCHAR(100)&lt;br /&gt;
- description: TEXT&lt;br /&gt;
- source_config: JSONB&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;database/api/file&amp;quot;,&lt;br /&gt;
    &amp;quot;connection&amp;quot;: &amp;quot;...&amp;quot;,&lt;br /&gt;
    &amp;quot;query&amp;quot;: &amp;quot;...&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
- transformations: JSONB&lt;br /&gt;
  [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;map&amp;quot;,&lt;br /&gt;
      &amp;quot;source_field&amp;quot;: &amp;quot;emp_name&amp;quot;,&lt;br /&gt;
      &amp;quot;target_property&amp;quot;: &amp;quot;full_name&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;filter&amp;quot;,&lt;br /&gt;
      &amp;quot;condition&amp;quot;: &amp;quot;salary &amp;gt; 50000&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ]&lt;br /&gt;
- target_object_type_id: UUID FK&lt;br /&gt;
- schedule: VARCHAR(100) (cron 표현식)&lt;br /&gt;
- is_active: BOOLEAN&lt;br /&gt;
- last_run_at: TIMESTAMP&lt;br /&gt;
- created_at: TIMESTAMP&lt;br /&gt;
```&lt;br /&gt;
&lt;br /&gt;
==== Object Instances (객체 인스턴스) ====&lt;br /&gt;
&lt;br /&gt;
```&lt;br /&gt;
ontology_object_instances&lt;br /&gt;
- id: UUID PRIMARY KEY&lt;br /&gt;
- object_type_id: UUID FK&lt;br /&gt;
- display_title: VARCHAR(500) (동적 생성)&lt;br /&gt;
- properties: JSONB (모든 속성 값)&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;employee_name&amp;quot;: &amp;quot;홍길동&amp;quot;,&lt;br /&gt;
    &amp;quot;employee_number&amp;quot;: &amp;quot;E12345&amp;quot;,&lt;br /&gt;
    &amp;quot;hire_date&amp;quot;: &amp;quot;2024-01-15&amp;quot;,&lt;br /&gt;
    &amp;quot;salary&amp;quot;: 50000000&lt;br /&gt;
  }&lt;br /&gt;
- base_record_id: VARCHAR(100) (원본 테이블 PK)&lt;br /&gt;
- tags: TEXT[] (검색용 태그)&lt;br /&gt;
- version: INTEGER (버전 관리)&lt;br /&gt;
- created_at: TIMESTAMP&lt;br /&gt;
- updated_at: TIMESTAMP&lt;br /&gt;
- created_by: VARCHAR(100)&lt;br /&gt;
```&lt;br /&gt;
&lt;br /&gt;
=== 주요 모듈 기능 설명 ===&lt;br /&gt;
&lt;br /&gt;
==== ontology/engine/inference_engine.py ====&lt;br /&gt;
&lt;br /&gt;
**기능**: 온톨로지 기반 추론&lt;br /&gt;
&lt;br /&gt;
- 객체 타입 상속 관계에서 속성 자동 상속&lt;br /&gt;
- 링크 타입 체인을 통한 간접 관계 추론&lt;br /&gt;
- 속성 값 기반 자동 분류 (예: 급여 범위로 직급 추론)&lt;br /&gt;
- 누락된 링크 자동 제안&lt;br /&gt;
- 제약조건 충돌 탐지&lt;br /&gt;
&lt;br /&gt;
==== ontology/engine/validation_engine.py ====&lt;br /&gt;
&lt;br /&gt;
**기능**: 온톨로지 규칙 검증&lt;br /&gt;
&lt;br /&gt;
- 속성 타입 검증 (데이터 타입, 범위, 패턴)&lt;br /&gt;
- 필수 속성 검증&lt;br /&gt;
- 링크 카디널리티 검증 (ONE_TO_MANY 등)&lt;br /&gt;
- 순환 참조 탐지&lt;br /&gt;
- 비즈니스 규칙 검증 (사용자 정의 규칙)&lt;br /&gt;
&lt;br /&gt;
==== core/discovery/relationship_detector.py ====&lt;br /&gt;
&lt;br /&gt;
**기능**: 테이블 간 관계 자동 감지&lt;br /&gt;
&lt;br /&gt;
- FK 제약조건 분석하여 링크 타입 자동 생성&lt;br /&gt;
- 컬럼명 패턴 분석 (예: dept_id → Department 링크)&lt;br /&gt;
- 데이터 분포 분석으로 숨겨진 관계 발견&lt;br /&gt;
- M:N 관계 중간 테이블 자동 인식&lt;br /&gt;
- 추천 신뢰도 점수 제공&lt;br /&gt;
&lt;br /&gt;
==== core/generator/object_crud_gen.py ====&lt;br /&gt;
&lt;br /&gt;
**기능**: 객체 기반 CRUD 생성&lt;br /&gt;
&lt;br /&gt;
- Object Type 기반 동적 API 엔드포인트 생성&lt;br /&gt;
- Property Type에 따른 입력 폼 자동 생성&lt;br /&gt;
- 유효성 검사 로직 자동 생성&lt;br /&gt;
- 파일 업로드 속성 자동 처리&lt;br /&gt;
- 버전 관리 기능 포함&lt;br /&gt;
&lt;br /&gt;
===== core/generator/link_crud_gen.py =====&lt;br /&gt;
&lt;br /&gt;
**기능**: 링크 기반 CRUD 생성&lt;br /&gt;
&lt;br /&gt;
- 링크 생성/삭제 API 생성&lt;br /&gt;
- 양방향 링크 자동 처리&lt;br /&gt;
- 링크 탐색 UI 생성 (그래프 뷰)&lt;br /&gt;
- 링크 속성 편집 기능&lt;br /&gt;
- 연쇄 링크 생성 (여러 객체 동시 연결)&lt;br /&gt;
&lt;br /&gt;
==== core/generator/action_gen.py ====&lt;br /&gt;
&lt;br /&gt;
**기능**: 액션 코드 자동 생성&lt;br /&gt;
&lt;br /&gt;
- Action Type 정의에서 Python 함수 생성&lt;br /&gt;
- Preconditions를 데코레이터로 변환&lt;br /&gt;
- Effects를 트랜잭션으로 실행&lt;br /&gt;
- 액션 히스토리 자동 기록&lt;br /&gt;
- 롤백 메커니즘 포함&lt;br /&gt;
&lt;br /&gt;
==== core/intelligence/auto_linker.py ====&lt;br /&gt;
&lt;br /&gt;
**기능**: 지능형 자동 링크 생성&lt;br /&gt;
&lt;br /&gt;
- 객체 속성 유사도 분석&lt;br /&gt;
- 텍스트 매칭 (이름, 코드 등)&lt;br /&gt;
- 기존 링크 패턴 학습&lt;br /&gt;
- 자동 링크 제안 및 확률 점수&lt;br /&gt;
- 배치 링크 생성&lt;br /&gt;
&lt;br /&gt;
==== services/graph_service.py ====&lt;br /&gt;
&lt;br /&gt;
**기능**: 그래프 탐색 서비스&lt;br /&gt;
&lt;br /&gt;
- BFS/DFS 그래프 탐색&lt;br /&gt;
- 최단 경로 찾기&lt;br /&gt;
- N-hop 관계 조회&lt;br /&gt;
- 서브그래프 추출&lt;br /&gt;
- 영향도 분석 (한 객체 변경 시 연관 객체)&lt;br /&gt;
&lt;br /&gt;
==== services/search_service.py ====&lt;br /&gt;
&lt;br /&gt;
**기능**: 온톨로지 기반 검색&lt;br /&gt;
&lt;br /&gt;
- 전문 검색 (Elasticsearch)&lt;br /&gt;
- 속성 기반 필터링&lt;br /&gt;
- 링크 기반 검색 (연결된 객체 찾기)&lt;br /&gt;
- 패싯 검색 (속성별 그룹핑)&lt;br /&gt;
- 자연어 쿼리 지원&lt;br /&gt;
&lt;br /&gt;
==== api/v1/ontology.py ====&lt;br /&gt;
&lt;br /&gt;
**기능**: 온톨로지 관리 API&lt;br /&gt;
&lt;br /&gt;
```&lt;br /&gt;
POST   /api/v1/ontology/object-types          # 객체 타입 생성&lt;br /&gt;
GET    /api/v1/ontology/object-types          # 전체 온톨로지 조회&lt;br /&gt;
PUT    /api/v1/ontology/object-types/{id}     # 객체 타입 수정&lt;br /&gt;
DELETE /api/v1/ontology/object-types/{id}     # 객체 타입 삭제&lt;br /&gt;
&lt;br /&gt;
POST   /api/v1/ontology/property-types        # 속성 타입 생성&lt;br /&gt;
POST   /api/v1/ontology/link-types            # 링크 타입 생성&lt;br /&gt;
POST   /api/v1/ontology/action-types          # 액션 타입 생성&lt;br /&gt;
&lt;br /&gt;
GET    /api/v1/ontology/schema                # 전체 스키마 내보내기&lt;br /&gt;
POST   /api/v1/ontology/schema/import         # 스키마 가져오기&lt;br /&gt;
```&lt;br /&gt;
&lt;br /&gt;
==== api/v1/objects.py ====&lt;br /&gt;
&lt;br /&gt;
**기능**: 객체 인스턴스 API&lt;br /&gt;
&lt;br /&gt;
```&lt;br /&gt;
GET    /api/v1/objects/{type}                 # 객체 목록 조회&lt;br /&gt;
POST   /api/v1/objects/{type}                 # 객체 생성&lt;br /&gt;
GET    /api/v1/objects/{type}/{id}            # 객체 상세 조회&lt;br /&gt;
PUT    /api/v1/objects/{type}/{id}            # 객체 수정&lt;br /&gt;
DELETE /api/v1/objects/{type}/{id}            # 객체 삭제&lt;br /&gt;
&lt;br /&gt;
GET    /api/v1/objects/{type}/{id}/links      # 연결된 링크 조회&lt;br /&gt;
GET    /api/v1/objects/{type}/{id}/history    # 변경 이력&lt;br /&gt;
POST   /api/v1/objects/{type}/{id}/actions/{action} # 액션 실행&lt;br /&gt;
```&lt;br /&gt;
&lt;br /&gt;
==== api/v1/graph.py ====&lt;br /&gt;
&lt;br /&gt;
**기능**: 그래프 탐색 API&lt;br /&gt;
&lt;br /&gt;
```&lt;br /&gt;
GET    /api/v1/graph/explore/{object_id}      # 객체 중심 그래프 탐색&lt;br /&gt;
GET    /api/v1/graph/path/{from}/{to}         # 두 객체 간 경로&lt;br /&gt;
GET    /api/v1/graph/neighbors/{object_id}    # 인접 객체&lt;br /&gt;
POST   /api/v1/graph/subgraph                 # 서브그래프 추출&lt;br /&gt;
GET    /api/v1/graph/analytics/centrality     # 중심성 분석&lt;br /&gt;
```&lt;br /&gt;
&lt;br /&gt;
## 7. 프론트엔드 주요 컴포넌트&lt;br /&gt;
&lt;br /&gt;
### 7.1 OntologyViewer.tsx&lt;br /&gt;
&lt;br /&gt;
**기능**: 온톨로지 전체 시각화&lt;br /&gt;
&lt;br /&gt;
- 객체 타입을 노드로 표시&lt;br /&gt;
- 링크 타입을 엣지로 연결&lt;br /&gt;
- 드래그앤드롭으로 레이아웃 조정&lt;br /&gt;
- 줌/팬 기능&lt;br /&gt;
- 타입 클릭 시 상세 정보 표시&lt;br /&gt;
&lt;br /&gt;
### 7.2 ObjectGraph.tsx&lt;br /&gt;
&lt;br /&gt;
**기능**: 객체 관계 그래프&lt;br /&gt;
&lt;br /&gt;
- 선택한 객체와 연결된 객체들 시각화&lt;br /&gt;
- N-hop 깊이 조절&lt;br /&gt;
- 링크 타입별 색상 구분&lt;br /&gt;
- 노드 클릭 시 상세 페이지 이동&lt;br /&gt;
- 그래프 내 검색&lt;br /&gt;
&lt;br /&gt;
### 7.3 DynamicForm.tsx&lt;br /&gt;
&lt;br /&gt;
**기능**: 동적 폼 생성&lt;br /&gt;
&lt;br /&gt;
- Property Type 정의에서 자동 폼 생성&lt;br /&gt;
- 타입별 입력 위젯 (text, number, date, select, file)&lt;br /&gt;
- 실시간 유효성 검사&lt;br /&gt;
- 조건부 필드 표시&lt;br /&gt;
- 파일 업로드 통합&lt;br /&gt;
&lt;br /&gt;
### 7.4 ActionPanel.tsx&lt;br /&gt;
&lt;br /&gt;
**기능**: 액션 실행 패널&lt;br /&gt;
&lt;br /&gt;
- 객체에 적용 가능한 액션 목록&lt;br /&gt;
- 액션 파라미터 입력 폼&lt;br /&gt;
- Precondition 검증 결과 표시&lt;br /&gt;
- 액션 실행 진행 상태&lt;br /&gt;
- 실행 결과 및 에러 표시&lt;br /&gt;
&lt;br /&gt;
### 7.5 OntologySearch.tsx&lt;br /&gt;
&lt;br /&gt;
**기능**: 온톨로지 기반 검색&lt;br /&gt;
&lt;br /&gt;
- 객체 타입 선택&lt;br /&gt;
- 속성 기반 필터&lt;br /&gt;
- 링크 기반 필터 (예: “Manager가 ‘홍길동’인 Employee”)&lt;br /&gt;
- 검색 결과 그리드/그래프 토글&lt;br /&gt;
- 저장된 검색 쿼리&lt;br /&gt;
&lt;br /&gt;
## 8. 워크플로우&lt;br /&gt;
&lt;br /&gt;
### 8.1 온톨로지 자동 구축 프로세스&lt;br /&gt;
&lt;br /&gt;
```&lt;br /&gt;
1. 기존 SQLite/Oracle 테이블 스캔&lt;br /&gt;
   ↓&lt;br /&gt;
2. schema_scanner가 테이블/컬럼 메타데이터 추출&lt;br /&gt;
   ↓&lt;br /&gt;
3. relationship_detector가 FK 및 패턴으로 관계 감지&lt;br /&gt;
   ↓&lt;br /&gt;
4. ontology_mapper가 자동 매핑&lt;br /&gt;
   - 테이블 → Object Type&lt;br /&gt;
   - 컬럼 → Property Type&lt;br /&gt;
   - FK → Link Type&lt;br /&gt;
   ↓&lt;br /&gt;
5. 사용자 검토 및 수정&lt;br /&gt;
   - 타입명 변경&lt;br /&gt;
   - 추가 링크 정의&lt;br /&gt;
   - 비즈니스 규칙 추가&lt;br /&gt;
   ↓&lt;br /&gt;
6. Object Registry에 등록&lt;br /&gt;
   ↓&lt;br /&gt;
7. CRUD 및 UI 자동 생성&lt;br /&gt;
```&lt;br /&gt;
&lt;br /&gt;
### 8.2 객체 생성 및 링크 연결&lt;br /&gt;
&lt;br /&gt;
```&lt;br /&gt;
1. 사용자가 객체 생성 폼 작성&lt;br /&gt;
   ↓&lt;br /&gt;
2. validation_engine이 검증&lt;br /&gt;
   - 속성 타입 검증&lt;br /&gt;
   - 필수 속성 확인&lt;br /&gt;
   - 비즈니스 규칙 검증&lt;br /&gt;
   ↓&lt;br /&gt;
3. 객체 인스턴스 저장&lt;br /&gt;
   - ontology_object_instances 테이블&lt;br /&gt;
   - 원본 테이블 (선택)&lt;br /&gt;
   - Elasticsearch 색인&lt;br /&gt;
   ↓&lt;br /&gt;
4. auto_linker가 추천 링크 생성&lt;br /&gt;
   - 유사 객체 찾기&lt;br /&gt;
   - 기존 패턴 학습&lt;br /&gt;
   ↓&lt;br /&gt;
5. 사용자가 링크 확인/추가&lt;br /&gt;
   ↓&lt;br /&gt;
6. 링크 인스턴스 저장&lt;br /&gt;
   - ontology_link_instances 테이블&lt;br /&gt;
   - Neo4j 그래프 DB&lt;br /&gt;
```&lt;br /&gt;
&lt;br /&gt;
### 8.3 액션 실행 프로세스&lt;br /&gt;
&lt;br /&gt;
```&lt;br /&gt;
1. 사용자가 객체에서 액션 선택&lt;br /&gt;
   ↓&lt;br /&gt;
2. Precondition 검증&lt;br /&gt;
   - 객체 상태 확인&lt;br /&gt;
   - 사용자 권한 확인&lt;br /&gt;
   ↓&lt;br /&gt;
3. 액션 파라미터 입력&lt;br /&gt;
   ↓&lt;br /&gt;
4. 액션 실행&lt;br /&gt;
   - 트랜잭션 시작&lt;br /&gt;
   - 속성 업데이트&lt;br /&gt;
   - 링크 생성/삭제&lt;br /&gt;
   - 알림 발송&lt;br /&gt;
   ↓&lt;br /&gt;
5. Effects 적용&lt;br /&gt;
   ↓&lt;br /&gt;
6. 액션 히스토리 기록&lt;br /&gt;
   ↓&lt;br /&gt;
7. 실시간 업데이트 (WebSocket)&lt;br /&gt;
```&lt;br /&gt;
&lt;br /&gt;
### 8.4 그래프 탐색 시나리오&lt;br /&gt;
&lt;br /&gt;
```&lt;br /&gt;
예: &amp;quot;홍길동과 관련된 모든 프로젝트 찾기&amp;quot;&lt;br /&gt;
&lt;br /&gt;
1. OntologySearch에서 &amp;quot;Employee&amp;quot; 타입 선택&lt;br /&gt;
   ↓&lt;br /&gt;
2. 속성 필터: name = &amp;quot;홍길동&amp;quot;&lt;br /&gt;
   ↓&lt;br /&gt;
3. 링크 필터: &amp;quot;WorksOn&amp;quot; → &amp;quot;Project&amp;quot;&lt;br /&gt;
   ↓&lt;br /&gt;
4. graph_service.find_linked_objects() 호출&lt;br /&gt;
   ↓&lt;br /&gt;
5. Neo4j 쿼리 실행:&lt;br /&gt;
   MATCH (e:Employee {name: &amp;#039;홍길동&amp;#039;})-[:WorksOn]-&amp;gt;(p:Project)&lt;br /&gt;
   RETURN p&lt;br /&gt;
   ↓&lt;br /&gt;
6. 결과를 NetworkGraph로 시각화&lt;br /&gt;
```&lt;br /&gt;
&lt;br /&gt;
## 9. 환경 설정&lt;br /&gt;
&lt;br /&gt;
### 9.1 .env&lt;br /&gt;
&lt;br /&gt;
```env&lt;br /&gt;
# FastAPI 설정&lt;br /&gt;
APP_NAME=Ontology CRUD System&lt;br /&gt;
APP_VERSION=1.0.0&lt;br /&gt;
DEBUG=True&lt;br /&gt;
SECRET_KEY=your-secret-key&lt;br /&gt;
&lt;br /&gt;
# SQLite 설정&lt;br /&gt;
DATABASE_TYPE=sqlite&lt;br /&gt;
SQLITE_DB_PATH=./instance/app.db&lt;br /&gt;
&lt;br /&gt;
# PostgreSQL 설정&lt;br /&gt;
POSTGRES_HOST=localhost&lt;br /&gt;
POSTGRES_PORT=5432&lt;br /&gt;
POSTGRES_DB=ontology_db&lt;br /&gt;
POSTGRES_USER=postgres&lt;br /&gt;
POSTGRES_PASSWORD=password&lt;br /&gt;
&lt;br /&gt;
# Oracle 설정&lt;br /&gt;
ORACLE_USER=your_user&lt;br /&gt;
ORACLE_PASSWORD=your_password&lt;br /&gt;
ORACLE_DSN=localhost:1521/ORCL&lt;br /&gt;
&lt;br /&gt;
# Neo4j 설정&lt;br /&gt;
NEO4J_URI=bolt://localhost:7687&lt;br /&gt;
NEO4J_USER=neo4j&lt;br /&gt;
NEO4J_PASSWORD=password&lt;br /&gt;
&lt;br /&gt;
# Elasticsearch 설정&lt;br /&gt;
ES_HOST=localhost&lt;br /&gt;
ES_PORT=9200&lt;br /&gt;
&lt;br /&gt;
# 파일 업로드&lt;br /&gt;
MAX_FILE_SIZE=10485760&lt;br /&gt;
UPLOAD_DIR=./uploads&lt;br /&gt;
&lt;br /&gt;
# UI 설정&lt;br /&gt;
DEFAULT_THEME=shadcn&lt;br /&gt;
ENABLE_DARK_MODE=True&lt;br /&gt;
```&lt;br /&gt;
&lt;br /&gt;
### 9.2 config.py&lt;br /&gt;
&lt;br /&gt;
```python&lt;br /&gt;
# 환경별 설정 클래스&lt;br /&gt;
# DB 연결 풀 설정&lt;br /&gt;
# 캐시 설정&lt;br /&gt;
# 로깅 설정&lt;br /&gt;
```&lt;br /&gt;
&lt;br /&gt;
## 10. 핵심 개선 사항 요약&lt;br /&gt;
&lt;br /&gt;
### 10.1 단순 테이블 CRUD → 온톨로지 기반 객체 관리&lt;br /&gt;
&lt;br /&gt;
- **Before**: 테이블별 독립적 CRUD&lt;br /&gt;
- **After**: 객체 타입 중심의 통합 관리, 상속 및 다형성 지원&lt;br /&gt;
&lt;br /&gt;
### 10.2 암묵적 관계 → 명시적 링크 타입&lt;br /&gt;
&lt;br /&gt;
- **Before**: FK만으로 관계 표현&lt;br /&gt;
- **After**: 의미있는 링크 타입 (WorksFor, Manages 등), 링크 속성 지원&lt;br /&gt;
&lt;br /&gt;
### 10.3 정적 화면 → 동적 생성&lt;br /&gt;
&lt;br /&gt;
- **Before**: 테이블당 고정 CRUD 화면&lt;br /&gt;
- **After**: 온톨로지 메타데이터 기반 실시간 UI 생성&lt;br /&gt;
&lt;br /&gt;
### 10.4 단순 검색 → 지능형 검색&lt;br /&gt;
&lt;br /&gt;
- **Before**: 컬럼 값 기반 검색&lt;br /&gt;
- **After**: 관계 탐색, 그래프 쿼리, 추론 기반 검색&lt;br /&gt;
&lt;br /&gt;
### 10.5 수동 관계 설정 → 자동 발견&lt;br /&gt;
&lt;br /&gt;
- **Before**: 개발자가 수동으로 관계 정의&lt;br /&gt;
- **After**: AI 기반 자동 관계 감지 및 링크 제안&lt;br /&gt;
&lt;br /&gt;
### 10.6 CRUD만 → 비즈니스 액션&lt;br /&gt;
&lt;br /&gt;
- **Before**: 기본 CRUD만 지원&lt;br /&gt;
- **After**: 도메인 특화 액션 (승인, 이관, 병합 등) 정의 및 실행&lt;br /&gt;
&lt;br /&gt;
### 10.7 단일 DB → 하이브리드 아키텍처&lt;br /&gt;
&lt;br /&gt;
- **Before**: 관계형 DB만 사용&lt;br /&gt;
- **After**: 관계형 DB + 그래프 DB + 검색 엔진 조합&lt;br /&gt;
&lt;br /&gt;
이 설계는 Palantir Foundry의 핵심 개념인 **유연한 데이터 모델링**, **관계 중심 사고**, **지능형 자동화**를 적용하여 단순 CRUD를 넘어 엔터프라이즈급 데이터 관리 플랫폼으로 발전시킵니다.​​​​​​​​​​​​​​​​&lt;/div&gt;</summary>
		<author><name>Devcafe</name></author>
	</entry>
</feed>