클래스의 인스턴스를 graph-tool 그래프에 저장하고 싶습니다. 하나의 노드 당 하나의 오브젝트 (또는 그래프 도구가 호출하는 '정점')를 저장하려고합니다. 나는 정점 속성을 사용하려고 시도하고 있는데, 이는 way to do this 인 것처럼 보입니다.graph-tool : 속성에 액세스하는 방법?
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처럼 자체 객체 제목/정점 인덱스 매핑을 유지하고 싶지는 않습니다. 이것은 그래프의 작업 중 하나입니다.
여기에 근본적인 것이 없습니까? 속성 값에 액세스하기 위해