在图表工具库中找到过滤图的所有未过滤顶点的有效方法?

时间:2017-10-07 19:18:43

标签: python graph graph-tool

我使用图表工具在图表上分析疾病传播模型。 我想要一个过滤图,它只包含受感染的顶点,即要感染邻居的顶点。

问题在于,当我过滤受感染的顶点时,其余数据丢失,我知道GraphView子类,但问题是将原始图存储在某处并不能帮助我#&# 39; m迭代过滤图的边缘,因为我无法访问顶点的等价物,并且无法感染它的邻居。 (改变他们的财产。)

是否有一种有效的方法来帮助我完成任务?

感谢。

1 个答案:

答案 0 :(得分: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