The Gellish Expression Format

The Gellish Expression Format is a tabular format. It can be expressed as a Gellish file in various basic formats, such as CSV, JSON using the UTF-8 encoding standard. It can also be created in a spreadsheet formats, such as XLSX and then exported in CSV format.
A Gellish file shall start with a file header line. The first field in that line shall contain the word 'Gellish'. The following fields can contain optional 'parameter=value' combinations. For example: Language=English, which is the default value. Other possible values are e.g. Taal=Nederlands, etc. The optional parameters are given in the following table.

ParameterExample valueDescription
LanguageEnglishThe language in which the file is written
Version9.0The version number of the language definition that is used
Date13 Sep 2019The date of the latest update of the file content
CategoryProduct modelA categorization of the content of the file
TitleDemo exampleA description of the content of the file
PrefixDemoA prefix for the allocation of new unique identifiers (UIDs).
Obj_uid1:10000A numeric range for allocation of unique identifiers (UIDs) for new objects
Idea_uid10000:20000A numeric range for allocation of unique identifiers (UIDs) for new ideas (expressions)

Note: New UIDs shall be a concatenation of a prefix, a colon (:) and a sequence number within the specified range. An exception to this rules are standard Gellish UIDs, which are integer numbers. Reserved prefixes are hashes(#) and the prefix 'dd' which are reserved for numbers and dates respectively.

The second and third line in a Gellish file shall define the table header. The second line specifies table column IDs, which determine the meaning of the fields in the columns, the third line contains free text supporting human understanding of the meaning of the columns. The following table header specify a table with columns that form the core of the expressions. Together with the first line, using English terminology and provided with an example of a Gellish expression the table becomes:

GellishLanguage=English
43 101 3 201 7 4
Name of an intentionName of a left hand objectName of a kind of relationName of a right hand objectSymbol of unit of measureTextual definition
assertionThe Euromastis located inRotterdam

The above Gellish expression table contains columns that are identified by language independent column IDs (the numbers 43, 101, 3, etc.). The names of the columns as given on the second row are free text. The use of numeric column IDs makes that the table structure becomes language independent and enables that the columns may be arranged in any sequence that is convenient for the user. But the content of the above table is still human readable and language dependent. However, the content will be made language independent because Gellish enabled software will insert additional columns with unique language independent identifiers (UIDs) for all objects, whereas those objects may be denoted by various language dependent names, translation, synonyms, codes, etc. Thus by extending the table with columns for such UIDs and interpreting the expressions as relations between UIDs, the expressions become language independent. The additional columns with object UIDs are illustrated in the following extension of the above table that uses the prefix 'pr':

GellishLanguage=EnglishPrefix=pr
1 5 2 60 15 66
UID of an ideaUID of an intentionUID of a left hand objectUID of a kind of relationUID of a right hand objectUID of a unit of measure
pr:1970025pr:1015138pr:102

Note that

Multi language support

There is a separate pair of columns available on each row for specifying the UID and name of the language of the name of the left hand object. This enables the use of various languages in the expressions in one table, including the specification that term is a translation of another term for the same concept. Furthermore, one or more separate columns can be inserted each of which for specifying alternative names for the left hand object in a specific language. The column ids for those columns should be the Gellish UIDs for the particular languages. For example, a table in English may include an expression in Dutch and an additional column with a name of the left hand objects in German (where applicable). This is illustrated in the following table:

54 31 101 910038 3 201
Name of a languageName of an intentionName of a left hand objectName in GermanName of a kind of relationName of a right hand object
EnglishassertionThe Euromast is located inRotterdam
DutchassertionDe EuromastDie Euromastis a translation ofThe Euromast

Synonyms

Alias names for objects, such as synonyms, abbreviations, codes, etc. can be specified by explicit statements using phrases for the kinds of relations that express the appropriate subtype of the alias relation. There is no extra column required for such expressions. Aliases are specified in a similar way as the specification of a translation in the above example. For example:

101 3 201
Name of left hand object Name of kind of relationName of right hand object
PC is an abbreviation ofpersonal computer

Homonyms

Using the same name for different concepts, being homonym names, is enabled by distinguishing the objects by their different UIDs and by specifying different language communities in which the homonym names find their home. This is supported by a special pair of columns in the expression table for the UID and the name of the applicable language community. For example the term 'bank' in a the language community 'business' denotes an object with UID 990152, whereas the term 'bank' in the language community 'civil technology' denotes an object with UID 700140. Their defining expressions are illustrated in the following core table:

16 101 3 201 4
Language communityName of left hand object Name of kind of relationName of right hand objectTextual definition
business bank is a kind oforganizationthat is intended to provide financial services.
civil technologybankis a kind oflandthat is located alongside the border of a water.

Contextual facts

Other columns are available for expression of contextual facts, such as approval status (column ID 8), date-time of creation, creator, etc. Those columns can be added depending in the requirements of the user by selecting them from a list of available columns. Multiple tables can be combined and different tables may consist of different collections of columns. This is described in detail in the document 'The Gellish Syntax and contextual facts'

Header rows

The table has three header rows. The first header row contains the following fields:

GellishEnglishVersionversion codedate of releasename or category of expressionsfile name

followed on the same row by an optional sequence of name based parameter names and values:

Lower_obj_uid=nUpper_obj_uid=nLower_rel_uid=nUpper_rel_uid=nPrefix=prefixref_iris=IRIs

Notes:

The name based parameter names and values are intended for use with automated UID generation only.

The second header row of a table contains language independent column IDs as are shown in the above tables. The third header row contains free text names of the columns, corresponding with the column IDs, also as shown above.

Various examples of tables in Gellish Expression Format are given in the download area.

A detailed specification of the definition of the tabular format is given in the document 'The Gellish Syntax and contextual facts' that is available in the download section of the gellish website.

==⇒> next page