Получить окрестность узла Арангодба

Я пытаюсь получить окрестность узла в 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).

Другие вопросы по тегам