Neo4j查询返回集合的集合

时间:2015-09-17 23:26:20

标签: java collections neo4j spring-data-neo4j

我可以编写一个查询,显示指向其他节点的多个节点的图形。我希望在我的Java程序中将其作为集合的集合。

MATCH (o) -[r]-> (s) -[l*]-> (b)  WHERE ... return DISTINCT(b)

在neo4j web查询中,它显示5组(b)节点,每个节点与另一个(b)节点具有单一关系。总共有10个(b)节点。我想要一个大小为5的集合,每个项目都是2个节点的集合。

有意义吗?

我的java界面:

@Query("start s=node({0}) MATCH (o)-[r]-(s)-[l*]->(b:Thing) return DISTINCT(b)")
public Collection<Collection<Thing>> findThings(Thing thing);

像这样,我得到一个大小为1的大小为10的集合 - 每个集合中的每个节点。如果我的返回类型是Collection&lt; Thing&gt;然后我得到所有10个节点。我想要一个包含5件2件事的系列。

1 个答案:

答案 0 :(得分:0)

您可能想要返回:

MATCH (o) -[r]-> (s) -[l*]-> (b)  WHERE ... return collect( DISTINCT b))

但您的查询应该更具体并使用标签!