User Tools

Site Tools


basic_principles

Basic Principles of Gellish

This page describes a number of basic principles that are applied in Gellish English.

1. Expression of facts by relations

A core principle of the Gellish language is the observation that any atomic fact can be expressed as a relation between two objects. This is the ORO principle: Object-Relation-Object. It is supported by the observation that complex facts can be expressed as collections of binary relations. Furthermore, it is recognized that in a relation each of the related objects plays a particular role. Therefore, an extended expression of a fact in Gellish includes those roles and thus becomes: Object-Firstrole-Relation-Secondrole-Object. For example, the fact that ‘the Eiffel tower is located in Paris’ is expressed as relation between the Eiffel tower and Paris, which relation is classified by the standard Gellish relation type called <is located in>. Furthermore, the Eiffel tower plays the role of located and Paris plays the role of location in that relation. There are a large number of such standard relation types defined in the Gellish language. Those relation types form the basic grammar of Gellish and the fact that they are standardized make the language computer interpretable. The standard relation types are defined in the Gellish English Dictionary, together with the other dictionary concepts and terms. The number of relation types and other concepts is not limited to the current dictionary, because the Gellish Modeling Method includes a specification of how the dictionary can be extended with additional concepts and relation types. For example, if the Eiffel tower or Paris or an appropriate relation type would not yet exist in the Gellish English Dictionary, then they can be added in a Domain Dictionary or as proprietary extensions. All the Gellish expressions can be stored and exchanged using standard Gellish Database tables.

The principle that each fact can be expressed as a binary relation is shared with the NIAM and the Object Role Modeling (ORM) method. A difference between ORM and Gellish is that Gellish classifies the relation and distinguishes the relation from the two roles of the related objects, whereas ORM only recognizes the two roles and does not recognize the relation as a separate object. Furthermore, ORM does not define standard kinds of roles and the ORM conventions for the naming of kinds of roles tend to be result in names that are similar to the names of the standard relation types in Gellish.

2. Use of a standard dictionary

Conventional methods for data modeling leave it in the freedom of developers to create their own entity types, attribute types or object types and relation types and to allocate their own names to them.
This implies that everybody is in fact encouraged to create his or her own language (dictionary as well as grammar). This is the root cause of the difficulties to exchange data between systems and to integrate data that originate from different databases.
To address this issue, a basic principle of Gellish is that all Gellish users shall in principle use the same concepts as are defined in the Gellish English Dictionary. This common use of the same concept definitions imply that collections of Gellish expressions from different sources can be integrated without conversion and data that originate from one system can be interpreted by any other system that is Gellish enabled.
Furthermore, in addition to the common use of the same dictionary, every user can create his own individual objects (conventionally referred to as 'instances') and whenever concepts that are needed by user are missing in the Gellish English Dictionary it is recommended to create proprietary subtype kinds of objects or relation types . Users are also recommended to propose definitions of new concepts as extensions of the formal Gellish English Dictionary, so that more concepts definitions become shared between Gellish users.

Thus Gellish English is not just a modeling method, like e.g. ORM and other methods, but it is a complete formal language, including a normal, although 'smart', electronic English dictionary.

3. Explicit classification of individual things (instances)

Another core concept of Gellish is that every individual thing (or instance) that is used in Gellish expressions needs to be classified by an explicit classification relation with an existing concept (class) in the Gellish English Dictionary or by a concept that is defined as a proprietary extension of that dictionary. If it is required for such a classification to define a proprietary extension of the Gellish English dictionary, then such a new concept need to be added according to the rules for a proper definition, which includes defining the concept as a subtype of an existing supertype concept.

This concept for Gellish Databases is different from conventional databases. In conventional databases every instance is implicitly classified by the definition of the attribute type (the definition of a database table column) of which it is an instance. Thus, the kinds of instances that can be stored in a conventional database is limited by the (fixed) number of entity types and attribute types or object types that are defined in its data model. In Gellish English the explicit classification implies that anything can be stored in a Gellish Database, because every concept in the Gellish English dictionary can be used to classify an instance and missing concepts can be added without modifying the database. This means that Gellish English is equivalent with an unlimited large data model.

4. Standard data structure: object - relation type - object

The Gellish data structure is intended to enable the expression of any kind of fact. Basically, it consists of a generic structure for relations that is suitable to express any kind of ‘fact’. That basic structure is illustrated by the examples in Table 1.

Name of left hand object Name of relation type Name of right hand object
the Eiffel tower is classified as a tower
Paris is classified as a city
the Eiffel tower is located in Paris
tower can have as aspect a height
Paris is a part of France

Table 1, A Gellish Database table with example expressions of facts

Each line in Table 1 is the expression of a single fact. Each related object plays a particular kind of role in a particular kind of relation, which role is determined by the definition of the relation type. For example, in Table 1, the Eiffel tower and Paris are objects that play different roles in the relations of the various kinds. For example the Eiffel tower and Paris play respecitively the roles located and location in the relation of the kind ‘is located in’. The Gellish language contains proper definitions of standard relation types, such as 'is located in', whereas such a definition includes the proper definition of those roles. The lines that classify ‘Eiffel tower’ as a ‘tower’ and ‘Paris’ as a ‘city’, are examples of relations that relate individual things to known concepts (kinds of things) in the Gellish langauge, because tower and city are standard concepts in the Gellish English Dictionary.

5. Use of standardized relation types

The various kinds of relationships are standardized in Gellish English and they are the core elements that determine the expression power of the language. The relation types form a specialization hierarchy (subtype-supertype hierarchy) of relation types to ensure consistency of the language. The relation types are further defined by the kinds of roles that they require. Those roles are also arranged in a specialization hierarchy that is compliant with the relation type hierarchy. Finally it is defined in Gellish which kind of objects can play those roles, whereas those role players are also arranged in a specialization hierarchy. Together these definitions and hierarchies enable Gellish powered software to verify the correctness of Gellish expressions and the consistency of the use of the language.
For example some binary kinds of relationships with rather trivial kinds of roles are:

  • A composition relationship, with the roles ‘part’ and ‘whole’.
  • A classification relationship with the roles ‘classifier’ and ‘classified’.
  • A specialization relationship with the roles ‘subtype’ and ‘supertype’.

The kinds of roles determine the kinds of things that are suitable to play those kinds of roles, because only specific kinds of things can play specific kinds of roles.
For example:

  • Each ‘part’ role and each ‘whole’ role in a composition relationship can be played only by an individual thing.
  • Each ‘classified’ role in a classification relationship can be played only by an individual thing and each ‘classifier’ role can only be played by a class (being a kind of thing).

It is important to note that the natural language phrase representing the kind of relationship determines which kind of role acts as the first role and which kind of role acts as the second role. For example, assume there is a fact that can be expressed in Gellish by the assembly relation on the first row in Table 2, then that expression is equivalent to the fact on the second row in Table 2 and actually expresses the same fact, but in an inverse expression. According to the above normal English convention both expressions imply that object A has a role as part and object B has a role as whole in a relationship that is classified as an assembly relationship which is also called a ‘part-whole’ relationship.

Unique fact ID Name of left hand object Name of relation type Name of right hand object
1 A is a part of B
1 B has as a part A

Table 2, Roles of objects in relations and in inverse expressions.

The most generic kind of relationship in Gellish English is simply called ‘relation’ or ‘might be related to’. That concept forms the top of the subtype-supertype hierarchy (taxonomy) of relation types. The definition of that ‘relation’ concept is defined in Gellish by expressions of as many pairs of elementary facts as the order of the relation type. As an example, the first four rows of Table 3 show Gellish expressions that define the concept 'relation' by the expression of two pairs of elementary facts. Note, by the way, that we use the terms relation and relationship as synonyms.

Unique fact ID Name of left hand object Name of relation typeName of right hand object
1 relation requires as first role a relator
2 relator can be played by a anything
3 relation requires as second role a related
4 related can be played by a anything
5 is a part of is a synonym of assembly relation
6 has as a part is an inverse of assembly relation

Table 3, Definition of the basic relation type.

6. Use of synonyms, phrases and inverse phrases

Gellish enables the definition of synonyms, abbreviations, codes, etc. for names of concepts as well as for names of kinds of relationships. Standard synonyms are defined in Gellish also for kinds of relationships in the form of natural language ‘phrases’, such as the phrases in the column 'name of relation type' in Table 3.
For each language or language community context it can be specified which synonym is the preferred term or phrase for a concept. The way in which synonym phrases are defined for the relation types in the Gellish English dictionary is illustrated on row 5 in Table 3. Gellish English has also defined inverse Gellish phrases that imply that the left hand and the right hand related objects are inversed. Row 6 of Table 3 shows an example.

7. No separation between meta model and instances

Conventional data modeling methods separate meta models from instances. In fact they use two languages: one for the specification of the meta model (such languages are called data modeling languages), whereas the data model of the application domain acts as the language for the modeling of instances.
In Gellish such a separation does not exist. Gellish English can be used for both kinds of modeling activities. The only difference between those two applications of Gellish English is that relations between kinds of things require other relation types than relations between individual things. The above Table 1 and 2 provide examples of relations between individual things, where the classification relations cross the bridge between the world of individual things and the world of the kinds of things (the Dictionary). Table 3 and 4 illustrate relation types that are used to express facts about kinds of things. For example, relations that are used for the description of functions. Table 4 illustrates the usage of Gellish phrases for relations in a fact that state that an engine has by definition an ability to drive (a pump) and can be performer of a process of driving a pump, in which process a pump is a subject.

Unique fact ID Name of left hand object Name of relation type Name of right hand object Description
1 engine has by definition as aspect a ability to drive with roles possessor and possessed
2 engine can be a performer of a driving a pump with roles performer and performed
3 pump can be a subject in a driving a pump with roles subject and subjecting

Table 4, Relations used to describe functions

Further relation types are defined in the part of the Gellish English Dictionary that contains the collection of upper ontological facts (TOPini).

Continue with Gellish Modeling Method
Return to Overall Table of Content

basic_principles.txt · Last modified: 2017/08/11 15:10 (external edit)