我想将一个类的实例存储在图形工具图中,每个节点一个对象(或图形工具调用它们的“顶点”)。我正在尝试使用顶点属性,因为这似乎是这样做的方法。
class MyClass(object):
def __init__(self, title):
self.title = title
graph = Graph()
my_obj = MyClass('some title')
vertex = graph.add_vertex()
vprop = graph.new_vertex_property('object')
vprop[vertex] = my_obj
现在我想读回我的类对象,例如遍历所有节点/顶点并打印它们的标题:
for vertex in self.graph.vertices():
# TODO: how to access titles ? this just prints
# "<Vertex object with index '0' at 0xb1e4bac>"
print repr(vertex) + '\n'
另外,如何从图中获取具有特定标题的类对象?一种方法似乎是使用graph.set_edge_filter(...)
并应用它来创建一个顶点过滤器 - 考虑到我想要的只是取回一个对象,这似乎是一项非常昂贵的操作。我真的不想将自己的对象标题/顶点索引映射维护为 IMO,这是图表的任务之一。
我在这里错过了一些基本的东西吗?