Получить окрестность узла Арангодба
Я пытаюсь получить окрестность узла в 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 ответ
Если вы хотите получить входящие и исходящие узлы, вам нужно проверить, _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
).