# OntoCube **Repository Path**: kazzz/onto-cube ## Basic Information - **Project Name**: OntoCube - **Description**: 本体魔方 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2026-03-06 - **Last Updated**: 2026-04-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 本体魔方 (OntoCube) 基于Palantir本体论的知识建模及知识图谱可视化工具 ## 项目概述 本体魔方是一个完整的知识建模平台,支持静态建模(数据建模)和动态建模(流程建模),并提供强大的知识图谱可视化能力。 ## 核心功能模块 ### 1. 数据建模模块 (Data Modeling) [预留] - 对象(Objects)定义 - 链接(Links)定义 - 属性(Properties)定义 - 静态知识图谱构建 ### 2. 流程建模模块 (Process Modeling) - DAG流程图编排 - Logic(逻辑)定义与管理 - Actions(行动)定义与管理 - Security(安全)规则配置 - 流程仿真与推演 ### 3. 规则引擎 (Rule Engine) - 业务规则(Logic) - 触发与约束规则(Actions前置/后置条件) - 权限规则(Security) ### 4. 知识图谱可视化 (Knowledge Graph Visualization) - 静态知识图谱可视化 - 动态流程图谱可视化 - 交互式探索与分析 ### 5. 数据采集模块 (Data Collection) [预留] - Pipeline管理 - Dataset管理 - 数据源集成 ## 技术架构 ### 后端 - Python 3.10+ - FastAPI (Web框架) - Pydantic (数据验证) - NetworkX (图计算) ### 前端 - React 18+ - TypeScript - React Flow (流程编排) - D3.js / Cytoscape.js (知识图谱可视化) - Ant Design (UI组件) ### 数据存储 - JSON格式(模拟数据) - 未来支持: Neo4j, PostgreSQL ## 项目结构 ``` OntoCube/ ├── backend/ # 后端服务 │ ├── app/ │ │ ├── models/ # 数据模型 │ │ ├── engines/ # 核心引擎 │ │ ├── api/ # API接口 │ │ └── utils/ # 工具函数 │ └── tests/ # 测试 ├── frontend/ # 前端应用 │ ├── src/ │ │ ├── components/ # 组件 │ │ ├── pages/ # 页面 │ │ ├── services/ # API服务 │ │ └── utils/ # 工具函数 │ └── public/ ├── data/ # 模拟数据 │ ├── ontology/ # 本体定义 │ ├── processes/ # 流程定义 │ └── graphs/ # 知识图谱 └── docs/ # 文档 ``` ## 快速开始 ### 方式1: 使用启动脚本 (推荐) **Windows:** ```bash start.bat ``` **Linux/Mac:** ```bash ./start.sh ``` 启动脚本会自动: - 检查并安装依赖 - 启动后端服务 (端口: 8060) - 启动前端服务 (端口: 3000) 停止服务: - Windows: 运行 `stop.bat` - Linux/Mac: 运行 `./stop.sh` 或按 Ctrl+C **遇到问题?** 查看 [故障排查指南](./docs/TROUBLESHOOTING.md) ### 方式2: 手动启动 #### 后端启动 ```bash cd backend pip install -r requirements.txt uvicorn app.main:app --reload --host 0.0.0.0 --port 8060 ``` 访问API文档: http://localhost:8060/docs #### 前端启动 ```bash cd frontend npm install npm run dev ``` 访问前端界面: http://localhost:3000 ## 核心概念 ### Palantir本体论 详见文档: - [基于Palantir本体论的流程建模](./docs/基于Palantir本体论的流程建模.md) - [规则在Palantir本体论中的三种主要形态](./docs/规则在Palantir本体论中的三种主要形态.md) ### 核心组件 #### 静态建模(数据建模) - **对象类型(ObjectType)**: 业务实体类型定义 - **链接类型(LinkType)**: 实体关系类型定义 - **属性(Property)**: 对象属性定义 - **对象实例(ObjectInstance)**: 具体业务实体 - **链接实例(LinkInstance)**: 具体关系 #### 动态建模(流程建模) - **Logic(逻辑)**: 业务规则、计算、AI模型封装 - 触发模式: 数据变化、用户操作、定时、手动 - 支持级联执行(主动推理) - **Action(行动)**: 原子操作定义 - 原子性保证(ACID) - 前置/后置条件 - 补偿机制 - **Security(安全)**: 权限规则 - 角色权限 - 资源访问控制 #### 流程建模 - **Process(流程)**: DAG流程图定义 - **ProcessNode(节点)**: 开始、结束、Logic、Action、决策等 - **ProcessEdge(边)**: 顺序流、条件流 #### 规则建模 - **业务规则**: 对应Logic - **触发规则**: Action前置/后置条件 - **权限规则**: 对应Security ## 示例 ### 示例1: 订单审批流程 位置: `data/processes/sample_process.json` 流程说明: 1. 开始 → 检查订单金额(Logic) 2. 金额判断(Decision) - 金额 < 1万 → 经理审批(Action) - 金额 >= 1万 → 总监审批(Action) 3. 审批完成 → 结束 ### 示例2: 使用API ```bash # 创建流程 curl -X POST "http://localhost:8060/api/process/create" \ -H "Content-Type: application/json" \ -d @data/processes/sample_process.json # 模拟执行 curl -X POST "http://localhost:8060/api/process/order_approval_process/simulate" \ -H "Content-Type: application/json" \ -d '{"amount": 15000, "order_id": "ORD001"}' # 生成知识图谱 curl "http://localhost:8060/api/knowledge-graph/sample" ``` ## 文档 - [快速开始指南](./docs/QUICKSTART.md) - [架构设计文档](./docs/ARCHITECTURE.md) - [API文档](http://localhost:8060/docs) (需先启动后端) ## 特性 ✅ 已实现: - 完整的数据模型定义(静态+动态) - 流程引擎(DAG验证、拓扑排序、流程仿真) - Logic引擎(触发机制、级联执行) - Action引擎(原子性、前置/后置条件) - 规则引擎(业务规则、触发规则、权限规则) - 知识图谱生成器 - RESTful API接口 - 基础前端界面 🚧 开发中: - 流程可视化编排界面(React Flow) - 知识图谱可视化界面(D3.js) - 数据建模UI 📋 计划中: - Neo4j图数据库集成 - 数据采集Pipeline - AI模型集成 - 流程版本管理 - 实时流程监控 ## 贡献 欢迎贡献代码、提出问题和建议! ## 许可 Apache 2.0 License