2017-10-07 35 views
0

我使用圖形工具分析圖表上的疾病傳播模型。 我想要一個過濾圖,它只包含受感染的頂點,這些頂點將會感染它們的鄰居。在圖形工具庫中查找過濾圖的所有未過濾頂點的有效方法?

問題是,當我過濾受感染的頂點時,其餘數據丟失,我知道GraphView的子類,但問題是,原始圖存儲在某處並不能幫助我,當我在濾波圖的邊上迭代,因爲我沒有訪問頂點的等價物,也不能感染它的鄰居。 (改變它們的屬性)。

有沒有一種有效的方法來幫助我的任務?

謝謝。

回答

0

是的,您可以使用Graph.vertex()方法訪問原始圖的頂點。

說,如果g是你的原始圖和u是將過濾,可以這樣做:

for e in u.edges(): 
    v = e.source() 
    v_orig = g.vertex(v)    # corresponding vertex in unfiltered graph 
    for w in v_orig.out_neighbors(): 
     print(w)      # neighbors in the unfiltered graph