Ruby 用Neo4jrb寻找最短路径

Ruby 用Neo4jrb寻找最短路径,ruby,neo4j,Ruby,Neo4j,我正在使用rails的版本4.0.0.rc.3,在计算两个节点之间的最短路径时遇到问题 我有单一类型的节点A和单一类型的关系R。我可以使用.rels找到直接关系,但不知道如何遍历图形(不使用密码)。我们在v3或v4中没有任何类或方法可以像2.3那样访问算法。您需要使用shortestPath函数编写密码 Neo4j::Session.query.match("(martin:Person),(oliver:Person), p = shortestPath((martin)-[*..15]-(o

我正在使用rails的版本
4.0.0.rc.3
,在计算两个节点之间的最短路径时遇到问题


我有单一类型的节点
A
和单一类型的关系
R
。我可以使用
.rels
找到直接关系,但不知道如何遍历图形(不使用密码)。

我们在v3或v4中没有任何类或方法可以像2.3那样访问算法。您需要使用
shortestPath
函数编写密码

Neo4j::Session.query.match("(martin:Person),(oliver:Person), p = shortestPath((martin)-[*..15]-(oliver))").where(martin: { name: 'Martin Sheen' }).where(oliver: { name: 'Oliver Stone' }) .return(:p)

我不熟悉
Neo4jrb
,但是最短路径通常被重构如下:如果
k
是在从
I
j
的最短路径上穿过的第一个节点,那么下一个穿过的节点将是在从
k
j
的最短路径上穿过的第一个节点。我相信所有最短路径算法都会产生从所有节点到节点
j
的最短路径,而只需要从
I
j
的最短路径,这就是为什么可以用这种方法重建最短路径的原因。@CarySwoveland谢谢,但我对算法本身很熟悉。我只是不知道如何使用
Neo4jrb
遍历路径中的节点并获取它们的属性?现在我只是得到每个节点的URL。我想访问他们的财产。