Gellish Communicator - User Manual
Table of content:
Gellish Communicator - User Manual
Table of content:
When the Communicator.py module is executed it automatically imports the Formal Language definition database Gel_net_db, when available. Then in the web version it displays a login window. Please login as a Guest by clicking the OK button. Then a window with default settings is displayed. Accept those settings by clicking the OK button. Then the Main Window will be displayed as follows:
The GUI language field can be used for switching the language of the user interface (the GUI language) between English and Nederlands (Dutch). The GUI language is initially set to English. The GUI language is independent of the language of the information models (the modeling language) and also independent of the language in which the query results are presented and exported (the reply language). The modeling language is determined by the Gellish expressions themselves. The reply language is by default the same as the GUI language, but it can be set in the Query Window.
The green area will be used for the display of various query result views.
If an update of the Gel_net_db database is available, then a new database can be created via selecting the option DB Admin + New network.
This command will cause reading the files that are specified in Bootstrapping.py
The expressions in the files will be verified and the accepted expressions are integrated in a network of related things in an in-memory semantic network database.
After completion of the import of files, the option 'Save net' can be used for exporting the in-memory database and storing the exported network in a new Gel_net_db database on a persistent storage medium as a binary Python Pickle file.
Preparing Gellish expressions shall be done in one of the Gellish formalized languages conform the methodology that is described in the book 'Semantic Modeling Methodology'. As demonstrator, the user can import the 'Semantic Model of a road network-UTF-8' file that is available via the website, together with a descriptive document.
Gellish files can be imported via the option 'Read file'. Normally the program is started with the automatic import of the language definition. Thus reading files will automatically imply an addition to and integration with the existing language definition. Exceptionally, a manual start of the import of the (base) language definition shall be executed first via the 'DB Admin'+ 'New network' option.
A Gellish file should be compliant with the Gellish Expression Format as a CSV or JSON file and be expressed in Unicode UTF-8 encoding.
If there are missing UIDs for the objects in the file, new UIDs will be added in the range that is indicated on the first line or in a default range. Optionally the UIDs are preceded by a user specified prefix. If a file type is 'mapping', then a new version of the file, including the new UIDs is created. The content of read files is added to the semantic network. The extended network can be stored on persistent storage, if required (via DB Admin + Save net).
After selection of the 'Read file' button, a new window will be opened that enables selection of one or more files.
Imported files will be verified and the correct expressions will be added as extensions to the database network in memory. The extensions are not automatically stored in the Gel_net_db database on a persistent storage medium. This enables that the entered files are modified after import and it enables re-starting the program and the re-reading the modified files, and thus recombining the content of the files with the language definition database.
If it is required to extent the database on a persistent storage medium, then the 'Save' button under the 'DB Admin' option should be used.
Note that this will overwrite the Gel_net_db database. Thus, if you want to keep the database, first save a copy of the Gel_net_db database under a different name.
There are two different ways for searching. The 'Search' button enables an easy search by the name of something. The 'Query' button allows for the specification of an expression and accompanying constraints. However, the simple search may also result in a complex query, as follows: the search may find individual things. Then the user can select an individual thing and start an automatic process of creating a complex query for kinds of things on the basis of the characteristics of the selected individual thing. This will be explained in more detail below.
At the top right corner of the Query Window the reply language can be set. The reply language is the language in which the query results will be presented in the various views. The reply language may differ from the GUI language as set on the Main Window. By default the reply language is set the same as the GUI language. Queries are expected to be formulated in the GUI language.
If the reply language is set to a particular language, say German, then the views of the resulting models will depend on the availability and completeness of the dictionary in that language. The terms in the views will be primarily selected from the 'international' dictionary (with names that are language independent), then from the specified language (say German) and if not yet found, then terms will be displayed in English.
The left hand term field of the Query Window (initially filled with a question mark (?)) can be used to enter a search string or a combination of strings that are separated by a blank space. The list of found candidates strings is displayed in a lower box under the header 'Select one of the following options'. The list of candidates shows not only the candidate terms, but also the UIDs of the objects for which the strings are names, their 'Kind' (being a name of a classifier or a supertype of the candidate object), the 'language community' of the candidate terms and the language of the terms.
This information enables to distinguish between homonyms (the same term with a different UID) and it also shows possible synonyms (having the same UID).
When the 'Semantic model of a road network' is imported via the read file option, then it is recommended to try searching for concepts in that model, for example search for N51 or search for 'road'.
Selection of the required candidate by a double click will show the full name in the 'Left hand term' field, its UID in the UID field and a textual definition in the 'Def. of left hand object' field.
After selecting the candidate left hand term, pressing the 'Confirm' button starts a process of generating various model views that are presented under different tag names in the Main Window. Those views are presentations of different subsets of data that result from the same search. The kinds of views depend on the kind of found object. Each view enables selection of an 'object in focus' (a line) and displaying further detailed information about the selected object.The various views are described in the following chapter.
The check button 'Case Sensitive' in the Query Window (when selected) indicates that the 'Left hand term' search string is case sensitive.
The check button 'First Char Match' (when selected) indicates that the candidate strings should start with the same characters as the search string.
The 'Query' button will open a Query Window as follows:
The query window is an extension of the Search Window. It provides the specification of an expression for search on particular kinds of relations and the specification of additional constraints.
The 'Stop' option terminates the execution of the Gellish Communicator program.