143 lines
4.2 KiB
Plaintext
143 lines
4.2 KiB
Plaintext
// 圐圙文化网络 - Neo4j Cypher 查询集合
|
||
|
||
// ===== 基础查询 =====
|
||
|
||
// 1. 查看所有词汇节点
|
||
MATCH (w:Word)
|
||
RETURN w.name, w.category, w.meaning, w.region, w.dynasty
|
||
ORDER BY w.category, w.name;
|
||
|
||
// 2. 查看所有关系类型
|
||
MATCH ()-[r]-()
|
||
RETURN DISTINCT type(r) as relationship_types;
|
||
|
||
// ===== 圐圙词根网络分析 =====
|
||
|
||
// 3. 以"昆仑"为中心的词汇网络
|
||
MATCH (center:Word {name: '昆仑'})-[r]-(connected:Word)
|
||
RETURN center, r, connected;
|
||
|
||
// 4. 查找所有音转关系
|
||
MATCH (source:Word)-[r:SOUND_SHIFT]->(target:Word)
|
||
RETURN source.name as 源词, target.name as 目标词, r.type as 关系类型;
|
||
|
||
// 5. 查找音转路径(最多3步)
|
||
MATCH path = (start:Word {name: '昆仑'})-[:SOUND_SHIFT*1..3]-(end:Word)
|
||
RETURN
|
||
start.name as 起点,
|
||
[node in nodes(path) | node.name] as 路径,
|
||
end.name as 终点,
|
||
length(path) as 步数
|
||
ORDER BY 步数;
|
||
|
||
// ===== 语义分析 =====
|
||
|
||
// 6. 按类别分组的词汇分布
|
||
MATCH (w:Word)
|
||
RETURN w.category as 类别, collect(w.name) as 词汇列表, count(w) as 数量
|
||
ORDER BY 数量 DESC;
|
||
|
||
// 7. 按朝代分组的词汇演化
|
||
MATCH (w:Word)
|
||
RETURN w.dynasty as 朝代, collect(w.name) as 词汇, count(w) as 数量
|
||
ORDER BY
|
||
CASE w.dynasty
|
||
WHEN '先秦' THEN 1
|
||
WHEN '汉' THEN 2
|
||
WHEN '唐' THEN 3
|
||
WHEN '宋' THEN 4
|
||
WHEN '元' THEN 5
|
||
WHEN '明' THEN 6
|
||
WHEN '清' THEN 7
|
||
ELSE 8
|
||
END;
|
||
|
||
// 8. 按地区分布的词汇地理分析
|
||
MATCH (w:Word)
|
||
WHERE w.region IS NOT NULL
|
||
RETURN w.region as 地区, collect(w.name) as 词汇, count(w) as 数量
|
||
ORDER BY 数量 DESC;
|
||
|
||
// ===== 高级分析查询 =====
|
||
|
||
// 9. 查找"圐圙"的完整关联网络
|
||
MATCH (kulue:Word {name: '圐圙'})-[r*1..2]-(related:Word)
|
||
RETURN kulue, r, related;
|
||
|
||
// 10. 查找同时具有音转和语义关系的词汇对
|
||
MATCH (w1:Word)-[:SOUND_SHIFT]-(w2:Word)
|
||
MATCH (w1)-[:SEMANTIC]-(w2)
|
||
RETURN w1.name, w2.name, '既有音转又有语义关系' as 关系特征;
|
||
|
||
// 11. 查找每个类别中的核心词汇(关联最多的)
|
||
MATCH (w:Word)-[r]-(connected:Word)
|
||
WITH w, count(r) as connections
|
||
WHERE connections > 1
|
||
RETURN w.category as 类别, w.name as 核心词汇, w.meaning as 含义, connections as 关联数
|
||
ORDER BY 类别, connections DESC;
|
||
|
||
// 12. 查找跨类别的关联模式
|
||
MATCH (w1:Word)-[r]-(w2:Word)
|
||
WHERE w1.category <> w2.category
|
||
RETURN w1.category as 类别1, w2.category as 类别2, count(r) as 关联数
|
||
ORDER BY 关联数 DESC;
|
||
|
||
// ===== 历史演化分析 =====
|
||
|
||
// 13. 三个帝国的词汇分布
|
||
MATCH (w:Word)
|
||
WITH w,
|
||
CASE
|
||
WHEN w.dynasty IN ['先秦', '秦汉', '汉', '三国', '南北朝'] THEN '长城帝国'
|
||
WHEN w.dynasty IN ['隋唐', '隋', '唐', '五代', '辽', '金', '夏', '宋'] THEN '运河帝国'
|
||
WHEN w.dynasty IN ['元', '明', '清', '民国'] THEN '圐圙帝国'
|
||
ELSE '其他'
|
||
END as empire
|
||
RETURN empire as 帝国, collect(w.name) as 词汇, count(w) as 数量;
|
||
|
||
// 14. 查找词汇的时空分布模式
|
||
MATCH (w:Word)
|
||
RETURN w.dynasty as 朝代, w.region as 地区, collect(w.name) as 词汇
|
||
ORDER BY w.dynasty, w.region;
|
||
|
||
// ===== 可视化查询 =====
|
||
|
||
// 15. 生成完整的圐圙网络图(用于可视化)
|
||
MATCH (w:Word)-[r]-(connected:Word)
|
||
RETURN w, r, connected;
|
||
|
||
// 16. 生成核心概念的星形图
|
||
MATCH (core:Word {category: '核心'})-[r]-(related:Word)
|
||
RETURN core, r, related;
|
||
|
||
// 17. 生成音转关系的有向图
|
||
MATCH (source:Word)-[r:SOUND_SHIFT]->(target:Word)
|
||
RETURN source, r, target;
|
||
|
||
// ===== 数据统计 =====
|
||
|
||
// 18. 网络统计信息
|
||
MATCH (w:Word)
|
||
WITH count(w) as total_words
|
||
MATCH ()-[r]-()
|
||
WITH total_words, count(r)/2 as total_relationships
|
||
MATCH (w:Word)-[r]-(connected:Word)
|
||
WITH total_words, total_relationships, w, count(r) as degree
|
||
RETURN
|
||
total_words as 总词汇数,
|
||
total_relationships as 总关系数,
|
||
avg(degree) as 平均度数,
|
||
max(degree) as 最大度数,
|
||
min(degree) as 最小度数;
|
||
|
||
// 19. 查找孤立节点(没有关系的词汇)
|
||
MATCH (w:Word)
|
||
WHERE NOT (w)-[]-()
|
||
RETURN w.name as 孤立词汇, w.category as 类别;
|
||
|
||
// 20. 查找关联度最高的词汇(网络中心)
|
||
MATCH (w:Word)-[r]-(connected:Word)
|
||
WITH w, count(r) as degree
|
||
ORDER BY degree DESC
|
||
LIMIT 5
|
||
RETURN w.name as 中心词汇, w.meaning as 含义, degree as 关联度; |