User Tools

Site Tools


gellish_expression_format

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Last revision Both sides next revision
gellish_expression_format [2018/10/30 19:47]
andries
gellish_expression_format [2019/09/13 16:00]
andries
Line 1: Line 1:
 ====== The Gellish Expression Format ====== ====== The Gellish Expression Format ======
-The Gellish Expression Format is a tabular format. It can be expressed in various basic formats, such as CSV, JSON or spreadsheet formats, such as XLS, typically ​using the UTF-8 encoding standard. The following ​columns ​in the table form the core of the expressions,​ using English terminology and provided with an example of a Gellish expression: ​ \\ +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. \\ 
-31 ^ 101 ^ 3 ^ 201 ^ 7 ^ 4 ^+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
 +^Parameter^Example value^Description^ 
 +|Language|English|The language in which the file is written| 
 +|Version|9.0|The version number of the language definition that is used| 
 +|Date|13 Sep 2019|The date of the latest update of the file content| 
 +|Category|Product model|A categorization of the content of the file| 
 +|Title|Demo example|A description of the content of the file| 
 +|Prefix|Demo|A prefix for the allocation of new unique identifiers (UIDs).| 
 +|Obj_uid|1:​10000|A numeric range for allocation of unique identifiers (UIDs) for new objects| 
 +|Idea_uid|10000:​20000|A 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:  \\ 
 +^Gellish^Language=English^ ^ ^ ^ ^ 
 +^ 43 ^ 101 ^ 3 ^ 201 ^ 7 ^ 4 ^
 ^Name of an intention^Name of a left hand object^Name of a kind of relation^Name of a right hand object^Symbol of unit of measure^Textual definition^ ^Name of an intention^Name of a left hand object^Name of a kind of relation^Name of a right hand object^Symbol of unit of measure^Textual definition^
 |assertion|The Euromast|is located in|Rotterdam| | | |assertion|The Euromast|is located in|Rotterdam| | |
  
-The above Gellish expression table is language dependent and human readable. ​It can be made language independent by adding references to unique language independent identifiers (UIDs) by extending the table with columns for such UIDs as follows:+The above Gellish expression ​table contains columns that are identified by language independent column IDs (the numbers 31, 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 becomes language independent and enables that the columns may be arranged in any sequence that is convenient for the user. The content of the above table is still language dependent and human readable. ​Its content ​can be made language independent by inserting columns with unique language independent identifiers (UIDs) ​for the concepts that are denoted by the above names. Thus by extending the table with columns for such UIDs. The additional columns with object UIDs are illustrated in the following extension of the above table:
 ^ 1 ^ 5 ^ 2 ^ 60 ^ 15 ^ 66 ^ ^ 1 ^ 5 ^ 2 ^ 60 ^ 15 ^ 66 ^
 ^UID of an idea^UID of an intention^UID of a left hand object^UID of a kind of relation^UID of a right hand object^UID of a unit of measure^ ^UID of an idea^UID of an intention^UID of a left hand object^UID of a kind of relation^UID of a right hand object^UID of a unit of measure^
Line 11: Line 25:
  
 Note that Note that
-  * The UIDs shall be distinguished from the numeric UIDs that are standard in Gellish. Users can make their own UIDs by a prefix followed by a colon (:), followed by free codes. In this example ​Column 1 with UID therefore contains the prefix '​pr'​ and code '​101',​ resulting in UID pr:101. +  * The UIDs of new user objects ​shall be distinguished from the numeric UIDs that are standard in Gellish. Users can make their own UIDs by using a prefixfollowed by a colon (:), followed by free codes. In this example ​column 3 with Column ID 2, containing the UIDs of the left hand objects ​therefore contains the prefix '​pr'​ and code '​101' ​for The Euromast, resulting in UID pr:​101 ​as the unique identifier of The Euromast
-  * The UID of an idea is intended for being used for making statements about the expression as a whole.+  * The UID of an idea is intended for being used for making statements about the expression as a whole. A name for the idea is usually not applicable. Therefore the column for those names is not included here.
   * An '​assertion'​ is a standard kind of intention with the Gellish UID 970025.   * An '​assertion'​ is a standard kind of intention with the Gellish UID 970025.
   * The Euromast and Rotterdam do not appear in the Gellish Dictionary (assumed), thus the user can allocate his own UIDs for those concepts.   * The Euromast and Rotterdam do not appear in the Gellish Dictionary (assumed), thus the user can allocate his own UIDs for those concepts.
Line 20: Line 34:
  
 === Multi language support === === Multi language support ===
-There is a separate pair of columns available for specifying the UID and name of the language of the //name of the left hand object// ​on each row. This enables ​to use various languages in the expressions in one table, including the specification that term is a translation of another term for the same concept.+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: 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 ^ ^ 54 ^ 31 ^ 101 ^ 910038 ^ 3 ^ 201 ^
Line 33: Line 47:
 | PC |is an abbreviation of|personal computer| | PC |is an abbreviation of|personal computer|
  
-=== Homonyms ​(language communities) ​=== +=== 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 those 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 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. ​This is illustrated in the following core table:+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 ^ ^ 16 ^ 101 ^ 3 ^ 201 ^ 4 ^
 ^Language community^Name of left hand object ^Name of kind of relation^Name of right hand object^Textual definition^ ^Language community^Name of left hand object ^Name of kind of relation^Name of right hand object^Textual definition^
Line 41: Line 55:
  
 === Contextual facts === === Contextual facts ===
-Other columns are available for expression of contextual facts, such as status, date of creation, ​author, etc. Those columns can be added depending in the requirements of the user by selecting them from a list of available columns. ​The columns may be arranged in any order that is convenient for the user. Multiple tables can be combined and different tables may consist of different collections of columns. This is described in detail in the document [[http://​www.gellish.net/​downloads/​gellish-syntax-and-contextual-facts-definition-of-universal-semantic-databases-and-data-exchange-messages.html|'​The Gellish Syntax and 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 [[http://​www.gellish.net/​downloads/​gellish-syntax-and-contextual-facts-definition-of-universal-semantic-databases-and-data-exchange-messages.html|'​The Gellish Syntax and contextual facts'​]] ​ \\
  
 === Header rows === === Header rows ===
Line 47: Line 62:
 The first header row contains the following fields: The first header row contains the following fields:
 ^Gellish^//​English//​^Version^//​version code//​^//​date of release//​^//​name or category of expressions//​^//​file name//^ ^Gellish^//​English//​^Version^//​version code//​^//​date of release//​^//​name or category of expressions//​^//​file name//^
-followed by an optional sequence of name based parameter names and values:+followed ​on the same row by an optional sequence of name based parameter names and values:
 ^Lower_obj_uid=n^Upper_obj_uid=n^Lower_rel_uid=n^Upper_rel_uid=n^Prefix=prefix^ref_iris=IRIs^ ^Lower_obj_uid=n^Upper_obj_uid=n^Lower_rel_uid=n^Upper_rel_uid=n^Prefix=prefix^ref_iris=IRIs^
 Notes: Notes:
gellish_expression_format.txt · Last modified: 2019/09/13 16:15 by andries