ArangoDB:AQL 查询以获取两个特定节点之间的所有边
ArangoDB: AQL query to get all edges between two specific nodes
我有一个文档集 'node' 和一个边缘集 'attribute'。
我正在尝试获取 '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
只能将 'TO' 关键字与 SHORTEST_PATH 一起使用。澄清一下:我只对节点之间的直接路径(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
我有一个文档集 'node' 和一个边缘集 'attribute'。 我正在尝试获取 '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
只能将 'TO' 关键字与 SHORTEST_PATH 一起使用。澄清一下:我只对节点之间的直接路径(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