BEAMEVENTS GRID
The BEAMevents grid is utilized for message payloads comprising one or more contextual events. The grid is tightly coupled to the common ontology and provides event consumers with the minimal information necessary to react to any state change occurrence. The grid includes traditional time series elements (timestamp, value, unit) and metadata identifiers for ontology elements (attribute, class and object) to support contextual events. These elements have fixed, zero-based column positions (indices).
ELEMENT [0]: TIMESTAMP
The “Timestamp” element of the grid denotes when an event occurred and is set to a Date/Time value expressed in UTC (Coordinated Universal Time) format with the highest level of granularity (ISO 8601), including date plus hours, minutes, seconds and a decimal fraction of a second:
YYYY-MM-DDThh:mm:ss.s (e.g., 2017-10-25T19:20:30.45)
ELEMENT [1]: ATTRIBUTE
The “Attribute” element of the grid is set to the value of an Identifier attribute* that identifies an Attribute instance within the Information Model. The value of the “Attribute” element cannot identify the “Class” or “Identifier” attribute of the root Object class which comprise the primary key.
ELEMENT [2]: CLASS
The “Class” element of the grid is set to the value of an Identifier attribute that identifies a Class instance within the Information Model. The attribute identified in the “Attribute” element must be contained within the hierarchy of the class identified by the “Class” element
ELEMENT [3]: OBJECT
The “Object” element of the grid is set to the value of an Identifier attribute* that identifies an object belonging to the class identified by the “Class” element. When the event is setting an attribute value of a new object, this element is set to a new UUID (ISO/IEC 9834) generated by an O/S-level service. The “Object” element for each subsequent event associated with the same object is also set to this new UUID.
ELEMENT [4]: VALUE
The “Value” element of the grid is set to a permitted value of the attribute identified by the “Attribute” element. When the identified attribute is a Relation attribute, the “Value” element is set to the value of an Identifier attribute* that identifies an object within the related class (or subclass) of the Relation attribute.
ELEMENT [5]: UNIT
The “Unit” element of the grid is conditionally set to the value of an Identifier attribute* that identifies a Unit instance within the Information Model. The Unit instance must be associated with a Quantity attribute identified by the “Attribute” element. If a Quantity attribute is not identified by the “Attribute” element, the “Unit” element is not populated.
BEAMQUERIES GRID
The BEAMqueries grid is utilized for message payloads comprising one or more query requests. The grid is also tightly coupled to the common ontology and is processed by a query processor to retrieve values for a BEAMresults grid.
The BEAMqueries grid comprises several elements with some elements comprising a nested grid. These elements have fixed, zero-based column positions (indices) within the BEAMqueries grid
ELEMENT [0]: CLASS
The “Class” element of the BEAMqueries grid is set to the primary identifier of a Class instance within the Information Model. Query results are restricted to attribute values of objects within the identified class and related classes
ELEMENT [1]: OBJECTS
The “Objects” element of the BEAMqueries grid is optionally set to an array of one or more delimited primary identifiers of objects belonging to the class identified by the “Class” element. When this element is populated, Query results are restricted to attribute values of the identified objects within the identified class and related classes.
ELEMENT [2]: RELATIONS
The “Relations” element of the BEAMqueries grid is optionally set to a nested Relations grid that specifies relationships among one or more classes related directly or indirectly (via Relation attributes) to the class identified by the “Related Class” element.
ELEMENT [3]: COLUMNS
The “Columns” element of the BEAMqueries grid is set to a nested Columns grid that identifies that attributes whose values are included in the query results and/or included within one or more query conditions.
ELEMENT [4]: LIMIT
The “Limit” element of the BEAMqueries grid is set to the maximum number of rows returned within the query results “Attribute Values” grid
ELEMENT [5]: LANGUAGE
The “Language” element of the BEAMqueries grid is optionally set to the primary identifier of an attribute contained in the Term class which represents a human language.
ELEMENT [6]: POINT IN TIME (PIT)
The “PIT” element of the BEAMqueries grid is optionally set to a UTC date/time value. Object state (attribute values) retrieved from an event store are based on a comparison of the “PIT” element value to the “Timestamp” element values of contextual events. When this element is not populated, the current object state is retrieved.
BEAMRESULTS GRID
The BEAMresults grid is utilized for message payloads comprising one or more query results that correspond to the BEAMqueries grid. Elements have fixed, zero-based column positions (indices) within the BEAMresults grid.
ELEMENT [0]: ATTRIBUTE VALUES
The “Attribute Values” element of the BEAMresults grid is set to a nested Attribute Values grid that includes a column for each row in the nested Columns grid within the BEAMqueries grid. Each element within the Attribute Values grid represents the value of the attribute (depicted by a grid column) related to an object (depicted by a grid row) of the class identified by the “Class” element of the BEAMqueries grid that meets all query conditions.