Path 使用SpringRestGraphDatabase检索Spring数据Neo4j 3.1.1中的路径无效

Path 使用SpringRestGraphDatabase检索Spring数据Neo4j 3.1.1中的路径无效,path,spring-data-neo4j,Path,Spring Data Neo4j,我试图在一个简单的图中检索两个节点之间的最短路径。我得到一份工作 NullPointerException at org.springframework.data.neo4j.support.path.ConvertingEntityPath.nodes(ConvertingEntityPath.java:137) 我认为委托是空的,但我不知道为什么 以下是我的存储库,其中测试了cypher查询并正在使用neo4j UI: @Query("START from=node({0}), to=no

我试图在一个简单的图中检索两个节点之间的最短路径。我得到一份工作

NullPointerException at org.springframework.data.neo4j.support.path.ConvertingEntityPath.nodes(ConvertingEntityPath.java:137)
我认为委托是空的,但我不知道为什么

以下是我的存储库,其中测试了cypher查询并正在使用neo4j UI:

@Query("START from=node({0}), to=node({1}) MATCH path=(from)<-[:NETWORK_LINK*]->(to) RETURN path")
Iterable<EntityPath<DGNode, DGNode>> getShortestNetworkPathBetween(Long fromid, Long toid);
和我的测试代码:

System.out.println("Network path from "+srv1.getId()+" to "+srv5.getId()+" :  \n");

Iterable result = nodeRepository.getShortestNetworkPathBetween(srv1.getId(), srv5.getId());

Iterable<EntityPath<DGNode,DGNode>> paths = (Iterable<EntityPath<DGNode,DGNode>>) result;
for(EntityPath<DGNode,DGNode> path : paths) {
    String nodes = "";
    while (path.nodeEntities().iterator().hasNext()) {
        nodes += ", " + ((DGNode) path.nodeEntities().iterator().next()).getName();
    }
    System.out.println("From " + path.startNode().getClass().getName() + " to " + path.endNode().getClass().getName() + " : " + nodes);
}

我的代码基于以下示例。我也检查了这一点,但没有任何帮助:请求返回集合QueryResultBuilder无法转换为EntityPath,顺便说一句,EndResult似乎已重命名为该版本的结果。

因此,使用逐步调试,我发现查询确实返回了一个结果,其中找到的每个路径都是哈希映射,根据调试,无法将其转换为路径,这就是ConvertingTityPath.delegate为null的原因。尽管如此,我仍然不知道我做错了什么,我应该在我的存储库中使用另一种返回类型吗?如果是,哪一个?谢谢,再往前走一步!由于这个讨论,这是因为我使用SpringRestGraphDatabase连接到外部Neo4j数据库。当使用嵌入式的时候,问题就消失了,我有我的路径。。。有人知道如何解决这个问题吗?使用Iterable作为返回类型