The topology service defines a family of labels for the edges it supports.
Note: Most interactions with edges in the Topology Service are with edge
types rather than
edge
labels. Edge types can be conceptualized as instances of the edge label classes, and are
documented separately
here.
- 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.
- See Table 1
for information on the edge types associated with this edge label.
- association
- A ‘weak’ relationship where both source and target vertex can exist independently and neither
source nor target are required for 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.
- See Table 2
for information on the edge types associated with this edge label.
- composition
- A ‘part-whole’ relationship where the child (source) is an integral part of the parent
(target).
- Use when you need to 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.
- 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.
- See Table 3
for information on the edge types associated with this edge label.
- 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 a application dependsOn a database.
The direction is always from
the dependent resource to the independent resource.
- See Table 4
for information on the edge types associated with this edge label.