In TQL, a query is any operations on the model instance data (or model data), which includes filtering, joining, viewing and manipulation of data. (definition data, instance data). Definition data is
Instance data always return the latest version. Known value is also returned if asked "All".
Is the data in store or data in memory? (stored) Agnostic to the database technology, stored as key value pairs
How is the data saved?
How is the data structured? No relational structure.
How is the data retrieved? When a query is executed, the TQLEngine will identify the model definition, and use it to construct the database query to retrieve the requested data or perform necessary CRUD operationsand manipulations. Model instances are incarnations of the Models (or model definitions) through instantiation. The TQLEngine stores the latest version of the model instance data, which is accessible to TQL Queries. See data storage for more details.
There is a special type of query which allows you to show or list the model definitions themselves. See /wiki/spaces/TQLDocs/pages/1179668 for details.
Like conventional queries, TQL queries perform CRUD operations on data. but unlike conventional database queries, TQL queries are:
(1) Current. The TQLEngine maintains the latest versions of any attribute values and attribute known values. TQL queries always return those latest versions.
(2) Model-driven. Since the model definitions define the structure of the model data, the TQLEngine constructs the database queries based on the model definition to retrieve requested data or perform other CRUD operations. The model definition is NOT data schema. Model instance data are saved in schemaless key value pairs.
(3) Actionable. Modifications of model data via TQL queries, if involving actionable attributes, can result in activation of actions, some of which may execute device actuations.
in the mqp file, you define query end points. Query end points are channels to communicate through the TQLFacet instance with the TQLEngine.
...