我在 neo4j 中有一个数据集,看起来像这样:
(a)-[similar_to]->(b)
每个节点都有一个名为“id”的属性,它是唯一的。在以下示例数据集中,每个“a”节点与每个“b”节点都有一个“similar_to”关系:
a.id b.id
1 5
1 2
2 13
3 12
拓扑如下所示:
我想做的是检索连接的两组节点的表,结果如下所示:
1, 2, 5, 13
3, 12
到目前为止,我能用 Cypher 做的最好的事情是:
MATCH (a)-[r:similar_to*]-(b)
RETURN collect(distinct a.id)
但是,它的输出是在一行上打印所有节点:
5, 1, 2, 3, 12, 13
我尝试了这个查询的各种排列,但一直失败。我在论坛中搜索了“subgraph”和“neo4j”,但找不到合适的解决方案。任何方向/想法将不胜感激。
谢谢!