我使用Neo4J 2.2.5和Spring Data,我想用Dijkstra计算2个节点之间的最短路径。
这是我的代码:
PathFinder<WeightedPath> finder = GraphAlgoFactory
.dijkstra(PathExpanders.forTypeAndDirection(RelationshipTypes.SEM_SIM, Direction.BOTH),
Constants.ADVERTISED_COST);
WeightedPath path = finder.findSinglePath(startVertexNode, goalVertexNode);
如何获取startVertexNode和goalVertexNode参数?使用下面的密码方法,我得到了正确的数据但是如何将结果转换为节点?
Map<String, Object> params = new HashMap<String, Object>();
params.put( "id", 0 );
String query = "MATCH n WHERE id(n) = {id} RETURN n";
org.neo4j.ogm.session.result.Result result = this.neo4jOperations.query(query, params);
先谢谢你帮助我!
亲切的问候, 约翰,
答案 0 :(得分:0)
由于您的密码查询MATCH n WHERE id(n) = {id} RETURN n
返回单个节点,您可以使用
neo4jOperations.queryForObject(Class<T> entityType, String cypherQuery, Map<String, ?> parameters)
将直接返回您的实体。 SDN / OGM不会从查询中提供原始节点或关系。
我不确定你的意思是“如何获得startVertexNode和goalVertexNode参数”