我正在尝试从值列表中获取包含特定值的簇的不同计数。
数据集:
CREATE
(a1: node {tag: "a", cluster: 1}),
(a2: node {tag: "a", cluster: 1}),
(a3: node {tag: "a", cluster: 2}),
(a4: node {tag: "a", cluster: 3}),
(b1: node {tag: "b", cluster: 3}),
(b2: node {tag: "b", cluster: 4}),
(c1: node {tag: "c", cluster: 3}),
(a1)-[:IS_FRIEND_OF]->(a2),
(a4)-[:IS_FRIEND_OF]->(b1),
(a4)-[:IS_FRIEND_OF]->(c1)
我想为
tag
的每个不同值获取不同的簇计数。
tag: a
,但它们位于 3 个不同的集群中,集群 1,2,3我尝试通过下面的查询获取不同的标签值列表和簇列表,但我不确定应该如何继续加入/链接这两个列表以获得预期的不同计数。
MATCH (node)
WITH collect(distinct node.tag) AS tag_list, collect(node) AS clusters
RETURN tag_list, clusters
提前非常感谢!
这个简单的查询应该可以工作:
MATCH (n:node)
RETURN n.tag AS tag, COLLECT(n.cluster) AS clusters