The AcDbEvalGraph class represents the directed acyclic graph. It supports persistence through its derivation from AcDbObject, and is a hard owner of its nodes. A graph can be added to a database either as a global object or by attachment to another object. The AcDbEvalGraph implementation checks for cycles when edges change, thus enforcing acyclic topology, and performs the topological sort that occurs when a root node is evaluated.
A graph assigns unique IDs to its nodes. It also maintains reference counts on edges, and notifies nodes as they are added to a graph and as edges are added to or removed from them.