Model attributes are defined by declaring the Type and the Name of each attribute. For example: <Integer name="currentTemp"/>. Integer is a system-defined type. This definition declares an entity of the Type (pattern) Integer with the name of "currentTemp" as an attribute of the Model.
All attributes must be declared from existing types, which can be system-defined types or user-defined types. says that an attribute of the type /pattern of Integer (as defined by Integer's type definition) and with the name of "currentTemp" belongs to the Model.
Model attributes can be of three categories:
1. Atom. An attribute defined by a type which contains only one slot implicitly named “value”. (Atomic types are also called Primitive types and are pre-defined in TQL. For example, Number is an atomic type. All atomic types inherits from the type "Atom".)
2. Composite. A type which has a nested structure
3. Ad-hoc composite
Automatically Generated System Attributes
...
System Attribute Name | Description |
---|---|
Value | The value of the attribute is stored in "Value". This is specified by user at time of create query |
Known | Applicable to ThingFacet/AppFacet - this is the value that is set within the Action. Known can not be set using Create / Update TQL Query by the user. |
Version | Version number of the attribute. This number is automatically incremented each time the value changes. |
Timestamp | Unix epoch time at the time (in millisecond) of the attribute creation. For example: Timestamp value1457663102004 is same as Fri, 11 Mar 2016 02:25:02 GMT |
Datetime | Formatted data time value of the attribute creation. For example:2016-03-10 18:25:02.004 |
QName | Fully qualified name of the attribute. <NamSpace>.<Domain>.<ModelName>.<AttributeName>. For example SimpleModel.MyModels.VendorInfo.vendorName given that VendorInfo is defined within Namespace - SimpleModel, with Domain as MyModels and DataModel Name as VendorInfo |
FName | Given name of the attribute name. |
...