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

时间:2017-10-23 13:49:47

标签: arangodb aql

我有一个文档集'节点'和边缘集合属性'。 我试图让所有优势都归结为'属性'来自:'节点/ 582148' to:' 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

只能使用' TO' SHORTEST_PATH的关键字。澄清:我只对节点之间的直接路径(1个边缘)感兴趣

感谢

1 个答案:

答案 0 :(得分:3)

使用图遍历我建议使用以下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