Cypher:按社区 ID 分组

Cypher: Group by community id

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

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

A​​RTICLES个节点有社区属性,它是集群的id。

我想按 community_id 对文章进行分组,我试过了但没有任何反应:

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

我哪里错了?

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

反正连关系都没有必要匹配

这应该有效:

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