【Neo4j学习】应用案例( 三 )

MATCH n=shortestPath((小讯:朋友圈{姓名:"小讯"})-[*..6]-(小锐:朋友圈{姓名:"小锐"})) return n
两个陌生人之间的所有最短认识路径
MATCH n = allshortestPaths((小讯:朋友圈{姓名:"小讯"})-[*..6]-(小菲:朋友圈{姓名:"小菲"})) return n
根据节点的影响力或者及其它属性来制作推荐系统
不知道,大家有没有思考过,B站、淘宝,QQ等等这些软件是怎么作推荐系统的 。比如:B站,每一个Up主在上传视频的时候都要选好投稿区,类型,关键字标签 。这样就已经完成了数据的分类 。你如果经常看官延区,那么你来官延区的频度一定很大,那么可以给你推荐这些视频,再根据Up主的影响力(节点的大小)来给你推荐 。当然他们肯定还使用了许多机器学习的算法 。在我看来,也可以使用Neo4j做一个简单的推荐功能 。
比如做一个小小的书籍推荐 。在创建节点的时候,我顺便创建了他们喜欢的书的类型(你会发现,你用一些app时,你一件事就是让你确定喜好) 。
结合第二个案例的数据:
MATCH (n:朋友圈),(m:Books2) where n.喜欢的书类 = m.kinds and toInt(m.Rate)>4create (m)-[r:推荐]->(n) return m,r,n
这里我们做了一件事,就是根据大家填上来的喜好书籍类型,我们挑选出评分大于4的书籍给他们 。
并且从图中可以很容易发现,越是推荐书籍密集的相近的人,他们就具有相同的爱好 。比如小齐和小锐,从图中还能发现,两个人并不是直接认识的 。根据这一点,我们就可以介绍小锐和小齐认识交流 。
由此,我们完成了两层推荐 。一个是书籍的推荐,一个是朋友的推荐 。但是,实际运用中肯定不会这么草率和简单,考虑的肯定会更加详细 。这里只是做一个简单的抛砖引玉 。
【基于Neo4j的重点人超级关系分析应用探索】
基于sql查询框架:
【基于图数据库的电影知识图谱应用研究】
【基于图数据库的文献检索方法优化与实现】
【基于知识图谱的健康医疗知识推送系统】
介绍见file:///E:/论文/Neo4j/
neo4j有社区版本和企业版 。社区版本是免费的,只支持单机版;企业版是付费的,是分布式的 。整理了一些不错的参考资料分享给大家 。
是类似SQL的查询语言,支持做基础的图挖掘项目,属于轻量级 。腾讯的QQ、微信社交关系挖掘,是基于spark的做计算引擎,Hbase来存储关系链 。
neo4j可以做推荐引擎、基于图的搜索、社交关系挖掘等,具体可以参考官网的介绍,neo4j+storm可以做实时的图挖掘,欺诈监测等;neo4j+spark,spark做关系链的抽取、数据的ETL,然后存储到neo4j,可以做进一步的图挖掘 。
(storm neo4j )
(中文版本SNS关系应用)
【【Neo4j学习】应用案例】(银行欺诈监测)
(信用卡欺诈监测)
(电影推荐,基于KNN和余弦相似)
(维基百科,图搜索)
(维基百科的数据导入neo4j并提取关系链)
(法国巡回赛数据分析)
(mysql 到 neo4j)
(自定义数据格式导入)
(传统的关系数据库到neo4j)
( an SQL db to Νeo4j graph db)版本
(关系数据库数据的批量导入)