Digital Twin Groups

Digital Twin Groups allow to structure a (large) set of Twins, possibly with very similar aspects.

  • A Digital Twin Group is an entity in the Digital Twin Registry to which a Twin can be related.

  • A Twin can be a member in several Digital Twin Groups.

Every Digital Twin Group has a unique (per tenant) name and, optionally, a textual description.

Managing Digital Twin Groups

Digital Twin Groups have their own REST resource that offers the typical CRUD operations to create, retrieve, update, or delete a Digital Twin Group. The /registry-api/v2/groupsexternallink 20 endpoint offers RQL queries on Digital Twin Groups. However, this endpoint does not provide any query or update primitives that involve the Twins of a Digital Twin Group.

Relating Twins and Digital Twin Groups

The relation of Twins with Digital Twin Groups is managed solely via the /registry-api/v2/twinsexternallink 20 endpoint. Its Registration endpointexternallink 20 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 endpointexternallink 20 allows to modify the set of Digital Twin Groups in which a Digital Twin is a member.

Querying Twins on their Digital Twin Groups

RQL queries on Twins may involve their group memberships, just like other properties of Twins. Filter predicates on Digital Twin Groups may involve their unique ID, the name, or the description.

The following RQL query returns all 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.

filter=eq(groupMemberships.group.id,"d8ca4768-f002-4b60-8a93-3cda05a670fa")

Likewise, the following RQL query returns all 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 Twins which are member in any Digital Twin Group having a description that matches the given expression.

filter=like(groupMemberships.group.description,"*description*")

Shortcut

In order to query 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")