Algorithm 10.3
Input: a canonical, acyclic, binary ORM hypergraph.
Output: a set of nested schemes with no potential redundancy.
Mark an unmarked node in as the first attribute in a new nested scheme.
While an unmarked edge is incident on a marked node A:
If A ? B: Add B with A; Mark B.
If A ? B: Add B with A; Mark B if all B’s incident edges are marked.
If A ? B: Nest B under A; Mark B.
Else (A – B): Nest B under A; Mark B if all B’s incident edges are marked.
Until all nodes have been marked