我尝试在neo4j项目中获取节点集合
我的db尝试通过评级描述用户和电影之间的连接
所以我用链接" RATED"将用户链接到电影。具有评级值(1-5)
此外,我将用户与他们自己联系起来" SIMILARITY"链路
现在我有一群喜欢他们的用户
我希望看到每组相似度用户:喜欢该电影的电影组(喜欢=评分> = 4)
在这个例子中我的结果是:爆发,与狼共舞,披露
答案 0 :(得分:0)
现在您已在用户之间创建了直接关系SIMILAR
,您必须运行社区检测算法,以便定义不同的用户组。您可以使用apoc.algo
函数使用apoc plugin为neo4j运行它。
CALL apoc.algo.community(25,['User'],'community','SIMILAR','BOTH',1,10000)
现在您已使用社区检测算法定义了用户组,您可以简单地查询不同的用户组(如
)//You can also set additional filters when matching movies groups liked
MATCH (user:User)-[rel:LIKED]->(m:Movie) where rel.rating > 3.5
RETURN distinct(user.community) as group,collect(m.title) as movies
知道这是如何实现这一点的非常简单的版本。我建议您查看this graphgist,也许this video。
希望这有帮助