2

我正在尝试获取 ArangoDB 中节点的邻域。

当我这样做以获取 IN 节点时:

 for v in Protein_G_H
    filter v._to == "p2/9606.ENSP00000326759"
    return v 

我得到一个结果。这样做是为了获得 OUT 节点

for v in Protein_G_H
    filter v._from == "p2/9606.ENSP00000326759"
    return v 

我也得到了结果,但这样做:

for v in Protein_G_H
    filter v._to == "p2/9606.ENSP00000326759"
    filter v._from == "p1/9606.ENSP00000326759"
    return v 

- 或者 -

for v in Protein_G_H
    filter v._to == "p2/9606.ENSP00000326759"
      and v._from == "p1/9606.ENSP00000326759"
    return v 

进出节点我什么也没得到。问题是什么?

4

1 回答 1

2

如果要检索 inout 节点,则需要测试边缘的_from or _to属性是否等于要为其获取邻居的节点:

for e in Protein_G_H
    filter e._to == "p2/9606.ENSP00000326759"
      or e._from == "p2/9606.ENSP00000326759"
    return e

我建议使用 AQL 图遍历来检索相邻顶点:

for v in 1..1 any "p2/9606.ENSP00000326759" Protein_G_H
    return v

这将返回9606.ENSP00000326759顶点集合中顶点的一阶相邻顶点,沿任何方向p2的边集合Protein_G_H中的边(_from 或 _to 必须等于p2/9606.ENSP00000326759)。

于 2017-08-31T19:03:17.177 回答