Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 12 Next »

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.

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.


System maintained tags for model attributes

TQLEngine automatically maintains tags as part of every attribute that makes up the model definition. System tags can be read (using FIND) with 

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

System 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 ThingModel/AppModel - this is the value that is only set by the output of Actions. Known CANNOT be

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

VersionThe 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.

 

 

  • No labels