What is a Relation?
Relations enable us to make connections between Blueprints, consequently connecting the Entities based on these Blueprints. Doing so provides logical context to the Software Catalog.
For example, in order see where your
microservices are deployed, you need to create a Relation between your
Relation JSON structure
The basic structure of a Relation object:
"target": "Blueprint target identifier",
The key of the Relation object is the Relation identifier, in the example above,
UniqueId is the Relation identifier.
A Relation exists under the
relations key in the Blueprint JSON schema
|Relation name that will be shown in the UI|
|Target Blueprint identifier|
|Boolean flag to define whether the target Entity is a must when creating a new Entity from the source Blueprint|
|Boolean flag to define whether multiple target Entities can be mapped to the Relation. For more information refer to X-to-many relation|
Please see the following example of a relation between
microservices and a
Let's say we have both Blueprints defined and we want to connect between them in a way that the
microservice will be the
source and the
package will be the
We need to add the following JSON schema of the relation to the
Resulting in this outcome in the UI:
Relations also support
many (its default value is
From a schema standpoint, when a Relation is defined
"many": true, the corresponding Relation identifier in the Entities of the source Blueprint becomes an array(
) as seen in Entity Relation example -
many = true.
There is also a visual indicator in the Blueprints graph when using
"many": true (note the
Byproducts of a Relation
Relation object for Entities
When two Blueprints are related, creating an Entity of the
source Blueprint will show an additional option - a
This will add a property under the
relations section, as shown in the related entities section.
Creating a Relation between multiple Blueprints allows you to use Mirror Properties to enrich the data attached to your Entities, by querying additional data from related Entities with fewer steps.
You can learn more about these properties in the Mirror Properties page.