Orientdb 从节点检索所有路径
我正在使用OrientDB社区版2.1.16 这是我的数据图表: 我正在尝试使用以下命令检索给定节点的所有路径:Orientdb 从节点检索所有路径,orientdb,Orientdb,我正在使用OrientDB社区版2.1.16 这是我的数据图表: 我正在尝试使用以下命令检索给定节点的所有路径: select $path from (traverse out('E1') from #13:5) 但我得到的是非常奇怪的: 我本以为通过二级节点(#13:1,#13:2,#13:3)的每条路径都会到达根节点(#13:0)。 比如: (#13:5).out[0](#13:4).out[0](#13:1).out[0](#13:0) (#13:5).out[0](#13:4
select $path from (traverse out('E1') from #13:5)
但我得到的是非常奇怪的:
我本以为通过二级节点(#13:1,#13:2,#13:3)的每条路径都会到达根节点(#13:0)。
比如:
(#13:5).out[0](#13:4).out[0](#13:1).out[0](#13:0)
(#13:5).out[0](#13:4).out[1](#13:2).out[0](#13:0)
(#13:5).out[0](#13:4).out[2](#13:3).out[0](#13:0)
这是正确的还是什么
如果是,是否有可能得到这个结果?
我的意思是有一条从#13:5到#13:0的完整路径通过第二层的节点
谢谢您得到的结果取决于策略是否具有遍历,您可以设置两种类型:深度优先、默认值和宽度优先。我想也许你对这两种策略感兴趣。有关更多信息,请查看此 深度优先战略 这是OrientDB用于遍历的默认策略。在回溯之前,它尽可能沿着每个分支进行探索。它是使用递归实现的。要了解更多信息,请查看深度优先算法。下面是使用深度优先策略遍历图形时执行的有序步骤: 深度优先树 广度优先战略 它检查所有相邻节点,然后依次检查每个相邻节点未访问的相邻节点,依此类推。将广度优先与等效的、但内存效率更高的迭代深化深度优先搜索进行比较,并与深度优先搜索进行对比。要了解更多信息,请查看广度优先算法。下面是使用广度优先策略遍历图形时执行的有序步骤: 宽度优先树
您得到的结果取决于策略是否具有遍历,您可以设置两种类型:深度优先、默认值和宽度优先。我想也许你对这两种策略感兴趣。有关更多信息,请查看此 深度优先战略 这是OrientDB用于遍历的默认策略。在回溯之前,它尽可能沿着每个分支进行探索。它是使用递归实现的。要了解更多信息,请查看深度优先算法。下面是使用深度优先策略遍历图形时执行的有序步骤: 深度优先树 广度优先战略 它检查所有相邻节点,然后依次检查每个相邻节点未访问的相邻节点,依此类推。将广度优先与等效的、但内存效率更高的迭代深化深度优先搜索进行比较,并与深度优先搜索进行对比。要了解更多信息,请查看广度优先算法。下面是使用广度优先策略遍历图形时执行的有序步骤: 宽度优先树 使用您的查询
select $path from (traverse out('E1') from #13:5)
您可以通过添加*
select *,$path from (traverse out('E') from #9:5)
通过这种方式,您可以获得所有经过的顶点,以及从起始节点到达该顶点的路径。使用您的查询
select $path from (traverse out('E1') from #13:5)
您可以通过添加*
select *,$path from (traverse out('E') from #9:5)
通过这种方式,您可以遍历所有顶点,并获得从起始节点到达该顶点的路径