Files
bxh/README.md

105 lines
2.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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