【发布时间】:2017-09-04 17:15:56
【问题描述】:
是否可以同时对graph-tool 中的 Graph、Vertex 和 Edge 类进行子类化以实现某种类型的图的行为,例如社交网络?
更具体地说,我想要一个包含 class Person(Vertex)、class Publication(Vertex)、class Authored(Edge) 等实例的 class CollaborationNetwork(Graph)。
我想 Person 和 Publication 顶点由 property_map 标识,而 Graph 方法被包装成 add_authorship(Person, Publication) 之类的东西,它创建了 Authored 的实例。
我不确定基于graph-tool 实现这样的抽象是否有意义,如果是,如何将CollaborationNetwork 连接到Vertex 和Edge 的子类。
(我知道只有Subclassing Graph from the graph_tool package 可以工作)。
关于动机:
我将模拟社交网络的增长,并将其与存储为 Neo4j 图的实际数据进行比较。
我喜欢 py2neo OGM 方法,它将这些 Person 和 Publication 数据表示为 python 对象。
【问题讨论】:
标签: python graph-tool