首页 > 解决方案 > 两组节点之间的遍历 - 将所有边保持在中间

问题描述

我正在努力弄清楚如何在两组节点之间使用 X 步来收集边。我有一组起始节点(Set A)和一组结束节点(Set B)——它们也可能是同一个集合,我想在这些集合之间找到 <= X 步的所有边。我看到的所有遍历示例都是针对节点 1 到节点 2 而不是节点集之间的。

一个复杂的因素是我正在尝试使用 LET edges_attr = (基于属性的边缘选择 - 所有工作正常)和 UNION() 它与基于邻域的一组边缘(再次工作得很好)来收集边缘。我希望能够在(Set A)和(Set B)节点之间添加第三个边缘选择,步骤= 2-5(无能为力)。

然后,我获取所有这些边并从中生成构面计数,以便我可以从针对我们拥有的图形数据库的搜索请求中获取一组边及其构面。

节点:

Set A: 0, 10
Set B: 8, 9

路径:

0->1->2->9
8->3->4->10
4->5->6

我想收集边缘,因为它们位于两组节点之间的路径上:

0->1
1->2
2->9
8->3
3->4
4->10

其中一部分看起来很简单:

FOR a in SetA
    FOR b in SetB
        FILTER a == b
        <what goes here?>

标签: arangodb

解决方案


推荐阅读