This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
development_of_gellish_enabled_software [2018/08/06 22:08] andries Reference application text added |
development_of_gellish_enabled_software [2018/08/06 23:32] andries Paragraph on semantic network added |
||
---|---|---|---|
Line 1: | Line 1: | ||
====== Developing Gellish enabled software ====== | ====== Developing Gellish enabled software ====== | ||
- | ===== 1. The Taxonomic Dictionary as a language defining ontology ===== | ||
- | The meaning of each Gellish expression, such as 'A <is located in> B', is primarily determined by the meaning of the kind of relation (in this case '<is located in>') that classifies the individual 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. This is represented in the Universal Semantic Patterns that indicate that for individual things there are classification relations required in order to relate those individual things to concepts that are defined in the taxonomic dictionary. For example, the Universal Semantic Pattern expresses that the relations A <is classified as a> city and B <is classified as a> country are required to enable interpreting the expression. Application software that is expected to interpret expressions in a Gellish formal language should therefore import the Gellish Taxonomic Dictionary, at least including the base ontology section. 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. | + | ===== 1. The Communicator reference application ===== |
- | The collection of statements in the upper ontology (the expressions in base ontology section) defines the standard kinds of relations of Gellish. Those kinds of relations define the interpretation rules for the language. As the upper ontology is also expressed in Gellish, those rules are also the rules to interpret the language definition itself. To interpret the base ontology itself there are only a few standard kinds of relations required: they form the bootstrapping relation types. Those relation types are used to interpret each Gellish Expression, including the statements that are expressed in the base ontology itself. | + | 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 read, searched, interpreted, presented as well as generated. It demonstrates capabilities of the language, provides testing of correctness of expressions and can be used as a 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 Interpreting relations ==== | + | ===== 2. Interpreting expressions ===== |
- | Each kind of relation has a name and is defined by a <is a kind of> relation 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 a 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. | + | The collection of statements in the upper ontology (the expressions in base ontology section) defines 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 language. As the language definition is also expressed in Gellish, those rules are also the rules to interpret the language definition itself. To interpret the base language definition (the base ontology) itself there are only a few standard kinds of relations required: they form the bootstrapping kinds of relations. Those 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. |
+ | |||
+ | 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 a 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. | ||
+ | |||
+ | ==== 2.1 Interpreting relations ==== | ||
+ | |||
+ | 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 a 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. | ||
The definition of kinds of relations thus define which kinds of things may play the first and second kinds of roles. This 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. | The definition of kinds of relations thus define which kinds of things may play the first and second kinds of roles. This 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. | ||
Line 15: | Line 21: | ||
Sometimes it is not specified for a 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. | Sometimes it is not specified for a 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. | ||
- | ===== 2. Reference application ===== | + | ==== 2.2 Semantic networks ==== |
- | 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 read, searched, interpreted, presented as well as generated. It demonstrates capabilities of the language, provides testing of correctness of expressions and can be used as a basis for retrieval of source code. It also provides examples of information models that can be read by the software and searched through. | + | 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 ====== | ===== 3. Certification of software ====== | ||
- | Software that is able to import and interpret Gellish expressions in a correct way and is also able to create and export correct Gellish expressions can be certified by the !Gellish.net organization or an approved certifying authority. | + | 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]] | //**Continue with**// [[gellish_databases|Gellish Database]] |