Edge labels
The topology service defines a family of labels for the edges it supports.
Note: Most interactions with edges in the topology are with edge types rather than edge labels. These types can be conceptualized as instances of the edge label classes, and are documented separately. For more information, see Edge types.
-
aggregation
A relationship where the target vertex can exist independently of the source, but is needed for the source to function.
A 'parent-child' relationship where the parent (source) is aggregating the children (target).
The type of aggregation is determined by the value of the edge type.
Use this edge label to represent a resource in the UI that is composed of various elements, for example a book
contains
words.- The direction is always from parent to child.
- Children can have multiple parents.
For more information on the types that associated with this label, see Edge types.
-
association
A ‘weak’ relationship where both source and target vertex can exist independently and each does not require the other to function.
The specific type of association is determined by the edge type.
Use this edge label to represent a general relationship between vertices in the UI, for example a person
has
a house.The label itself has no direction, but a direction could be implied by the edge type used.
For more information on the types that associated with this label, see Edge types.
-
composition
A ‘part-whole’ relationship where the child (source) is a part of the parent (target).
Use when you need to create a short-cut from a node to its root, bypassing fine-grained relationships, for example a component is partOf a device.
- The direction is always child to parent.
- Children cannot have multiple parents.
- Composition relationships are hidden from the element-to-element view. They are used to construct the element-to-host view.
- partOf is the only edge type you can use for the 'composition' label, and is reserved for its exclusive use.
-
dataFlow
A dataFlow label represents a data flow between a pair of vertices.
The specific type of data flow is qualified by properties on the edge type.
Use this label when you need to represent any form of data flow in the UI, for example a person emailing another person.
The label itself has no direction, but a direction can be implied from the edge type used.
For more information on the types that associated with this label, see Edge types.
-
dependency
A 'strong' relationship where the source depends on the target and cannot operate independently of it, and is not integral to it.
The specific type of dependency is determined by the edgeType.
Use this label when you need to represent the dependency of one resource on another in the UI, for example an application dependsOn a database.
The direction is always from the dependent resource to the independent resource.
For more information on the types that associated with this label, see Edge types.