Generic Function Make-Filtered-Graph (1 method)

( make-filtered-graph < old-graph > < test-fn > &optional < graph-completion-method > < depth > )

Part of:

package cl-graph
Takes a GRAPH and a TEST-FN (a single argument function returning NIL or non-NIL), and filters the graph nodes according to the test-fn (those that return non-NIL are accepted), returning a new graph with only nodes corresponding to those in the original graph that satisfy the test (the nodes in the new graph are new, but their values and name point to the same contents of the original graph). There are four options for how the new graph is filled-out, depending on the following keywords passed to the optional GRAPH-COMPLETION-METHOD argument: * NIL (default) New graph has only nodes that correspond to those in the original graph that pass the test. NO LINKS are reproduced. * :COMPLETE-LINKS New graph has only nodes that pass, but reproduces corresponding links between passing nodes in the original graph. * :COMPLETE-CLOSURE-NODES-ONLY New graph also includes nodes corresponding to the transitive closure(s) that include the passign nodes in the original graph. NO LINKS are reproduced. * :COMPLETE-CLOSURE-WITH-LINKS Same as above, except corresponding links are reproduced. For both transitive closure options, an additional optional argument, DEPTH, specifies how many links away from a source vertex to travel in gathering vertexes of the closure. E.g., a depth of 1 returns the source vertex and the parents and children of that vertex (all vertexes one link away from the source). The default value is NIL, indicating that all vertexes are to be included, no matter their depth. This value is ignored in non closure options.

Method Summary

make-filtered-graph < basic-graph > < T >