def ordering_graph(self):
    'Ordering graph\n\n        t1 --> t2 in the ordering graph indicates that t1 happens before t2.\n        A missing edge simply means that it is not clear yet.\n\n        '
    g = nx.DiGraph()
    for t in self.nodes_iter():
        g.add_node(t)
    for (t1, t2) in self.edges_iter():
        g.add_edge(t1, t2)
    anchored = sorted(self.anchored())
    for (t1, t2) in itertools.combinations(anchored, 2):
        g.add_edge(t1, t2)
    _g = g.copy()
    for t1 in _g:
        for t2 in set([target for (_, target) in nx.bfs_edges(_g, t1)]):
            g.add_edge(t1, t2)
    return g
Ordering graph

t1 --> t2 in the ordering graph indicates that t1 happens before t2.
A missing edge simply means that it is not clear yet.
def ordering_graph(self):
    'Ordering graph\n\n        t1 --> t2 in the ordering graph indicates that t1 happens before t2.\n        A missing edge simply means that it is not clear yet.\n\n        '
    g = nx.DiGraph()
    for t in self.nodes_iter():
        g.add_node(t)
    for (t1, t2) in self.edges_iter():
        g.add_edge(t1, t2)
    anchored = sorted(self.anchored())
    for (t1, t2) in itertools.combinations(anchored, 2):
        g.add_edge(t1, t2)
    _g = g.copy()
    for t1 in _g:
        for t2 in set([target for (_, target) in nx.bfs_edges(_g, t1)]):
            g.add_edge(t1, t2)
    return g