# data2ontology **Repository Path**: wanghaowen2/data2ontology ## Basic Information - **Project Name**: data2ontology - **Description**: 知识工程工具,用于快速构建给Agent使用的Skills、RAG和本体 - **Primary Language**: Python - **License**: MIT - **Default Branch**: develop - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 13 - **Forks**: 11 - **Created**: 2026-01-29 - **Last Updated**: 2026-06-09 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README
Data2Ontology Icon # Data2Ontology 面向企业数据资产的本体建模、知识图谱部署与智能检索平台
把结构化数据、非结构化文档、领域逻辑和 Agent 工作流统一到可部署、可查询、可评估的本体工程链路中 [![Gitee](https://img.shields.io/badge/Gitee-data2ontology-C71D23?style=flat-square&logo=gitee&logoColor=white)](https://gitee.com/wanghaowen2/data2ontology) [![Branch](https://img.shields.io/badge/default_branch-develop-2ea44f?style=flat-square&logo=git)](https://gitee.com/wanghaowen2/data2ontology/tree/develop) [![License](https://img.shields.io/badge/license-MIT-blue?style=flat-square)](LICENSE) [![Python](https://img.shields.io/badge/Python-3.10%2B-3776AB?style=flat-square&logo=python&logoColor=white)](https://www.python.org/) [![FastAPI](https://img.shields.io/badge/FastAPI-services-009688?style=flat-square&logo=fastapi&logoColor=white)](https://fastapi.tiangolo.com/) [![React](https://img.shields.io/badge/React%20%2B%20Vite-frontend-61DAFB?style=flat-square&logo=react&logoColor=111111)](front/) [![Graph](https://img.shields.io/badge/Neo4j%20%2F%20HugeGraph-graph_store-4581C3?style=flat-square)](db/) [![Milvus](https://img.shields.io/badge/Milvus-vector_store-00A1EA?style=flat-square)](db/milvus/)
> Data2Ontology 关注从数据接入到本体落地的完整工程闭环:导入数据、沉淀逻辑、建模本体、部署图谱、实例化数据、检索问答、评估与运维。
## 📑 快速导航
| | | | |:---:|:---:|:---:| | [🚀 快速开始](#-快速开始) | [🎯 核心能力](#-核心能力) | [🧭 工作流](#-工作流) | | [🧩 服务组成](#-服务组成) | [📁 目录结构](#-目录结构) | [⚙️ 配置要点](#️-配置要点) | | [🛠️ 本地开发](#️-本地开发) | [🧪 状态检查](#-状态检查) | [📚 文档索引](#-文档索引) |

## 🚀 快速开始 一键本地部署入口: ```bash cp backend/.env.example backend/.env # 按实际环境修改 backend/.env 中的模型、数据库、图数据库和向量库配置 bash deployment/local-source/deploy.sh ``` 部署脚本会自动完成: - 启动 PostgreSQL、Neo4j 或 HugeGraph、Milvus - 等待 PostgreSQL / Milvus 就绪并按需导入 SQL - 构建前端并部署到 nginx 静态目录 - 使用 tmux 启动 `authservice`、`backend`、`ontology_modeling_agent`、`ai_modeling_beta_service` - 写入 nginx 反向代理配置并 reload nginx 部署完成后,前端默认通过 nginx 访问: ```text /api/* -> backend /api/auth/* -> authservice /api/ai-modeling-beta/* -> ai_modeling_beta_service /agent/* -> backend_agent /ontology-agent/* -> ontology_modeling_agent ``` 如需了解部署前置条件和环境变量,请看 [`deployment/local-source/DEPLOY.md`](deployment/local-source/DEPLOY.md)。
## 🎯 核心能力 ### 1. 数据接入与结构化沉淀 系统支持 Excel、本地数据库、远程数据库和非结构化文档等多类输入。导入后的数据会进入统一工作区,并为本体建模、逻辑抽取和图谱实例化提供上下文。 ### 2. 本体建模与语义增强 `backend`、`ontology_modeling_agent` 和 `ai_modeling_beta_service` 共同支撑本体模型构建。平台可以围绕实体、属性、关系、规则、能力问题和文档证据生成候选本体,并支持人工确认与版本化管理。 ### 3. 图谱部署与实例化 本体发布后可以部署到图数据库,实例化任务会把数据、逻辑块和虚拟字段写入图谱。当前图存储支持 Neo4j,并预留 HugeGraph 后端。 ### 4. RAG 与本体检索 Milvus 负责向量检索,`backend_agent` 提供面向知识图谱和本体数据的检索 Agent。前端可以通过会话接口完成问答、Trace 查看和图谱定位。 ### 5. Skill 服务与评测体系 `backend_skill` 提供 Skill 管理、上传、审查、测试、图谱化和 Skill Studio 能力。`backend/app/ontology_eval` 与 `tests/` 目录承载本体评估、服务检查和端到端验证。 ### 6. 交付友好的部署脚本 `deployment/local-source/deploy.sh` 面向单机交付环境,优先使用现有容器和本地镜像,集中管理数据库、前端构建、nginx 代理和后端 tmux 服务。
## 🧭 工作流 Data2Ontology 的主流程可以概括为: ```text 数据接入 -> 工作区与数据源配置 -> 本体候选建模 -> 人工确认与版本发布 -> 图数据库部署 -> 数据实例化 -> 检索问答 / Trace / 评估 ``` 运行时服务关系: ```text front ├─ /api -> backend ├─ /api/auth -> authservice ├─ /ontology-agent -> ontology_modeling_agent ├─ /api/ai-modeling-beta -> ai_modeling_beta_service └─ /agent -> backend_agent backend ├─ PostgreSQL -> 工作区、本体、结构化数据 ├─ Neo4j / HugeGraph -> 图谱部署与实例化结果 └─ Milvus -> RAG 向量库 ```
## 🧩 服务组成 | 模块 | 默认端口 | 说明 | |:---|:---:|:---| | `front` | `5173` | Vite + React 前端,覆盖数据导入、本体建模、实例化、RAG、Skill 管理等页面 | | `authservice` | `9001` | 鉴权、用户与工作区初始化服务 | | `backend` | `8001` | FastAPI 主后端,负责核心 API、数据库访问、本体建模与实例化编排 | | `ontology_modeling_agent` | `8002` | 本体建模 Agent 服务,提供执行、恢复和取消接口 | | `ai_modeling_beta_service` | `8003` | AI 建模 Beta 服务,负责候选生成、语义归一、证据和报告 | | `backend_agent` | `7471` 等 | 图谱检索、问答 Agent、MCP 封装和 trace 支撑 | | `backend_skill` | `8011` | Fastify Skill 服务,负责 Skill 管理、审查、测试与 Studio | | PostgreSQL | `5432` | 业务库、本体库、非结构化数据索引和服务状态 | | Neo4j | `7474` / `7687` | 图谱浏览和 Bolt 写入查询 | | Milvus | `19531` / `9092` | 向量检索服务,MinIO 默认映射为 `19000` / `19001` |
## 📁 目录结构 ```text data2ontology/ ├── front/ # React + Vite 前端 ├── backend/ # FastAPI 主后端 ├── authservice/ # 鉴权微服务 ├── ontology_modeling_agent/ # 本体建模 Agent ├── ai_modeling_beta_service/ # AI 建模 Beta 服务 ├── backend_agent/ # 图谱检索 Agent、MCP 和工具服务 ├── backend_skill/ # Skill 管理、审查、测试与 Studio 服务 ├── db/ # PostgreSQL、Neo4j、HugeGraph、Milvus compose 与 SQL ├── deployment/ # 本地交付、云龙构建、ECS 设计与部署脚本 ├── docs/ # 跨模块设计文档 ├── tests/ # 集成测试、黑盒测试和部署检查 └── support/ # 客户侧定制代码、配置、脚本和文档预留目录 ```
## ⚙️ 配置要点 ### 后端统一配置 建议以 `backend/.env` 作为本地部署的主配置文件: ```bash cp backend/.env.example backend/.env ``` 关键配置分组: | 配置组 | 关键项 | |:---|:---| | 模型接口 | `OPENAI_API_KEY`、`OPENAI_BASE_URL`、`OPENAI_MODEL` | | PostgreSQL | `ONTOLOGY_DB_HOST`、`ONTOLOGY_DB_NAME`、`ONTOLOGY_DB_USER`、`ONTOLOGY_DB_PASSWORD` | | 默认业务库 | `DEFAULT_DB_TYPE`、`DEFAULT_DB_HOST`、`DEFAULT_DB_DATABASE` | | 图数据库 | `GRAPH_DB_TYPE`、`NEO4J_URI`、`NEO4J_PASSWORD`、`HUGEGRAPH_URL` | | Milvus | `MILVUS_HOST`、`MILVUS_PORT=19531`、`MILVUS_USER`、`MILVUS_PASSWORD` | | 实例化并发 | `ONTOLOGY_INSTANTIATION_MAX_CONCURRENT_JOBS`、`ONTOLOGY_INSTANTIATION_JOB_TIMEOUT_SECONDS` | ### 前端直连开发配置 本地 Vite 开发可复制: ```bash cp front/.env.example front/.env ``` 常用直连配置: ```env VITE_API_BASE_URL=http://localhost:8001 VITE_AUTH_API_URL=http://localhost:9001 VITE_AGENT_API_URL=http://localhost:7471 VITE_ONTOLOGY_MODELING_AGENT_BASE_URL=http://localhost:8002 ``` 如果使用 `deployment/local-source/deploy.sh` 的 nginx 相对路径代理模式,请参考 [`deployment/local-source/DEPLOY.md`](deployment/local-source/DEPLOY.md) 中的 Vite 变量说明。
## 🛠️ 本地开发 ### 基础设施 ```bash cd db/postgres-db && docker compose up -d cd ../neo4j && docker compose up -d cd ../milvus && docker compose up -d ``` 如需 HugeGraph,请使用 `db/hugegraph/docker-compose.yml`,并在 `backend/.env` 中切换 `GRAPH_DB_TYPE=hugegraph`。 ### Python 服务 每个 Python 服务建议使用独立虚拟环境: ```bash cd authservice python -m venv .venv . .venv/bin/activate pip install -r requirements.txt uvicorn app.main:app --host 0.0.0.0 --port 9001 --reload ``` ```bash cd backend python -m venv .venv . .venv/bin/activate pip install -r requirements.txt uvicorn app.main:app --host 0.0.0.0 --port 8001 --reload ``` ```bash cd ontology_modeling_agent python -m venv .venv . .venv/bin/activate pip install -r requirements.txt uvicorn server:app --host 0.0.0.0 --port 8002 --reload ``` ```bash cd ai_modeling_beta_service python -m venv .venv . .venv/bin/activate pip install -r requirements.txt cd .. uvicorn ai_modeling_beta_service.app:app --host 0.0.0.0 --port 8003 --reload ``` ### 前端与 Skill 服务 ```bash cd front npm install npm run dev ``` ```bash cd backend_skill npm install npm run dev ```
## 🧪 状态检查 常用检查命令: ```bash docker ps curl http://127.0.0.1:8001/docs curl http://127.0.0.1:9001/docs curl http://127.0.0.1:8002/docs curl http://127.0.0.1:8003/docs tmux ls ``` 数据库检查: ```bash docker exec -it postgres-db psql -U root -d ontology -c "\dt" docker logs neo4j --tail 50 docker logs milvus-standalone --tail 50 ``` 测试入口: ```bash cd backend && pytest cd ontology_modeling_agent && pytest cd ai_modeling_beta_service && pytest cd backend_skill && npm test cd front && npm run build ```
## ❓ 常见问题 | 问题 | 优先检查 | |:---|:---| | 后端无法连接 PostgreSQL | `postgres-db` 是否运行,`backend/.env` 中 `ONTOLOGY_DB_*` 是否与容器一致 | | Neo4j 写入或查询失败 | `NEO4J_URI`、`NEO4J_USER`、`NEO4J_PASSWORD` 是否匹配 compose 配置 | | Milvus 连接失败 | 宿主机端口是否是 `19531`,账号密码是否为 compose 中配置的 `root` / `Milvus` | | 前端请求失败 | `front/.env` 是否指向实际后端地址,或 nginx 代理路径是否生效 | | Agent 问答失败 | `backend_agent` 是否启动,模型网关与 JWT / workspace 作用域配置是否完整 | | Skill 服务失败 | `backend_skill/.env` 中 `PORT`、`JWT_SECRET`、`SKILL_DB_*`、模型 endpoint 是否配置完整 |
## 📚 文档索引 | 文档 | 内容 | |:---|:---| | [`deployment/local-source/DEPLOY.md`](deployment/local-source/DEPLOY.md) | 单机本地交付脚本的前置条件、配置项和 nginx 代理说明 | | [`backend_agent/README.md`](backend_agent/README.md) | 图谱检索、问答 Agent、MCP 和请求作用域说明 | | [`backend_skill/docs/README.md`](backend_skill/docs/README.md) | Skill 服务架构、API、环境变量和审查文档索引 | | [`front/README.md`](front/README.md) | 前端技术栈、功能模块和开发命令 | | [`support/README.md`](support/README.md) | 客户侧定制目录的使用边界 | | [`docs/ai-modeling-beta-service-deployment-design.md`](docs/ai-modeling-beta-service-deployment-design.md) | AI 建模 Beta 服务部署设计 | | [`docs/ai-modeling-beta-service-deployment-plan.md`](docs/ai-modeling-beta-service-deployment-plan.md) | AI 建模 Beta 服务部署计划 |
## 📄 License 本项目使用 [MIT License](LICENSE)。