QueryModelDescriptor

data class QueryModelDescriptor(val model: QueryModel, val version: String, val timeZone: String, val record: RecordDescriptor, val limits: LimitsDescriptor, val analysis: AnalysisDescriptor, val fields: List<FieldDescriptor>, val elements: List<ElementDescriptor>, val dynamic: List<DynamicFieldDescriptor>, val constraints: List<ConstraintDescriptor>)

How a query model can be queried on one entry: the answer the GET of the query route gives to agents and the view engine; QueryJson writes and reads it.

It publishes conclusions, never storage vocabulary: every listed operator, sort, group and function is admitted when used on its own, anything unlisted is rejected; combination rules are in constraints. Values, scopes and policy conditions may still reject a query at run time, with a structured violation. It exposes no physical names and does not depend on the caller, so it is cacheable; version is a hash of its content and doubles as the ETag.

Constructors

Link copied to clipboard
constructor(model: QueryModel, version: String, timeZone: String, record: RecordDescriptor, limits: LimitsDescriptor, analysis: AnalysisDescriptor, fields: List<FieldDescriptor>, elements: List<ElementDescriptor>, dynamic: List<DynamicFieldDescriptor>, constraints: List<ConstraintDescriptor>)

Properties

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard

Fields under dynamic map keys, written with {key} in place of the key.

Link copied to clipboard
Link copied to clipboard

Every queryable field by logical path, fields inside elements included (see FieldDescriptor.scope).

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard

The zone a request that names none is read in: UTC.

Link copied to clipboard