This is the repository for the IEML (information economy metalanguage) library.
This repository is composed of:
- the dictionary definition : all the files that defines the basic semantic units of the IEML language.
These files are located in the
definition/dictionaryfolder. - the python library : the python
iemlmodule that contains the algorithm to parse and use the IEML language. It is located in theiemlfolder. - the dictionary visualisation: the dictionary can be easily visualised by browsing the
docsfolder. The current dictionary state can be accessed at the url https://iemldev.github.io/ieml-dictionary/.
All the dictionary files in the definition/dictionary folder are written in yaml and must conform to a syntax.
The syntax is described in the file at definition/dictionary/dictionary_paradigm_schema.yaml and is expressed in the
kwalify schema syntax.
Each file from the dictionary folder defines a root paradigm.
A dictionary file is composed of multiple entries types :
- RootParadigm : the main opposition system, it implicitly defines a set of semes.
- Semes : the different positions in this RootParadigm system.
- Paradigms : additional semantic opposition systems between these semes.
Each of these entries are composed of the following fields:
- ieml : the IEML script of this entry
- translations : a french and an english translation
From these information, the function of the library are able to compute the structure of the dictionary.
To edit the dictionary, you must have the following program installed :
- python :
sudo apt install python - make :
sudo apt install make - git :
sudo apt install make
First clone this repository and create a virtual env, this has to be done only the first time :
git clone https://github.com/IEMLdev/ieml-dictionary
cd ieml-dictionary
sudo pip install virtualenv # install virtualenv command
virtualenv -ppython3.6 venv # create a virtualenv, that install python3.6 in the folder venv
source venv/bin/activate # use that newly installed python
pip install -r requirements.txt # install the project dependenciesThen to check if everything went well, run
make validateYou can use this repository to edit the dictionary.
Then you have to edit the files in the definition/dictionary folder by using a text editor.
To visualise the dictionary with your change, run:
make site-debugThis Makefile target will create a folder named docs-debug in the root folder with a dictionary website.
To navigate this website, go the following address in your browser (http://localhost:8000/)[http://localhost:8000/].
To normalize the dictionary files, run
make normalizeThis Makefile target normalize the spaces and the orders of the fields to prevent future issues with git.
You can check the validity of the dictionary files by typing in the root folder:
make validateThis Makefile target check the syntax correctness, the dictionary structure correctness and the file normalisation
correctness for git.
To publish the files to github :
git add definition/dictionary
git commit -m "Your modification description message"
git pushThe files have to be validated before being pushed.
To add a new root paradigm, you have to create a new file in the dictionary/definition folder.
By convention, the file name must be of the format {paradigm layer}_{paradigm name in english}.yaml
Then, add the following text:
RootParadigm:
ieml: "..."
translations:
fr: >
...
en: >
...
inhibitions: []Fill the ieml, fr and en field, with the IEML of the desired root paradigm, and its french and english translation.
Writing all the IEML of the semes by hand can be tedious, so there is a program to do it : save and close the file and run the following command to automatically generate the semes of this paradigm :
make expand_semesAfter that, you can fill the fr and en field of the semes.