Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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.

...

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 by the system. For example, Number is an atomic type. All atomic types inherits from the type "Atom".) TQLEngine currently does not support user-defined atomic types.

2. Composite. An attribute defined by a type which is a container (contains more than one slot). A container type can be defined by the user using type definition language (<Def/>)

3. Ad-hoc composite. An attribute which is a container defined only at the time of model definition, that is, no such type is pre-defined. Therefore, the structure of ad-hoc composite cannot be reused by other models, but only exist in the particular model itself. All Ad-hoc composite must be declared with the type "Data".

4. Cherry-picked. Cherry-picked attributes are declared using the type "Attribute". For details see CherryPicking.


Automatically Generated System AttributesSystem maintained tags for model attributes

TQLEngine automatically generates attributes maintains tags as part of every attribute that make makes up the model definition. System attributes tags can Read be read (Findusing FIND) usingwith 

Format="all" modified on modifier with the <Find> Query.

System Attribute Tag NameDescription
ValueThe value of the attribute is stored in "Value". This is often specified by the user at the time of create query (instantiation)
Known

Applicable to ThingFacetThingModel/AppFacet AppModel - this is the value that is only set within by the Actionoutput of Actions. Known can not CANNOT be

set using CRUD operations (Create / Update TQL Query by the user) via TQL Queries. The system also maintains a "Known" for DataModel attributes, for consistency purposes, but it will always be the same as Value.

VersionVersion The version number of the attribute. This number is automatically incremented each time the value changes.
TimestampUnix epoch time at the time (in millisecond) of the attribute creation. For example: Timestamp value
1457663102004 is same as Fri, 11 Mar 2016 02:25:02 GMT
DatetimeFormatted 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

FNameGiven name of the attribute name.

...