The concept-oriented model (CoM) is a new approach to data modeling (Savinov, 2004) that is being developed along with concept-oriented programming (CoP) (Savinov, 2005a). Its major goal consists of providing simple and effective means for representing and manipulating multidimensional and hierarchical data while retaining the possibility to model how the data are represented physically. Thus, this model has two sides or flavors: logical and physical. From the point of view of logical structure, CoM belongs to a class of multidimensional models (Agrawal, Gupta, & Sarawagi, 1997; Gyssens & Lakshmanan, 1997; Li & Wang, 1996) and OLAP technologies (Berson & Smith, 1997). The main difference from the existing approaches is that CoM is based on the theory of ordered sets. Particularly, one source of inspiration when developing CoM was formal concept analysis (FCA) and lattice theory (Ganter & Wille, 1999).
Elements in the concept-oriented model are living among other elements within a multidimensional hierarchical structure (Savinov, 2005b). This means that any element has a number of parents and children. The direct and indirect neighbors determine its semantic properties while the element itself is thought of as an identifier. So the meaning of an element is distributed all over the model within the ordered structure and depends on its relative position among other elements. One important property of CoM that is absent in most other models is that it possesses canonical semantics. It makes many problem formulations and solutions much simpler because operations can be applied directly to the semantics of the whole model represented using primitive dimensions rather than to different local elements. In particular, it is very important for such a mechanism as grouping and aggregation (Savinov, 2006a), and constraint propagation and inference (Savinov, 2006b). In this sense, CoM is analogous to the universal relation model (URM) where all relations are assumed to be projections of a single relation (Fagin, Mendelzon, & Ullman, 1982; Kent, 1981; Maier, Ullman, & Vardi, 1984).
The multidimensional and hierarchical structure underlying the concept-oriented model can be used for navigational purposes (Savinov, 2005c). This means that data can be accessed by specifying a logical path rather than using joins. In this sense, CoM is similar to the functional data model (FDM; Gray, Kerschberg, King, & Poulovassilis, 2004; Gray, King, & Kerschberg, 1999; Shipman, 1981). The difference is that the mechanism of logical navigation in CoM relies on the ordered structure of elements rather than using an arbitrary graph.