This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
executing_the_communicator [2017/11/15 11:15] 127.0.0.1 external edit |
executing_the_communicator [2018/02/02 22:51] (current) andries Example of a road network introduced |
||
---|---|---|---|
Line 4: | Line 4: | ||
{{ ::main_window-2.jpg?nolink&600 |Main Window}}\\ | {{ ::main_window-2.jpg?nolink&600 |Main Window}}\\ | ||
- | 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 that 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 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. | The green area will be used for the display of various query result views. | ||
Line 10: | Line 10: | ||
==== DB Admin ==== | ==== DB Admin ==== | ||
=== New network === | === New network === | ||
- | If the Gel_net_db database is not yet available, then a new database can be created via selecting the option DB Admin + New network. | + | 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 will read the files that are specified in Bootstrapping.py\\ | + | 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 database. | + | 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. |
=== Save net === | === Save net === | ||
- | After completion of the import of files, the option 'Save net' can be used for exporting the in-memory database storing the exported network in a new Gel_net_db database on a persistent storage medium as a binary Python Pickle file.\\ | + | 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.\\ |
==== Read file ==== | ==== Read file ==== | ||
- | Additional Gellish files can be imported via the option 'Read file'. This should be done after the automatic import or after import via the 'DB Admin'+ 'New network' option that imports the (base) language definition.\\ | + | 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.\\ | 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 (NOT YET FULLY IMPLEMENTED at 24 October 2017). A new version of the file, including the new UIDs is created and can be stored on persistent storage, if required). | + | 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.\\ | 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.\\ | + | 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.\\ | 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, first save a copy of the Gel_net_db database under a different name. | + | 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. |
- | ==== Query ==== | + | ==== Search and Query ==== |
- | The Query button will open a Query Window as follows: | + | 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. |
- | {{ ::query_window.jpg?nolink&600 |Query Window}}\\ | + | |
+ | ==== Search ==== | ||
+ | The 'Search' button will open a Search Window as follows: | ||
+ | {{::search_window.jpg?400|Search Window}}\\ | ||
=== Reply language === | === Reply language === | ||
Line 36: | Line 40: | ||
=== Left hand term === | === Left hand term === | ||
- | The left hand term field of the Query Window (initially filled with a question mark (?)) can be used to enter 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.\\ | + | 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).\\ | This information enables to distinguish between homonyms (the same term with a different UID) and it also shows possible synonyms (having the same UID).\\ | ||
- | === Dictionary search === | + | 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.\\ | 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.\\ | ||
- | === Model views === | + | 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 [[display_product_views|the following chapter]]. |
- | or | + | |
- | === Query spec === | + | |
- | After selection of the candidate left hand term in the Query Window there are several options to proceed:\\ | + | |
- | - Pressing the '**Confirm**' button will execute the Query and present several product or process **model views** under different tag names in the Main Window. Those views enable the further detailed selection of information. | + | |
- | - Entering additional [[Query_spec|query specifications and conditions]]. | + | |
=== Case Sensitive and First Char Match === | === Case Sensitive and First Char Match === | ||
Line 52: | Line 52: | ||
The check button 'First Char Match' (when selected) indicates that the candidate strings should start with the same characters as the search string.\\ | The check button 'First Char Match' (when selected) indicates that the candidate strings should start with the same characters as the search string.\\ | ||
- | ==== Modify ==== | + | ==== Query ==== |
- | This option is not implemented yet.\\ | + | The 'Query' button will open a Query Window as follows: |
- | It is meant for editing a file with Gellish Expressions.\\ | + | {{:query_window.jpg?400|Query Window}}\\ |
- | Modification of a model is implemented (partly) by **[[inserting_in_a_product_view|inserting in a Product View]]**. | + | 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. |
==== Stop ==== | ==== Stop ==== | ||
The 'Stop' option terminates the execution of the Gellish Communicator program. | The 'Stop' option terminates the execution of the Gellish Communicator program. |