如何在 arangodb 中显示完全嵌套层次结构的给定节点的所有 child/parent 节点

How to display all the all the child/parent nodes of the given node of fully nested hierarchy in arangodb

我们有一个边缘集合 "ChildEvents" 有 999999 条记录

结构:

_从:events/1, _到:events/2

_from:events/2, _to: events/3

在此结构中,node-1 是超级父节点,node-2 是 node-1 的子节点,node-3 是 2 的子节点。(从上到下嵌套层次结构)

1-->2-->3-->4-->....999999

我的要求是显示给定节点的所有嵌套 parent/or 子节点。 例如。如果我提供节点 - 4,查询应该显示从节点 5 到节点 999999 的子节点。 (我在使用匹配查询的 neo4J 数据库中有这个)。

但是在 arangoDB 中,当我尝试使用以下查询实现此目的时,它只返回 2 条记录。

****FOR v IN OUTBOUND "events/350" 任何 ChildEvents RETURN v****

有人可以帮忙吗?非常感谢您的帮助。

遍历查询要求你声明一个min值(在我的例子中是“0”),但是为了满足你的要求,你还需要声明一个max值(999999)(请参阅文档 here).

此外,术语 any 不以这种方式使用,特别是因为您正在寻找出站关系(出站 from parent 一个child).

FOR v IN 0..999999 OUTBOUND 'events/350'
    ChildEvents
    RETURN v
  1. 从 'events' 集合中找到 _key = '350' 的节点
  2. Returns起始节点('events/350')
  3. Returns 'events/350' 的所有 child 个节点(全部 999,648 个节点)

您不需要为 "max" 值提供确切的数字 - 这只是要遍历的边数的上限。

如果这个查询对你不起作用,那么我建议你仔细看看你的优势。您可能有间隙或方向不正确(交换 _from_to)。