This documentation supports the 9.1 to 9.1 Service Pack 3 version and its patches of BMC Atrium Core. The documentation for version 9.1.04 and its patches is available here.

To view the latest version, select the version from the Product version menu.

CMDBGraphQuery graph representation

You can represent a graph G = (V, E), in two standard ways: as a collection of adjacency lists or as an adjacency matrix. The adjacency-list representation is more common, because it provides a compact way to represent sparse graphs--those for which |E| is much less than |V|2. However, an adjacency-matrix representation might be better when the graph is dense, |E| is close to |V|2. The representation used by the CMDBGraphQuery input query graph is an adjacency list.

The adjacency-list representation of a graph G = (V, E) consists of an array Adj of |V| lists, one for each vertex in V. For each u in the set of V, the adjacency list Adju contains pointers to all the vertices v such that there is an edge (u, v) in the set of E. That is, Adju consists of all the vertices adjacent to u in G. The vertices in each adjacency list are typically stored in an arbitrary order. The following figure (b) is an adjacency-list representation in an arbitrary order of the undirected graph in the following figure (a).

Undirected graph and its equivalent adjacency list


In an undirected graph G = (V, E), the edge set E consists of unordered pairs of vertices, rather than ordered pairs. That is, an edge is a set {u, v}, where (u, v) in the set of E, and u is not equal to v. In an undirected graph, self-loops are forbidden, so every edge consists of exactly two distinct vertices.

Similarly, the following figure (b) is an adjacency-list representation of the directed graph in the following figure (a). In the BMC Atrium Core, all relationships are directional, so the query graph is a directed graph. In this graph, each relationship instance is like an edge and each CI instance is like a vertex.

Directed graph and its equivalent adjacency list

Was this page helpful? Yes No Submitting... Thank you