I have a historical record that indicates the relative order of births and deaths. The format of these records are always in one of the following
- Person A was alive with Person B
- Person B died before Person A was born
For example
A was alive with B
C died before B was born
E died before D was born
E died before B was born
D was alive with B
D died before F was born
A was alive with E
F died before G was born
G died before D was born
A died before G was born
G was alive with C
yield this network:
We can see that there is a contradiction because D<F<G but D>G. More generally, what should I be looking for to find whether there is a an inconsistency in the graph? I can sort of understand how to do it with inequalities D<F<G<D which yields a cycle, but am more confused how to logically fuse in the equalities.

It is more convenient to represent each person $A$ by two vertices: their time of birth $A_b$, and their time of death $A_d$. Then, add an edge $u \to v$ whenever vertex $u$ is known to come before vertex $v$ chronologically:
In the actual (but unknown) timeline, these vertices are ordered (from earliest event to latest event) such that whenever $u \to v$, $u$ occurs before $v$. This is a topological ordering of the directed graph we got. If there are no cycles in the directed graph, then at least one topological ordering exists: at least one timeline consistent with all the facts we have.
As mentioned in the Wikipedia article I linked to above, there are fast algorithms that will either