迪克斯特拉';Neo4j中带方向的s算法
我已经添加了所有节点和关系。但一个问题是,当使用Dijikstra时,我并没有从一个方向得到它:迪克斯特拉';Neo4j中带方向的s算法,neo4j,dijkstra,Neo4j,Dijkstra,我已经添加了所有节点和关系。但一个问题是,当使用Dijikstra时,我并没有从一个方向得到它: (0)--[PROGRESSED_TO,3812]-->(1)<--[PROGRESSED_TO,3965]--(26)--[PROGRESSED_TO,4932]-->(63) weight:0.07873392808600001 Traversal.expanderForAllTypes(Direction.OUTGOING); 我在路径中迭代: Iterator path
(0)--[PROGRESSED_TO,3812]-->(1)<--[PROGRESSED_TO,3965]--(26)--[PROGRESSED_TO,4932]-->(63) weight:0.07873392808600001
Traversal.expanderForAllTypes(Direction.OUTGOING);
我在路径中迭代:
Iterator path=dijkstra.findAllPaths(node_a,node_b).Iterator()代码>您必须告诉扩展器仅向一个特定方向移动:
(0)--[PROGRESSED_TO,3812]-->(1)<--[PROGRESSED_TO,3965]--(26)--[PROGRESSED_TO,4932]-->(63) weight:0.07873392808600001
Traversal.expanderForAllTypes(Direction.OUTGOING);
另一方面,如果您使用的是Neo4j 2.0或更高版本,那么您的目标应该是使用org.Neo4j.graphdb.traversal中的遍历组件,而不是org.Neo4j.kernel中的组件。内核代码是内部代码,可能会更改。大概是这样的:
PathExpanders.forDirection(Direction.OUTGOING);
您能否修改您的答案,以包含有关您的设置以及遇到问题的场景的更多详细信息?例如,您使用的是什么版本的Neo4j?