Digital twin groups
Digital twin groups allow to structure a (large) set of digital twins, possibly with very similar aspects. A digital twin group is an entity in the Digital Twin Registry to which a Digital Twin may be related. A Digital Twin may be a member in several digital twin groups.
Every digital twin group has a unique (per tenant) name and, optionally, a textual description.
Digital twin groups have their own REST resource that offers the well-known CRUD operations to create, retrieve, update, or delete a digital twin group. The /registry-api/v2/groups endpoint offers RQL queries on digital twin groups. However, this endpoint does not provide any query or update primitives that involve the digital twins of a digital twin group.
The relation of digital twins with digital twin groups is managed solely via the /registry-api/v2/twins endpoint. Its Registration endpoint allows to register a Digital Twin with a list of digital twin groups, in which the Digital Twin is a member from its very first moment. Likewise, the Update endpoint allows to modify the set of digital twin groups in which a Digital Twin is a member.
RQL queries on digital twins may involve their group memberships, just like other properties of digital twins. Filter predicates on digital twin groups may involve their unique ID, the name, or the description.
The following RQL query returns all digital twins which are member in the digital twin group with the given unique ID. In case no such group exists, the search result is empty.
Likewise, the following RQL query returns all digital twins which are members in the digital twin group with the given name. At most one digital twin group with the same name may exist per tenant, so the name can be used instead of the unique ID.
filter=eq(groupMemberships.group.name,"Some digital twin group name")
All relevant RQL operators, such as
like, are available. For instance, the following RQL query returns all digital twins which are member in any digital twin group having a description that matches the given expression.
In order to query digital twins on digital twin groups in which they are a member, the
groups shortcut is available:
filter=eq(groups.id,"d8ca4768-f002-4b60-8a93-3cda05a670fa") filter=eq(groups.name,"Some digital twin group name") filter=eq(groups.description,"Some digital twin group description")