On 23.12.2008 08:56, Simon Chiang wrote: >> Unless there's something more complicated that I am missing, this is a directed, acyclic graph, usually abbreviated as a DAG. > > Ah, great! I think that's it. > > http://en.wikipedia.org/wiki/Directed_acyclic_graph > > As a followup, does anyone know of libraries that work on DAGs? I'm > looking into the Ruby Graph Library, but any recommendations are > welcome. The DAG defines a partial order. You can use it for "topological sorting" by stuffing it in a text file formatted suitable to "tsort". That tool then will print out nodes in a total ordering that satisfies the partial ordering. Kind regards robert