一个基于 Go 实现的数据模型管理平台,仿照 Palantir Foundry Ontology 的核心功能。
- DSL 模型定义:使用 YAML 格式定义对象类型、属性和关系类型
- 文件系统存储:所有数据存储在文件系统中,便于版本控制
- RESTful API:提供完整的 API 用于模型查询和实例数据管理
- 数据验证:完整的模型验证和数据验证机制
mypalantir/
├── cmd/server/ # 应用入口
├── internal/ # 内部包
│ ├── config/ # 配置管理
│ ├── dsl/ # DSL 解析器
│ ├── storage/ # 文件系统存储
│ ├── service/ # 业务逻辑层
│ ├── handler/ # HTTP 处理器
│ └── middleware/ # 中间件
├── ontology/ # DSL 文件目录
├── data/ # 实例数据目录
└── pkg/ # 公共包
后端:
go mod download前端:
cd frontend
npm installcd frontend
npm run buildcp .env.example .env
# 编辑 .env 文件配置相关参数默认配置:
- 服务器端口:8080
- 前端静态文件路径:./frontend/dist
- DSL 文件路径:./ontology/schema.yaml
go run cmd/server/main.go服务启动后:
开发时建议前后端分离运行,便于热重载:
终端 1 - 后端:
go run cmd/server/main.go终端 2 - 前端:
cd frontend
npm run dev前端开发服务器在 http://localhost:5173,会自动代理 API 请求到后端。
详见 plan.md 文件。