我在ArangoDB AQL中有这个要求:我创建了一个使用Document集合创建的图表,用于节点和Edge集合,用于有向边缘关系。
我想输入节点列表的子集作为AQL查询的输入,并将所有节点遍历/子图作为输出。
如何从AQL实现这一目标? 我想以这种方式知道给定节点之间的关系。如果需要更多细节,请发表评论。
我现在知道以下查询
FOR v IN 1..1 INBOUND[or OUTBOUND] 'Collection/_key' EdgeCollection
OPTIONS {bfs: true}
RETURN v
答案 0 :(得分:1)
我建议您查看ArangoDB sample page上的查询,其中显示了如何执行图表查询以及如何查看结果。
在上面的示例查询中,您只返回FOR v IN
中的v(顶点信息)。
只返回查询返回的每个路径的最后一个顶点,它不返回边或路径信息。
为此您需要使用FOR v, e, p IN
进行测试,它将返回有关最后一个边(e)和路径(p)的额外信息。
特别要查看p
的结果,因为它包含一个保存路径信息的JSON对象,它是顶点和边的集合。
通过迭代这些数据,您应该能够提取所需的信息。
AQL为您提供了许多工具来聚合,分组,过滤,去重复和减少数据集,因此请确保您查看更广泛的语言功能并练习构建更复杂的查询。