Java 用于返回集合集合的Neo4j查询

Java 用于返回集合集合的Neo4j查询,java,collections,neo4j,spring-data-neo4j,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

我可以编写一个查询,显示指向其他节点的多个节点的图形。我想在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);
@Query(“start s=node({0})MATCH(o)-[r]-(s)-[l*]->(b:Thing)return DISTINCT(b)”)
公共收藏发现的东西(东西);

像这样,我得到一个大小为10的集合,一个大小为1的集合-每个集合中的每个节点都有自己的节点。如果我的返回类型是Collection,那么我将获得所有10个节点。我想要一个集合,其中包含5个集合,共2件物品。

您可能希望返回:

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

但是您的查询应该更具体,并且使用标签

您可能希望返回:

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

但是您的查询应该更具体,并且使用标签

谢谢。我得到的是RestNodes,我认为我们没有按这种类型存储任何节点。我的实际查询更具体,带有适当的标签。但我一定是做错了什么。我怀疑社区是否能够帮助更多的人了解存储的数据结构和实际的查询。今天我将试着和我的同事一起做这件事。即使使用RestNodes,它也应该能够映射它们。否则,您可以始终尝试对映射使用@QueryResult。或者实际上,您可以
返回不同的b
并使用
集合
,这将是正确的做法。谢谢。我得到的是RestNodes,我认为我们没有按这种类型存储任何节点。我的实际查询更具体,带有适当的标签。但我一定是做错了什么。我怀疑社区是否能够帮助更多的人了解存储的数据结构和实际的查询。今天我将试着和我的同事一起做这件事。即使使用RestNodes,它也应该能够映射它们。否则,您可以始终尝试对映射使用@QueryResult。或者实际上您可以
返回不同的b
并使用
集合
,这将是正确的做法。