Neo4j 应用案例——社交网络

创建示范案例节点及关系

(1)执行程序

create
(小北:朋友圈{姓名:"小北",喜欢的书类:"Poetry"}), 
(小菲:朋友圈{姓名:"小菲",喜欢的书类:"Science Fiction"}), 
(小鹏:朋友圈{姓名:"小鹏",喜欢的书类:"Music"}), 
(小颖:朋友圈{姓名:"小颖",喜欢的书类:"Politics"}),
(小兰:朋友圈{姓名:"小兰",喜欢的书类:"Music"}),
(小峰:朋友圈{姓名:"小峰",喜欢的书类:"Travel"}), 
(小讯:朋友圈{姓名:"小讯",喜欢的书类:"Poetry"}), 
(小东:朋友圈{姓名:"小东",喜欢的书类:"Sequential Art"}), 
(小唯:朋友圈{姓名:"小唯",喜欢的书类:"Young Adult"}), 
(小窦:朋友圈{姓名:"小窦",喜欢的书类:"Poetry"}), 
(小齐:朋友圈{姓名:"小齐",喜欢的书类:"Default"}), 
(小林:朋友圈{姓名:"小林",喜欢的书类:"Poetry"}), 
(小锐:朋友圈{姓名:"小锐",喜欢的书类:"Default"}), 
(小伟:朋友圈{姓名:"小伟",喜欢的书类:"Young Adult"}), 
(小玲:朋友圈{姓名:"小玲",喜欢的书类:"Business"}), 
(小讯)-[:认识]->(小窦), 
(小讯)-[:认识]->(小齐), 
(小讯)-[:认识]->(小林),
(小讯)-[:认识]->(小鹏), 
(小讯)-[:认识]->(小伟), 
(小讯)-[:认识]->(小峰), 
(小菲)-[:认识]->(小鹏), 
(小菲)-[:认识]->(小峰), 
(小菲)-[:认识]->(小唯), 
(小峰)-[:认识]->(小北),
(小峰)-[:认识]->(小兰), 
(小东)-[:认识]->(小林),
(小东)-[:认识]->(小锐), 
(小东)-[:认识]->(小菲), 
(小鹏)-[:认识]->(小颖), 
(小北)-[:认识]->(小兰), 
(小颖)-[:认识]->(小东), 
(小唯)-[:认识]->(小鹏), 
(小唯)-[:认识]->(小锐), 
(小伟)-[:认识]->(小玲)

return *

(2)执行结果
在这里插入图片描述

1. 展示朋友圈

(1)功能:展示小峰的朋友圈
(2)执行程序

match p = (:朋友圈{姓名:'小峰'})-[*..6]-() return p

(3)执行结果
在这里插入图片描述

2. 展示一度关系

(1)展示小讯直接认识的朋友
(2)执行程序

match p=(:朋友圈{姓名:'小讯'})-[:认识]->() return p

(3)执行结果
在这里插入图片描述

3. 展示二度关系

(1)功能:展示小讯认识的朋友以及小讯认识的朋友的朋友
(2)执行程序

match p=(:朋友圈{姓名:'小讯'})-[*..2]->() return p

(3)执行结果
在这里插入图片描述

4. 依托社交网络搜寻两人之间最短熟人路径

(1)功能:寻找小讯与小锐之间的最短路径。
(2)执行程序

match p=shortestpath((:朋友圈{姓名:'小讯'})-[*..6]->(:朋友圈{姓名:'小锐'})) return p

(3)执行结果
在这里插入图片描述

5. 搜索两人之间所有的最短路径

(1)功能:寻找小讯与小菲之间所有的最短路径
(2)执行程序

match p=allshortestpaths((:朋友圈{姓名:'小讯'})-[*..6]-(:朋友圈{姓名:'小菲'})) return p

(3)执行结果
在这里插入图片描述

发布了36 篇原创文章 · 获赞 42 · 访问量 190万+

猜你喜欢

转载自blog.csdn.net/fufu_good/article/details/104601319