In large applications, it is sometimes necessary to consider contractions of large graphs, in which induced subgraphs are identified and replaced with single vertices. Problems thus can be presented as coarse graphs whose vertices can be expanded to provide more detail in areas interesting to the user. In LINK, this hierarchical idea is implemented by subgraphs . A subgraph is a GraphObject of the same type as its enclosing graph. This feature is implemented through the use of several attributes on graphs.
Edges move down to the subgraph level only if they belong to the induced subgraph.
If the subgraph is subsequently opened, the algorithm again operates on 100 vertices. Subgraphs can be nested many levels. The only requirement is that every vertex which is put into a subgraph must have the same parent. While the owner graph is always the original graph, the parent graph of a vertex is the immediate graph or subgraph containing the vertex. Deletion of vertices in a subgraph is supported efficiently.