The descriptions in this article apply only to the Block Diagram at this time.

In Ardoq we have components and references connecting them. The generic term for both of them, or more precisely the structure they build together, is a graph. Traversing a graph means starting from a given component to follow the connected references. The exact way to define the traversal is done in the drop-down found on the left side of the top bar for the Block Diagram:

In this article we will look at the details to configure a graph traversal.

Traversal Configuration

We can configure the degrees of relationships and, as advanced options, the incoming and the outgoing degrees.

With all three options set to zero we will only see the selected component (the whole graph is faded out in the following pictures, the selected component is orange and the traversed components have solid color):

For the degrees of relationships, the directions of the references do not matter. Following are some different configurations, pay close attention to the direction of the arrows:



For the incoming and outgoing configuration the direction does matter, it only includes components which are strictly connected in one or the other direction. 

Following are some examples, again pay close attention to the direction of the arrows:

*Notice how the traversal stops on the bottom path due to the direction of the incoming arrow

*Notice how the traversal stops on the upper path due to the direction of the outgoing arrow

In the following examples the light blue circle highlighting components includes all the components discovered in the first traversal step. The two advanced options  (incoming and outgoing) extend the traversal of the resulting set of the first step. Some examples:



Selecting Reference types

With the additional options in the drop down we can define for which types of references we would like to traverse the graph, grouped by incoming and outgoing reference types.

Use this drop down as a quick filter to have more control over your visualization. One major improvement here is the ability to represent parent and child relationships as references without having to explicitly connect the components. These can be found under the incoming and outgoing references in the same drop down.

Did this answer your question?