Add related entities to the tree
Use this query example to add the users that have been assigned a role at the community level. To reach those entities, you must retrieve the Responsibility
entities that represent the assignments between a user, a role and one of the following resources:
- Asset
- Domain
- Community
- JSON
- YAML
{
"ViewConfig": {
"Resources": {
"Community": {
"Id": { "name": "community id" },
"Name": { "name": "community name" },
"Responsibility": {
"User": {
"Id": { "name": "user id" },
"FirstName": { "name": "first name" },
"LastName": { "name": "last name" }
},
"Role": {
"Signifier": { "name": "role name" }
}
}
}
}
}
}
---
ViewConfig:
Resources:
Community:
Id:
name: "community id"
Name:
name: "community name"
Responsibility:
User:
Id:
name: "user id"
FirstName:
name: "first name"
LastName:
name: "last name"
Role:
Signifier:
name: "role name"
Navigating from one entity to another requires nesting the entities. For a complete list of properties and relations for each entity, see Entities, properties and relations.
The following is an example of how the results is formatted.
{
"view": {
"Community0": [
{
"communityId": "c87f166e-041f-4bea-8ff7-c1ffbab2ceeb",
"communityName": "First Community"
},
{
"communityId": "12345678-0020-0000-0000-000000000000",
"communityName": "Second Community",
"Responsibility1": [
{
"User2": [
{
"userId": "00000000-0000-0000-0000-000000900002",
"firstName": "Admin",
"lastName": "Istrator"
}
],
"Role3": [
{
"roleName": "Admin"
}
]
},
{
"User2": [
{
"userId": "00000000-0000-0000-0000-000000900002",
"firstName": "Admin",
"lastName": "Istrator"
}
],
"Role3": [
{
"roleName": "Steward"
}
]
}
]
}
]
}
}
- The
ViewConfig
result tree always uses arrays for related entities, even when relations have a max cardinality of 1. - Each responsibility has a maximum of one user and one role , even when arrays return.
- The results tree uses a generated entity alias in the response. For example,
Community0
,Responsibility1
orUser2
. - To prevent duplicate names in the JSON keys, an index number is concatenated to the entity name.
- The relationship from community to responsibility is optional. The query engine recognizes optional and required relations between entities, which is why
First Community
appears even when no users have roles.