1. A computer-readable medium encoded with computer-executable instructions to perform a method, the method comprising: storing information regarding a directed labeled graph that comprises a plurality of vertices and a plurality of labeled edges connecting the vertices, each edge being defined by an ordered pair of the vertices and a label; performing a first operation that changes said graph by removing or adding a vertex, removing or adding an edge, or changing the label of an edge; updating said information to reflect the change to said graph; and determining whether a second operation may be performed based at least in part on said information.