【问题标题】:ArangoDB GRAPH TRAVERSAL through specific nodes通过特定节点的 ArangoDB 图形遍历
【发布时间】:2015-04-22 09:13:08
【问题描述】:

以美国城市为例,说我想要穿越纽约市、芝加哥和西雅图的所有城市和道路。

这可以通过 TRAVERSAL AQL 函数(使用 filterVertices)来完成。但是,此函数仅采用 ID 而不是 GRAPH_TRAVERSAL 中的顶点示例。

GRAPH_TRAVERSAL 没有过滤选项,所以我的问题是有没有办法使用图形操作过滤结果?

【问题讨论】:

    标签: arangodb graph-traversal


    【解决方案1】:

    该功能确实存在,但不知何故未记录在案。我将它添加到我们应该很快更新的文档中。很抱歉给您带来不便。

    filterVertices 获取顶点示例列表。

    • 注意:您还可以指定自定义 AQL 函数的名称。签名function(config, vertex, path)。如需更具体的过滤。

    vertexFilterMethod 定义了所有其他顶点应该做什么:

    • "prune" 不会跟随连接到这些顶点的边。 (此处使用)
    • "exclude" 不会包含这个特定的顶点。
    • ["prune", "exclude"] 以上两者。 (默认)

    您的问题的示例查询如下(气道是我的图表):

    FOR x in GRAPH_TRAVERSAL("airway", "a/SFO", "outbound", {filterVertices: [{_key: "SFO"}, {_key: "NYC"}, {name: "Chicago"}, {name: "Seattle"}], vertexFilterMethod: "prune"}) RETURN x

    提示:确保在过滤器中也包含起始顶点。否则它总是会返回一个空数组(第一个访问的顶点被直接剪掉)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-08-19
      • 1970-01-01
      相关资源
      最近更新 更多