# 旅行知识图谱管理系统 这是 `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 文件即可。