首页 文章

ArangoDB:AQL查询,用于获取两个特定节点之间的所有边缘

提问于
浏览
3

我有一个文档集'node'和一个edge collection'属性' . 我试图将'attribute'集合中的所有边缘从'node / 582148'变为:'node / 582016' .

我能够设计的最简单的AQL查询如下:

FOR v, e, p IN OUTBOUND 'node/582148' `attribute`
    FILTER e._to == 'node/582016'
    RETURN p

真的没有办法在一个方面做到这一点,例如:

FOR v, e, p IN OUTBOUND 'node/582148' TO 'node/582016' `attribute` RETURN p

它's only possible to use the ' TO'与SHORTEST_PATH的关键字 . 澄清: I am only interested in direct paths (1 edge) between the nodes

谢谢

1 回答

  • 1

    使用图遍历我建议使用以下AQL查询来获取所有传出边,这是由目标顶点键过滤:

    FOR v, e IN OUTBOUND 'node/582148' `attribute`
    FILTER v._key == '582016'
    RETURN e
    

    另一种方法是将边缘作为具有_from和_to属性的文档来处理,而不进行图遍历:

    FOR e IN `attribute`
    FILTER e._from == 'node/582148' && e._to == 'node/582016'
    RETURN e
    

相关问题