ノードごとに1つのオブジェクト(またはグラフツールが呼び出す「頂点」)で、クラスのインスタンスをグラフツールグラフに保存したいと思います。これを行う方法のように見えるので、頂点プロパティを使用しようとしています。
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'
また、グラフから特定のタイトルのクラス オブジェクトを取得するにはどうすればよいですか? 1 つの方法は、それを使用して頂点フィルターを作成し、graph.set_edge_filter(...)
それを適用することです。これは、1 つのオブジェクトを取得することだけを考えると、かなり高価な操作のようです。グラフのタスクの 1 つである、IMO として独自のオブジェクト タイトル/頂点インデックス マッピングを維持したくありません。
ここで基本的な何かが欠けていますか?