Графический инструмент: как получить доступ к свойствам?

Я хотел бы хранить экземпляры класса в графике графического инструмента , по одному объекту на узел (или «вершина», как их называет графический инструмент).Я пытаюсь использовать свойство вершины, поскольку это, кажется, способ сделать это .

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
    # ""
    print repr(vertex) + '\n'

Кроме того, как мне получить обратно из графа объект класса с определенным заголовком? Один из способов - создать фильтр вершин с использованием graph.set_edge_filter (...) и применить его - что кажется довольно дорогостоящей операцией, учитывая, что все, что я хочу, - это вернуть один единственный объект. Я действительно не хочу поддерживать свое собственное отображение заголовка объекта / индекса вершины как IMO, это одна из задач графа.

Я упустил здесь что-то фундаментальное?

5
задан EdChum - Reinstate Monica 25 April 2014 в 09:07
поделиться