2017-07-25 45 views
1

我正試圖獲取ArangoDB中的節點鄰域。獲取節點的鄰域Arangodb

當我這樣做是爲了得到節點:

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

我得到一個結果。這樣做是爲了走出節點

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 

這將返回第一個學位的鄰居頂點s的頂點集合p2中的頂點9606.ENSP00000326759,沿任何方向(_from或_to必須等於p2/9606.ENSP00000326759)邊緣集合Protein_G_H的邊緣。