# 🧩 Summary
## 场景
```Java
场景:用户要"文艺4日游"
只用检索:
找到20篇帖子 → LLM随机组合POI
问题:组合可能不合理(没人会把A和B排一天)
加入图谱:
知道哪些POI经常被一起安排
A -[同日出现10次]-> B
A -[同日出现2次]-> C
→ 优先推荐A+B组合
```
# 解决
**图谱构建(通俗版)**
``` shell
# 从帖子中提取关系
帖子1:"Day1 西湖→灵隐寺→飞来峰"
提取:
西湖 -[同日]-> 灵隐寺
灵隐寺 -[同日]-> 飞来峰
西湖 -[同日]-> 飞来峰
帖子2:"Day1 西湖→雷峰塔 Day2 灵隐寺"
提取:
西湖 -[同日]-> 雷峰塔
西湖 -[不同日]-> 灵隐寺
# 累计1000篇帖子后
图谱结构:
灵隐寺
↑ (80次)
西湖
↓ (120次)
雷峰塔
# 用Neo4j查询
MATCH (a:POI {name:'西湖'})-[r:SAME_DAY]->(b:POI)
WHERE r.count > 50 // 至少50次共现
RETURN b.name, r.count
ORDER BY r.count DESC
```
# Cues
[[PostGIS]]
关系图谱: [[Neo4j]]
# **图数据库 vs 关系数据库**
```shell
关系数据库存关系:
poi_relations表
| poi_a | poi_b | same_day_count |
|--------|---------|----------------|
| 西湖 | 灵隐寺 | 80 |
| 西湖 | 雷峰塔 | 120 |
查询"西湖的朋友的朋友":
需要多次JOIN,慢!
图数据库(Neo4j):
天然存储关系,查询快
MATCH (西湖)-[:SAME_DAY*2]-(推荐)
RETURN 推荐
// 2跳查询,毫秒级
```
# 💡 Cues
# Notes