A system and method for efficiently walking a directed non-cyclic graph of data
using multiple analysis tools. Provided is a graph walking system, including: a
binding system for binding a graph observer with a data graph, for binding node
patterns to node observers to generate at least one node pattern/node observer
pair, and for binding the data graph observer to at least one node pattern/node
observer pairing, and wherein each node pattern includes a computed set of target
sub-node patterns; a node relationship graph (NRG), wherein each node in the NRG
corresponds to at least one node in the data graph, and wherein each node in the
NRG includes a computed set of valid sub-node patterns; graph walking logic for
systematically walking through nodes in the data graph and corresponding nodes
in the NRG; and a pattern testing system that determines if the set of target sub-node
patterns for a node pattern matches the set of valid sub-node patterns for a corresponding
NRG node when a node is encountered in the data graph.