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
gellish_expression_format [2018/10/30 20:18]
andries
gellish_expression_format [2019/09/13 16:15]
andries Language independency clarified
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 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 columns may be arranged in any order that is convenient for the user. The content of the above table is 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:+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 dependentHowever, 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'​: 
 +^Gellish^Language=English^Prefix=pr^ ^ ^ ^
 ^ 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 48: Line 63:
 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