Frequently Asked Questions
on the Concept-Oriented Data Model (COM)

Alexandr Savinov
http://conceptoriented.org/

First started: 17.11.2004
Last updated: 28.12.2008

1 General Questions

1.1 What is COM?
1.2 What are the principles of COM?
1.3 What formalism COM is based on?

2 Duality Principle

2.1 What is the duality principle?
2.2 What is an identity?
2.3 What is an enetity?
2.4 What is the difference between identity modelling and entity modelling?
2.5 What is a concept?
2.6 What is a dimension?
2.7 What is a concept instance?

3 Inclusion Principle

3.1 What is the inclusion principle?
3.2 How inclusion structure is specified?
3.3 How inclusion relates to inheritance?
3.4 What is a complex identity?
3.5 What is a complex entity?

4 Order Principle

4.1 What is the order principle?
4.2 How order relation is specified?
4.3 What are primitive, bottom and top concepts/elements?
4.4 What is a concept-oriented schema?
4.5 What is projection and de-projection operations?
4.6 What is logical navigation?

5 Nested Partially Ordered Sets

5.1 What is a nested partially ordered set?
5.2 What are arity and cardinality?
5.3 What is a primitive dimension?
5.4 What is primitive representation?

1 General Questions

1.1 What is COM?

COM stands for the concept-oriented model of data.

Wiki: Concept-oriented model

1.2 What are the principles of COM?

COM is based on the following three principles:

1.3 What formalism COM is based on?

COM is based on the formalism of nested partially ordered sets.

2 Duality Principle

2.1 What is the duality principle?

Duality principle postulates that any element has two constituents: one entity and one identity. Both identity and entity exist in inseparable unity and can be viewed as two sides or flavours of one thing.

2.2 What is an identity?

Identity is one of two parts of any element according to the duality principle.

Identity is a phenomenon observable and manipulated directly in its original form as it is without any indirection. Identity is a transient representation of an element which exists only here and now. It cannot be shared among other elements because it is stored and passed only by-value.

The main role of identity is that it can represent its entity, i.e., an identity can serve as a reference. (Therefore identities and entities are frequently referred to as references and objects.)

Another important role of Identities is that they can be interpreted as (data) values.

2.3 What is an enetity?

Entity is one of two parts of any element according to the duality principle.

Entity is regarded as a thing-in-itself which is radically unknowable reality not observable in its original form. Entity is viewed as a persistent state of the element. It is shared among all other elements because it is stored and passed only by-reference (using its identity). 

2.4 What is the difference between identity modelling and entity modelling?

Identity modelling is aimed at describing how elements are represented while entity modelilng is aimed at describing the represented entities and their semantics.

Wiki: Identity modelling, Entity modelling

2.5 What is a concept?

Concept is a couple of two classes: one identity class and one entity class.

Concept is the main data modelling construct in COM which generalizes conventional classes and is used where types are normally used.

Wiki: Concept

2.6 What is a dimension?

Dimension is a field of a concept.

2.7 What is a concept instance?

Concept instance is an element which has the structure of its identity and entity specifed by this concept.

3 Inclusion Principle

3.1 What is the inclusion principle?

Inclusion principle postulates that any element has a super-element which is specified via inclusion relation.

Inclusion principle means that all elements exist within a hierarchy where an element has one parent and many children. The parent is a super-element and the children are sub-elements.

3.2 How inclusion structure is specified?

Incluison can be declared as part of a concept definition. For any new concept we can specify its super-concept precisely as for a new class we specify the base class in OOP.

Wiki: Super-concept

3.3 How inclusion relates to inheritance?

Inclusoin generalizes inheritance relation.

This means that under certain simplyfing conditions inclusion is equivalent to inheritance. More specifically, if a child concept has empty identity class then this means its instances cannot be distinguished (they do not have their own identity). As a consequence, only one child can be created which inherits (re-uses) the identity of its parent super-element.

3.4 What is a complex identity?

Complex identity is a sequence of simple identities, called identity segments, where each previous segment has the type of the super-concept in the concept inclusion hierarchy. Complex identity is analogous to conventional postal addresses. Each next segment in a complex identity belongs to (has a type of) a child concept.

3.5 What is a complex entity?

Complex entity is a sequence of entities, called entity segments, represented by segments of a complex identity.

4 Order Principle

4.1 What is the order principle?

Any element has a number of greater elements which are specified via order relation. All elements exist within a partially ordered set.

4.2 How order relation is specified?

Order relation among elements is set by means of references using the following assumption: a reference represents a greater element for this element. In other words, a reference connects a lesser element with a greater element.

Order relation for element types is specified by means of concepts using the following assumption: a dimension (field) type of a concept specified a greater concept. A concept has as many greater concepts as it has dimensions (fields).

Wiki: Greater concept

4.3 What are primitive, bottom and top concepts/elements?

Top concept is directly or indirectly greater than any other concept. Bottom concept is directly or indirectly lesser than any other concept. Primitive concept is a direct sub-concept of top concept.

4.4 What is a concept-oriented schema?

Concept schema is a number of concepts participating in two structures simultaniously: hierarchical structure of inclusion relation and partially ordered structure of order relation.

4.5 What is projection and de-projection operations?

Projection is applied to a set of elements and returns all elements referenced by the specified dimension. Projection means moving up in concept-oriented schema.

De-projection is applied to a set of elements and returns all elements that reference them by the specified dimension. De-projection means moving down in concept-oriented schema.

Wiki: Projection, De-projection

4.6 What is logical navigation?

Logical navigation is use of projection and de-projection for navigating through the model and retrieving related items. Logical navigation path has a zig-zag form where projection leads upwards and de-projection leads downwards.

Wiki: Logical access path

5 Nested Partially Ordered Sets

5.1 What is a nested partially ordered set?

A nested partially ordered set is a partially ordered set with elements that can be themselves partially ordered sets. Thus any element of a nested partially ordered set has a superset where it exists and simultaniously it has many greater elements. Alternatively, a nested partially ordered set can be viewed as a nested set with a partial order defined on them. Additionally, a nested partially ordered set has to satisfy a condition which is called syntactic constraint.

5.2 What are arity and cardinality?

Arity (dimensionality) of an element is the number of its greanter elements. Cardinality is the number of its lesser elements.

5.3 What is a primitive dimension?

Primitive dimension is a dimension which leads to a primitive element.

5.4 What is primitive representation?

In primitive representation all elements are represented using only primitive dimensions.

 

Back to the Concept-Oriented Portal