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.
By continuing to use our website without changing the settings, you are agreeing to our use of cookies.


Projection

From The Concept-Oriented Portal
Jump to: navigation, search

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.

Example

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.

See also

Personal tools
Google AdSense