| version = 2+
}}
== Basics ==
In UBIK, queries are used for fetching a list of [[Contentclass|ContentClasses]] from the database. Queries use data base mechanism for perfomant data access and will deliver a list of objects of a certain [[Metaclass]].
Queries can be used in different scenarios:
* finding a single or a set of recordset(s)
* used as definition of root nodes in a [[View]]
== Query, QueryItem ==
A Query is defined for a single MetaClass. The MetaClass is defined by a Referenceproperty ''FILTEROBJECT''. A Query will deliver ContentClasses(instances) of the defined MetaClass.
A Query holds a list of QueryItems. A single QueryItem defines a single filter rule for the evaluation of the result collection:
== Relation between Query and Items ==
The correspondence between Queries and its items is created and stored by a relationship ''QUERYRELATION''. Therefore a single QueryItem can be used several times for different Queries.
* Create and relate a query context scope and set the instance as QUERY
* For the scope define the MetaProperties, which should be available as filter criteria on the client. Without appropriate query item, equality is used as filter operator (=)
== Usage of DatabaseViews ==
It is also possible to define a Database View and use this View for the evaluation of Queries (see [[VirtualContentClass]]).
[[Category:UBIK Object]]
[[Category:System MetaClasses]]
[[Category:Queries]]