Node classes

There are two Node sub-classes, Data and Calculation. The Code nodes can be considered as sub-classes of Data nodes. JobCalculations, InlineCalulations and the WorkCalculations are subclasses of the Calculation class.

AiIDA graph

The AiIDA graph is a directed graph. The links of the graph are arrows connecting two nodes. An arrow (x, y) is considered to be directed from x to y; y is called the head and x is called the tail of the arrow; y is said to be a direct successor of x and x is said to be a direct predecessor of y. If a path leads from x to y, then y is said to be a successor of x and reachable from x, and x is said to be a predecessor of y. The arrow (y, x) is called the inverted arrow of (x, y).

Graph navigation

The links can be followed in both possible directions (forward & reverse) using the QueryBuilder. This requires to define additional “names” for each direction of the link, and they are documented at the QueryBuilder section. For example, if there is an INPUT link from data D to calculation C, D is the “input_of” C, or equivalently D is the “output_of” C. Currently, in the QueryBuilder, input_of and output_of refer to any link type, where C is the head of the arrow and D is the tail.