使用SpringRestGraphDatabase检索Spring Data Neo4j 3.1.1中的路径不起作用

时间:2014-08-12 16:02:54

标签: path spring-data-neo4j

我试图在一个简单的图中检索两个节点之间的最短路径。我正在接受

NullPointerException at org.springframework.data.neo4j.support.path.ConvertingEntityPath.nodes(ConvertingEntityPath.java:137)

我认为delegate为空,但我不知道原因。

这是我的存储库,包含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);
}

我的代码基于以下示例spring-data-neo4j-examples。我还检查了这个post,但没有帮助:请求返回一个集合(QueryResultBuilder不能转换为EntityPath),顺便说一句,EndResult似乎已在此版本中重命名为Result。

0 个答案:

没有答案