首页 > 解决方案 > Cypher:按社区 ID 分组

问题描述

我在 Neo4j 中的数据库如下所示:

(a:ARTICLE)-[:SIMILAR]-(a:ARTICLE)

ARTICLES 节点具有community 属性,它是集群的id。

我想按 community_id 对文章进行分组,我试过了,但什么也没发生:

MATCH (a:ARTICLE)-[:SIMILAR]-(a:ARTICLE)
WITH a, collect(a.community) as community
RETURN a

我哪里错了?

标签: neo4jcypher

解决方案


(a:ARTICLE)-[:SIMILAR]-(a:ARTICLE)错误地要求两个节点相同(因为两者都使用a变量)。

无论如何,甚至不需要匹配关系。

这应该有效:

MATCH (a:ARTICLE)
RETURN a.community as id, COLLECT(a) AS articles

推荐阅读