User Tools

Site Tools


development_of_gellish_enabled_software

Differences

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

Link to this comparison view

Next revision
Previous revision
development_of_gellish_enabled_software [2011/10/20 22:53]
peter created
development_of_gellish_enabled_software [2018/08/06 23:32] (current)
andries Paragraph on semantic network added
Line 1: Line 1:
-===== Developing Gellish enabled software ===== +====== Developing Gellish enabled software ======
-===== 1. The Gellish Dictionary as a basis =====+
  
-Application software developers that intend to use [[http://​en.wikipedia.org/​wiki/​Gellish_English|Gellish English]] should import and combine combine the various parts of the Gellish Dictionary (at least including the TOPini part) into one integrated [[:Gellish Table|Gellish Database]], whereas lines with status '​ignore'​ or '​inherited'​ may be ignored. The columns in the Gellish Database table are defined in the wiki page [[:Gellish Table|Gellish Database]] and in the document [[http://​sourceforge.net/​project/​showfiles.php?​group_id=28353|'​The Gellish Database Definition'​]].+===== 1. The Communicator reference application =====
  
-The collection of upper ontological facts (the facts in the TOPini tabledefines ​the standard relation types of Gellish. Those relation types are used to interpret ​the expressions of facts in each Gellish ​Database table, including the facts that are expressed in the TOPini part itself. This means that the Gellish ​TOPini table defines the Gellish interpretation ruleswhereas those rules are also the rules to interpret itselfThe TOPini table itself uses only few standard relation types: ​the starter set.+A project on GitHub ​([[www.github.com/​AndriesSHP/​Gellish]]provides ​the source code of the Gellish ​Communicator software ​that demonstrates how Gellish ​expressions can be readsearched, interpreted,​ presented as well as generatedIt demonstrates capabilities of the language, provides testing of correctness of expressions and can be used as basis for retrieval of source code. It also provides examples of information models that can be read by the software and searched through.
  
-== 1.1 Relation type definitions ​==+===== 2Interpreting expressions =====
  
-Each relation type has a name and is defined by a <is a specialization ​of> relation with its direct supertype relation(s). On separate lines it is specified for each relation type that it requires two roles: a first role and a second role. For each role it is specified in another fact which kind of thing can fulfil such a role. Nearly each relation type has also a synonym name that is a Gellish ​phrase ​and an inverse Gellish phrase. Those phrases ​are natural language expressions for the relation type. The synonym phrase uses a first role player at the left hand side of the phrase (in English)The inverse role uses a second role player at the left hand side of the phrase (in English)For example: ​the subtype-supertype relation ​(UID 1146is called <​specialization ​of class>. The synonym phrase is<is a specialization ​of> requires a player of its first role (subtype) at its left hand side and a player of its second role (supertype) at its right hand sideThus the expression: "house <is a specialization ​of> building"​ is a semantically correct Gellish expression according ​to the definition in TOPini. A correct inverse expression will be "​building <is a generalization ​of> house".+The collection ​of statements in the upper ontology ​(the expressions in base ontology sectiondefines the standard kinds of relations ​of Gellish and the names and phrases ​define ​the vocabulary that can be used. The definitions ​of those kinds of relations define the interpretation rules for the languageAs the language definition is also expressed in Gellish, those rules are also the rules to interpret the language definition itselfTo interpret ​the base language definition ​(the base ontologyitself there are only a few standard kinds of relations requiredthey form the bootstrapping kinds of relationsThose bootstrapping kinds of relations are used to interpret the base ontology itself, whereas ​the kinds of relations that are defined in the base ontology are used to interpret every other Gellish Expression 
  
-If for relation ​type it is not specified which kinds of roles it requires, then the roles are inherited ​from the supertype of the relation typebecause ​the relation types are arranged in a subtype-supertype ​hierarchyFor that reason ​the roles of a relation type are subtypes ​of the roles of the supertype ​of the relation ​type. And also role player ​of a particular role is a subtype ​of a role player ​of the supertype role of that particular role.+The meaning of each Gellish expression, ​for example 'A <is located in> B', is primarily determined by the meaning of the kind of relation ​(in this case denoted by the phrase <is located in>) that classifies the particular relation between the related objects (A and B). The meaning is further determined by the definition ​of the related objects. If the related objects are individual things, such as A and B in the example, then their meaning follows from their name and classification. The Universal Semantic Patterns of the Gellish Modeling Methodology indicates the requirement that for all individual things there are classification relations required that relate those individual things to concepts that are defined in the taxonomic dictionary. For example, ​from the Universal Semantic Pattern it follows that the relations 'A <is classified as a> city' and 'B <is classified as a> country'​ are required to enable interpreting the expression. Furthermore, the software should verify whether the classifying kinds, such as '​city'​ and '​country' ​are names of concepts that are properly defined at least by specializations relations that defines a concept as being a subtype ​of one or more supertype ​concepts  
 +Application software ​that is expected to interpret expressions in a Gellish formal language should therefore first import ​the Gellish Taxonomic Dictionary, at least including the base ontology section with the definitions and vocabulary ​of the standard kinds of relations and other concepts, and then use it as follows. It should search for the appropriate kind of relation (the UID) that is denoted by a standard phrase, such as in this example denoted by the phrase 'is located in'. From the taxonomy ​of relations it should be derived whether ​the kind of relation ​is relation between individual things or some other category. If A and B are individual things, as in this example, then it should be verified whether that is compatible with other relations to A and B. Furthermore,​ it should be verified whether the information model contains classification relations that classify A and B. This should be done by searching for (UIDs of) relations that are denoted by the phrase 'is classified as a' or one of its synonyms. Then the rules for interpretation can be build on the recognition ​of the (UIDs of) the kinds of relations and the taxonomy in which the classifiers of the related objects appear.
  
-The standard Gellish relation types are available also for users to express knowledge and information facts in Gellish English about any subject. Such user defined facts may also include expressions that define private extensions of the Gellish Dictionary or even private definitions of additional relation types.+==== 2.1 Interpreting relations ====
  
-The relation ​types that are defined in the TOPini table are used in the other Gellish Database tables to define concepts in the Gellish ​English Dictionary ​and they are used in various ​Gellish ​Knowledge Bases that express facts about the defined concepts. The combined other tables contains ​the definition ​of all concepts ​in the Gellish DictionaryAll those concepts are arranged as taxonomy ​(subtype-supertype ​hierarchy).+Each kind of relation ​has a name and is defined in the taxonomic dictionary by one or more <is a kind of> relations with its direct supertype kind of relation(s). On separate lines it is specified for each kind of relation that it has by definition two roles: a first role and a second role. For each role it is specified ​in another statement which kind of thing can fulfill such a role. Nearly each kind of relation is also denoted by a Gellish ​base phrase ​and an inverse ​Gellish ​phrase. Those phrases are natural language phrases ​that are synonyms for the name of the kind of relation, but extended with a reading direction of the expression. A base phrase corresponds with a first role player at the left hand side of the phrase (in English). The inverse phrase corresponds with a second role player at the right hand side of the phrase (in English). For example: ​the subtype-supertype relation (UID 1146) is called <​specialization relation between kinds>The base phrase is: <​is ​kind of>, which corresponds with a player of its first role (subtype) at its left hand side and a player of its second role (supertype) ​at its right hand side
  
-===== 2Certification ​of software ​=====+The definition of kinds of relations thus define which kinds of things may play the first and second kinds of rolesThis implies that it can be verified by software whether something that is related by a kind of relation is allowed to play the role that it plays in such a relation. Such a semantic verification is only possible when related individual things are properly classified and when kinds are properly defined as subtype of their supertype(s) in the taxonomy. 
 +For example, the <is a kind of> relation requires that the left hand object as well as the right hand object is a kind. Because '​building'​ is defined in the dictionary as a kind, software ​can conclude that '​house'​ is also a kind. Thus the expression: "house <is a kind of> building"​ is a semantically correct Gellish expression according to the definition in the base ontology. A correct inverse expression will be "​building <has as subtype> house"​. This implies that house and building may not be used in expressions where they play a role as individual things. ​
  
-Software that is able to import and interpret Gellish expressions in correct way and is also able to create and export correct Gellish expressions can be certified ​by the !GellishAtWork organization. For further information about the certification process and conditions contact ​the site administrator.+Sometimes it is not specified for kind of relation which kinds of roles it by definition has. In those cases the roles are inherited from the supertype of the kind of relation, because the kinds of relations are arranged in a subtype-supertype hierarchy. For that reason ​the roles of a kind of relation are subtypes of the roles of the supertype of the kind of relation. And also a role player of a particular role is a subtype of a role player of the supertype role of that particular role.
  
-//​**Continue with**// [[:Gellish Database]]+==== 2.2 Semantic networks ==== 
 + 
 +The software should build one integrated semantic network in which everything is an object and in which those objects are related to each other by relations that are classified by kinds of relations. Such a semantic network combines the relations that form the language definition with the various collections of relations that make up one or more information model. This enables that information and documents in the network can be queried via a specification of the characteristics of individual objects, as well as via (the characteristics of) the concepts and taxonomy of the dictionary. ​  
 + 
 +===== 3. Certification of software ====== 
 + 
 +Software that is able to import and interpret Gellish expressions in a correct way and/or is able to create and export correct Gellish expressions can be certified by the !Gellish.net organization or an approved certifying authority. For further information contact info at gellish.net 
 + 
 +//​**Continue with**// [[gellish_databases|Gellish Database]]
development_of_gellish_enabled_software.1319144007.txt.gz · Last modified: 2017/11/15 11:05 (external edit)