包括边缘的arangodb遍历树

时间:2014-11-09 08:53:34

标签: arangodb

使用' GRAPH_TRAVERSAL_TREE'在我的AQL中只返回顶点,是否将边缘文档与顶点一起返回。例如:

FOR item in GRAPH_TRAVERSAL_TREE('graph','_id','outbound','items')
  Return item

返回类似的内容:

[
  {vertex},
  items:[
   {vertex, items:[]},
   {vertex, items:[]},
  ]
]

我希望边缘信息包含在结果中,如下所示

[
  {vertex},
  items:[
   {edge:{edge}, vertex:{vertex}, items:[]},
   {edge:{edge}, vertex:{vertex}, items:[]},
  ]
]

使用没有图形函数的AQL我有这个:

for item in items filter item._id == 'items/212612934312'
  return {'head': item, 'items': [(
    for edge in itemEdges filter edge._from == item._id
      for vertex in items filter vertex._id == edge._to
        return {'edge': edge, 'vertex': vertex}
)]}

但我相信应该有更好的方法吗?

1 个答案:

答案 0 :(得分:1)

目前不支持此功能,如果您需要提出更改请求。 另一种方法可能是使用GRAPH_SHORTEST_PATH,但如果这适合您的用例,我不是100%:

GRAPH_SHORTEST_PATH("图表",' _id',{},{方向:"出站"})