繁体   English   中英

cypher neo4j-收集一组节点

[英]cypher neo4j - collect a group of nodes

我尝试在我的neo4j项目中获取节点集合

我的数据库尝试通过评分描述用户和电影之间的连接

所以我将用户链接到电影的链接“ RATED”,其评级值为(1-5)

此外,我还通过“相似”链接将用户与自己链接在一起

现在我有一群喜欢的用户

用户组

我想为每组相似用户查看:喜欢该电影的电影组(喜欢=评分> = 4)

在此示例中,我的结果是:爆发,与狼共舞,披露

现在,您已经在用户之间创建了直接关系SIMILAR ,您必须运行社区检测算法,以便它定义不同的用户组。 您可以使用针对Neo4j的apoc插件使用apoc.algo函数运行它。

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

知道这是如何实现此功能的非常简单的版本。 我建议您检查这个图表专家 ,也许这个视频

希望这可以帮助

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM