Our first application, the IEML editor, will be used to build data models (or taxonomies, semantic networks, ontologies, knowledge graphs…). There are two main steps to writing an IEML data model.
- The generation of nodes (semantic addresses of data)
- The programming of links (semantic relations) between nodes
Both nodes and links are IEML sentences translated in natural languages, and both can be created automatically.
Nodes generation
- We list the IEML words (with their aliases in natural languages) that will be used in the model.
- We generate IEML sentences, with their aliases in LN, by means of sentence paradigms.
Links programming
Links are woven on a set of nodes using a program.
A program is a set of linking functions.
Each linking function is divided into three main parts
- Variables
- Conditions
- Relation
Variables definition
A variable A, B, C… is defined by a domain of variation, which is a subset of the Model’s nodes. A domain is written as a sentence with some variable syntactic places.
There are two possibilities for each syntactic place in a domain:
- A substitution group {x; y; z}
- A constant x (the constant can be « always empty », denoted E:)
Defining the relation
A relation is written as an IEML sentence containing the variables in reference position at certain roles. Relations are therefore n-ary (not only binary). For each binary relation between two variables in the set of connected variables, we specify its mathematical nature as well as the equivalent and reciprocal relations.
To automatically generate relationships between concepts (words or sentences) in IEML, we proceed in two steps: (1) writing a link, which represents a virtual relationship, and (2) formulating a linking function that will create actual relationships between specified conceptual nodes. The link, which can be applied to many nodes, simply lists the « arguments » (capital letters like A, B… prefixed with a $) and places them in the sentence in a reference position. The link can be unary, binary, ternary or more.
For example, the link below is built to join three nodes. It is called « median concept » and, thanks to its translation format (« template »), it will automatically build sentences of the type:
– « at the center » is an intermediate between « left » and « right ».
– « at the same level » is an intermediate between « above » and « below », etc.
@link
args:($A, $B, $C)
fr:concept médian
en:median concept
template-fr:$B est un intermédiaire entre $A et $C
template-en:$B is a mediator between $A and $C
(
0 #to act as an intermediary,
1 #word <$B>,
6 *between &and [#word <$A> #word <$C>]
).
The function that updates the link mentions :
– the domain of variation of the arguments (usually a paradigm) ;
– the conditions for establishing relations in terms of the contents of syntagmatic roles. The elementary conditions can be connected by means of NOT, AND and OR (the Boolean connectors).
The creation of relations between sentences obeys the same principles, namely, in a first step, the writing of a linking sentence with arguments in reference position and, in a second step, the writing of functions that specify (a) the domains of variation of the arguments – usually paradigms – and (b) the conditions for the establishment of relations in terms of the contents of the syntagmatic roles.