得到Arangodb节点的邻域

时间:2017-07-25 10:38:28

标签: graph filter arangodb neighbours

我正在尝试在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 

进入和退出节点我什么都没得到。有什么问题?

1 个答案:

答案 0 :(得分:1)

如果要在 out节点中进行检索,则需要测试边缘的_from _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)。