An agg_df is a table of agg_vec() columns, one row per level of a
(possibly crossed) aggregation structure – e.g. Purpose and State
columns where some rows total one dimension, some the other, some both.
nodes()/edges() reorient it into a graph: a row is a child of
another row whenever the parent aggregates exactly one more column and
matches on every other column's disaggregated value.