【发布时间】:2016-03-17 14:46:09
【问题描述】:
我有许多“进程”,每个都实现为一个类(实现一个接口 -process)和一些“数据集”,同样由一个类表示 -dataset。
可以创建数据集及其依赖项的有向无环图。它可能看起来像:
root
/ \
dataset1a dataset1b
| |
dataset2 dataset2b
/ | \ / \
dset3a | dset3b dset4a dset4b
\ | /
\ | /
\ | /
dataset3a4a
要获取每个数据集,必须应用一个进程(由 process 类表示)。目前,我正在使用网络 x 创建一个DiGraph,其中每个数据集对象都是一个节点,到达X 节点的过程是指向process 对象的节点上的一个属性。 ROOT 只是一个提供起始节点的虚拟节点。
这是用 networkx 表示图形的好方法吗?
鉴于dataset1a 和dataset1b 存在并且必须创建它们的后代(其中每个先前的数据集都是process 类的输入)...什么是遍历图形的好方法,这样:
- 一个节点只有在其所有依赖项都被访问后才会被访问(并因此创建了数据集)
- 可以找到依赖的“节点”...例如如果我在
dataset3a4a节点,我必须能够发现所有“输入”来创建该数据集 -dset3a、dset4a和dataset2。
【问题讨论】:
标签: python graph networkx dataflow