Neo4j 3.0.1 和 SDN 4.1.1.RELEASE 寻路

Neo4j 3.0.1 and SDN 4.1.1.RELEASE path finding

我有两个决策节点 - 父节点和子节点。

我已经实现了以下方法 returns 这些节点之间的路径。

@Query("MATCH path=(d:Decision)<-[:CONTAINS*]-(ancestorD:Decision) WHERE id(d) = {decisionId} AND id(ancestorD) = {ancestorDecisionId} RETURN path LIMIT {limit}")
List<Path> findPathsFromDecisionToAncestorDecision(@Param("decisionId") Long decisionId, @Param("ancestorDecisionId") Long ancestorDecisionId, @Param("limit") Integer limit);

SDN 3.4.4.RELEASENeo4j 2.3.3 中,对于直接父子,它返回 1 path

现在 Neo4j 3.0.1SDN 4.1.1.RELEASE 它 returns 0 path.

可以吗,还是应该重写这个查询?

SDN 4 中没有 Path 的概念,只有通过关系引用其他节点的水合节点。

你在这里的选择是 return 节点和关系并遍历对象图(参见 http://graphaware.com/neo4j/2016/04/06/mapping-query-entities-sdn.html 的例子),或者,如果你想要一个严格的路径,使用底层的 GraphDatabaseService(如果可用您使用嵌入式驱动程序)并处理原始节点和关系。