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