We are using cookies to give you the best experience on our site. Cookies are files stored in your browser and are used by most websites to help personalise your web experience.
Projection is an operation of the concept-oriented model (COM) which is applied to a set of elements and returns its greater elements. The target set of elements and the dimension leading to it from the source set are normally specified as parameters of the operation.
In the concept-oriented query language (CoQL) projection is denoted by right arrow '->' which connects the source set of elements, the dimension name, and the target set of elements:
Source -> dimension –> Target
The dimension or the target set can be omitted. Dimensions are specified in the concept-oriented schema which is a partially ordered set of concepts specified using order relation. Projection is supposed to be applied to sets of elements and if it is applied to a single instance than it is interpreted as a shortcut for a set consisting of one element.
Projection can be used sequentially and along with the operation of de-projection.
If each employee (collection
Employees) belongs to one department (collection
Departments) then we can project a selected set of employees to departments and get a set of departments where they work:
(Employees e | e.age > 30) -> department –> Departments
This query finds departments with at least one employee older than 30. We can omit either dimension name
department or target collection
Departments. Here it is important that
Employee is a lesser concept while
Department is a greater concept.
Longer dimension paths with more intermediate collections can be used where each collection may have its own restrictions. For example, if each department has one manager (collection
Managers) then we could find all managers for the selected employees using two-step projection:
(Employees e | e.age > 30) -> department –> (Departments d | d.size > 10) -> manager –> (Managers m | m.salary < 1000)
This query projects all employees older than 30 to departments larger than 10 which in turn are projected to managers with the salary higher than 1000.