Initial travel knowledge graph release

This commit is contained in:
2026-06-09 09:56:26 +08:00
commit 5f061295d8
402 changed files with 103877 additions and 0 deletions

104
README.md Normal file
View File

@@ -0,0 +1,104 @@
# 旅行知识图谱管理系统
这是 `new2` 版旅行/城市知识图谱系统,包含 FastAPI 后端、React 管理后台、PostgreSQL 管理库和 FalkorDB 图数据库。仓库已附带数据库快照,用户下载后可以用 Docker 直接恢复图谱数据。
## 数据快照
- PostgreSQL`snapshots/postgres/kg_admin_new2.dump`
- FalkorDB`snapshots/falkordb/dump.rdb`
- 默认管理库 schema`kg_admin_new2`
- 默认 FalkorDB 图谱:`guiyang_new2`
- 空间图谱:`guiyang_spatial_v1`
当前快照包含约 `80609` 条空间 POI、`37457` 条候选实体,以及 FalkorDB 中的贵阳与旅行社相关图谱。详细结构见 `docs/reports/new2_current_kg_schema_snapshot.md`
## 快速启动
需要先安装并启动 Docker Desktop。
```bash
git clone https://github.com/3452078359-xuexue/travel-knowledge-graph.git
cd travel-knowledge-graph
docker compose up -d --build
```
启动完成后打开:
```text
http://localhost:8102/admin
```
演示账号:
```text
用户名admin@example.com
密码change-me
```
常用服务端口:
- 管理后台/API`8102`
- PostgreSQL`5433`
- FalkorDB Redis 协议:`6380`
- FalkorDB Browser`3002`
## 重新恢复快照
PostgreSQL 初始化脚本只会在 Docker 数据卷首次创建时执行。如果要丢弃本地修改并从仓库快照重新恢复:
```bash
docker compose down -v
docker compose up -d --build
```
## 验证数据
检查 API
```bash
curl http://localhost:8102/v1/admin/health
```
检查 PostgreSQL
```bash
docker compose exec postgres psql -U admin -d kg_admin \
-c "SELECT COUNT(*) FROM kg_admin_new2.amap_spatial_pois;"
```
检查 FalkorDB 图列表:
```bash
docker compose exec falkordb redis-cli -p 6379 GRAPH.LIST
```
## 本地开发
后端依赖:
```bash
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
python -m uvicorn app.main:app --host 0.0.0.0 --port 8102 --reload
```
前端开发:
```bash
cd admin-web
npm install
npm run dev
```
前端构建产物会输出到 `app/static/admin/`Docker 镜像构建时会自动完成这一步。
## 更新快照
如果本机已有 `zn-kg-new2-postgres``zn-kg-new2-falkordb` 容器,并且想把最新数据重新导出到仓库:
```bash
bash scripts/export_snapshots.sh
```
然后提交 `snapshots/` 中更新后的 dump 文件即可。