The Advanced Query Builder is the component responsible for allowing its users to explore the CYBELE datasets, combine them and express complex queries on them. The service offers a user environment through which the user can discover the available datasets of the CYBELE platform. Thanks to its existence, the user is provided with the ability to create custom queries, through an intuitive graphical interface with rich expressive capabilities. One of the component’s strengths is the use of metadata provided in order to ease and optimize the processes of designing queries, interlinking data from distinct datasets. The purpose of the Advanced Query Builder is to be simple to use, yet powerful enough in order to be able to describe the vast majority of queries that can be expected. Users unfamiliar with formal query languages (i.e. SQL), without any knowledge about the storage technology or the structure of the underlying data should still be able to describe complex queries on top of multiple datasets. The back-end service of the Advanced Query Builder offers the ability to automatically translate the user selection into the proper query statement that can be executed to the database solution that is used to store the data.
Collection and Process of Metadata
The Advanced Query Builder, in order to be able to create queries, needs to know information about the available datasets that have been checked-in and stored at the CYBELE datastore. This kind of information is obtained through the interaction of the Advanced Query Builder with the Semantic Alignment & Enrichment module. The interaction is performed by triggering a request to an API offered by the Semantic Alignment & Enrichment module, that provides a response containing a list of the available datasets, additional information/metadata about them and information about their variables to be queried. Through this process, the Advanced Query Builder is always aware of the stored datasets at the respective deployment, after completing the data check-in.
Data Exploration and Query Execution
The end-user environment is designed in such way so as to be user-friendly and easy-to-use. The main workbench is divided into two sections, one that contains the user selection that defines what data should be obtained and another one that displays the results after a query execution. On the left panel, the user can find all the different operations that he/she can perform to build a query. It contains three main tabs for the different operations, The “VARIABLES” tab that contains the variables that are included in the query, the “FILTERS” tab where the user can define filters to narrow down the query results and the “OPERATIONS” tab that contains some extra operations that can applied on the query, like ordering, grouping and defining different spatial or temporal resolutions.
Figure 1: Selecting datasets and variables
Query Management and Interconnection with Other Tools
The queries that a user chooses to save through the Advanced Query Builder are automatically made available for use through other tools of the CYBELE platform, such as the Experiment Composition Environment or the Visualisation and Reporting Layer. This interconnection is realised through the REST API that is offered by the Advanced Query Builder. Through its endpoints, the other tools can obtain the list of a user’s saved queries, get more detailed information about each query, like the creation and update dates and the included variables, and also get the proper SQL statements of each query, as generated in accordance with the storage technology.
The Advanced Query Builder also offers an environment for the administrator of the platform in order to directly manage, if needed, some information of the service, such as the available datasets, their metadata and more.
Figure 2: Administration Environment
Latest updates of the Advanced Query Builder environment and functionalities include:
· The automatic collection of the available datasets and metadata coming from the CYBELE metadata repository
· The exploitation of metadata to facilitate the searching for specific datasets
· A REST API for the interconnection with CYBELE’s Visualisation Engine and Experiment Composer Environment
· Integration with CYBELE’s Brokerage Engine for controlling user access to private datasets
The code of the Advanced Query Builder is stored at the CYBELE GitLab repository along with the code of the rest of the platform’s services. It can be accessed at the following url: