Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
PointGroup
PointGroup is a new base class to represent an abstract entity to group Points and all subclasses. Point group is equivalent to REC Device. There is Equipment in REC4, which is an asset and represents the physical aspect of “devices” as they are commonly understood. Therefore, it would be misleading to use the “device” label. However, there is a common need to represent the abstract grouping of points (e.g. as they are modeled in a control system) where oftentimes either the physical grouping is not known, or where there might not be any physical group - no Equipment. Apart from representing a control system model, there is a need to group points into abstract objects that communicate jointly.
There are Collection subclasses that relate to strictly physical groupings (e.g. EquipmentCollection), and larger collections e.g. System. There is no suitable affordance in REC4.
Furthermore, since Points are organized in hierarchies that span multiple levels, and REC does not allow for collections of collections, it is not possible to model these multi-level hierarchies with a collection at all. Hence we suggest that PointGroup is a new base class.
This entity contains two relations:
locatedIn - is a relation to show the main location (Space) of all Points, that are grouped.
hasMember - represents all Points included in the group, reverse relation to "isMemberOf".
Display name: PointGroup
DTMI: dtmi:org:w3id:rec:PointGroup;1
Point relations
Alongside the new PointGroup base class, Point and all subclasses are extended with a new relation - isMemberOf.
"isMemberOf" has a target class "PointGroup".
Also to separate relations in Point between Asset and Space, a new relation in Point class was added - locatedIn relation indicates an exact Space where Point is located.