What is a Concept Oriented Model?
Concept-oriented model is proclaimed to be the next level in data modeling. The method is based upon the assumption that data aspects are living concepts where each is a combination of a number of super-concepts.
The belief goes on to complement the top concept and the bottom concept structures. This particular structure constitutes a lattice which is also described as an order satisfying certain properties. Each item is then defined as a mixture of some other super items that are taken from the related super-concepts.
In simple words, the Concept Oriented model is based on a lattice theory or an order of sets. Each component is defined as a mixture of its super-concepts. The top concept structure provided the most abstract view, with no items. Where as, the bottom concept structure is more specific and provides a much more detailed representation of the model.
The syntax structure offers what is commonly referred to as a multi-dimensional hierarchical space where the items are found. The sub-concepts of the top concepts are also called primitive concepts.
The semantics of this model are represented by the data items; each item is actually a combination of its related super-items. Each item has a non-specified number of sub-items from the corresponding sub-concepts. The path from model semantics onto dimensionality of the model leads from the current concept to some of its corresponding super-concepts.
Each step within this path normally has a name that is in context to its corresponding concept. The number of these paths from the top of the model to the bottom of the model is its dimensionality. Now each dimension corresponds to one variable or one attribute. Thus is supposed to be one-valued.
All one valued attributes are also directed upward within the structure. Yet if we were to reverse the direction of the dimensions then we would have what is often called sub-dimensions or reverse dimensions.
These dimensions also corresponds to the attributes or the properties, but they take many values from the sub-concepts rather then the super-concepts to form normal dimensions. After we have explored the dimensionality of the concept model structure we move forward to address the relations between the concepts.
When speaking of relations, each concept is related to its super-concepts, yet the super-concepts are also clarified as relation with regard to this concept. So, in order to be a relation is a comparative role. More specifically each item is a single instance of relation for the corresponding super-items and it is an object link to other objects by the means or the relations of its sub-items, which clarified as relation to instances. This brings us to grouping and/or aggregation.
Let’s continue to think of these items in relations, this way we can imagine each item has a number of “parents” from the super-concepts as well as a number of sub-items from the sub-concepts.
Items are interpreted as a group, set, and category for its sub-items. Yet it is also a member of the sets, groups, and categories formula represented by the super-items. You can see the dual functions or roles for the items when you consider them in this light.
Continuing to think of our items in the light we have created we can now see that each problem domain that would be represented in a concept model have differing levels of details.
Near the top we would find it is represented as a single element, like an organization in whole. However, we can still spread information from the lower levels to the top level and create the aggregated feature we need by seeking the sub-items including in the parent item and then by apply the aggregation task.
We will finish up this section by quickly touching on the topic of multi-dimensional analysis and constraints. First let’s address the matter of multi-dimensional analysis.
We can easily indicate that multiple source concepts and enforce input constraints upon them. Then the constraints can be spread in a downward direction to the bottom level. This is the most specific level of all of the levels.
Once we have completed this step the result of this then transported back up the chain of levels toward a target concept. Then we can begin an operation of moving one of the source concepts downward, basically choosing one of the sub-concepts with more detail. This is called Drill Down. We also have an operation known as Roll Up; this is the process of moving up by selecting some super-concept with less detail.
With all this talk of constraints, you are probably wondering what they are as well. Simply for each concept we can indicate constraints the corresponding items need to satisfy. That forces us to describe the actual properties by indicating a path resembling a zigzag pattern in the concept structure.
The zigzag path then goes up when needed to get more detailed information; it also goes down to retrieve more general information. Using this we can easily then express the constraints in terms of the other items and where they can be found.
{qbapagebreak title=What are Concepts?}
What are Concepts?
The Concept oriented model deals with concepts rather then class. A concept is a combination of classes, one is a reference class and the other is an object class. When the concept fails to define its specific reference class it is then equal to a conventional class.
Object and references both have corresponding structure and behavioral methods. A simple consequence of having concepts is that the object are presented and accessed in an indirect manner, this is done by the concept using custom references with subjective domain specific structures as well as functions.
Now you might also want to know what a sub-concept or a super-concept is as well. A super-concept is a concept that is combined with other concepts in the definition of the concept. An example of this would be the concept Orders=<Addresses, Customers>, this has two super-concepts which are the Addresses and the Customers.
Remember there is always an upward directed arrow in the concept graph from a sub-concept to any of the corresponding super-concepts. Therefore the sub-concept then associated with the start of that arrow type and the super-concepts is associated with the end of that arrow.
Sub-concepts also have two parts, such as Order Parts, the formula would be Order Parts=<Products, and Orders> or Order Operations=<Orders, and operations>.
So now we have dissected the main components of the Concept Oriented Model, it is obviously important to the association of data and concepts related to that data. We can now understand the uses and functions of this model with a bit more clarity.
Though the Concept Oriented model is complex and definitely worthy of further research. It is suggested that anyone who has had their curiosity sparked by this article look further into the model, and perhaps even further explore the additional functions and uses since it can be applied to many situations.