Assistive Query Building (A-QuB), is a fully functional web platform that facilitates the exploration, discovery and management of semantic metadata for both novice and expert users who wish to execute complex queries. It provides an intuitive, user friendly environment that is highly configurable, making it appropriate for various domains, still being agnostic of the underlying conceptual model.
A-QuB does not only aim at offering (another) simple query interface for providing access to the underlying metadata, hiding the complexity of writing expressive SPARQL queries. Although the look and feel resembles similar query building systems with the goal of reducing the learning curve for the novice user, the features incorporated are based on a thorough analysis of the requirements of existing VREs and Research Infrastructures (RIs), offering a repertoire of solutions for various beneficiaries. Overall, the goal is to support both
A-QuB offers an experimental metadata catalogue containing metadata from affiliated RIs. Imagine a user searching for the projects involving a researcher named Jeremy, whose last name cannot be recalled. The only information is that Jeremy was member of a health organization located around central Europe between 2010 and 2015, and that the metadata for these projects can be found in the certain VREs. Apparently, apart from its simplicity for demonstration purposes, this query is rather vague, calling for some assistance by the system, in order not to overwhelm the user with results.
One key characteristic of A-QuB is that it dynamically executes sub-queries and presents partial results on-the-fly, while the user builds her query. The goal is twofold. On the one hand, it helps exploration by presenting results and allowing the user to limit the scope of the query. For instance, once the user finds the Jeremy he/she is looking for while adding filters, he/she can click to select the appropriate instance, without having to re-execute the query from scratch. On the other hand, it helps avoid meaningless queries that return no results. This is achieved by transparently altering the options available during the query building process, eliminating choices that can lead to an empty search space.
A-QuB offers a combination of different ways for searching relevant metadata within the same query. It enables the user to compose queries using keyword search (a person named Jeremy), entity-based search (an entity “Person” with a relation “is member of” on entity “Organization”), time range-queries, if supported by the metadata (the “is member of" relation is restricted between 2010 and 2015), filter-based search (the filter “a project has contact person Jeremy” and the filter “a person is member of an organization unit” are nested conjunctive filters), or geo-spatial queries (the user can interact with a map, in order to select a region in central Europe or give coordinates).
Filter-based search occurs based on an intuitive interaction model and may involve conjunctive and disjunctive nested queries. As excessive use of nested filters may lead to difficult to comprehend queries, there is an option to limit the depth and/or width of filters.
Geo-spatial queries are constructed with the help of an interactive map, offering most of the helpful functionalities that one expects to find in similar designs, such as searching by toponyms or geographical regions, by selecting specific instances to be included in the query etc. Note that in most existing systems, map-based search is a standalone feature, whereas in A-QuB it is incorporated as a partial step in the construction of a more general query.
The platform also gives the user the ability to store queries for later use. This is a handy option, enabling the retrieval of complex queries that can be used as templates for constructing competency queries with multiple filters or for making minor adaptations to complex exploration tasks.
After executing a query, the results can be examined through an internal resolver, allowing simple navigation from any instance of the targeted entity to any of the instances of the related entities. In that way, end users can even continue their discovery after the results are retrieved. For instance, in the running example, the user can explore more information about Jeremy from the returned results, in order to make sure this is the person originally intended.
Finally, the platform provides a number of peripheral functionalities that complement its operation. An authentication mechanism is used for granting access to the end users, while Role-Based Access Control ensures that user actions are regulated according to their credentials determined through their roles. The import of metadata is also supported, coupling the process with the acquisition of relevant provenance information for facilitating trust and versioning. And, of course, the platform is configurable on many different levels, based on a specialized dashboard, in order to enhance flexibility, robustness and simplicity in integrating A-QuB on different VREs.
A-QuB is a modern web platform. It is implemented based on the powerful combination of Spring Boot at the back-end, and the MVC AngularJS framework at the front-end, and is executed from the command line as a standalone Maven embedding a server container (Jetty by default, or Tomcat). As a result, it does not require any prior installed software, and it is portable and easy to deploy.
The back-end, provides all microservices to be called by the front-end. An Intermediate (H2) database is used for persisting all user related information. The restful metadata services are used to serve any metadata management needs. These are external web services classified into Query Services and Import/Export Services, which are applied on the Metadata Repository (Virtuoso Triple store). Finally, the URI Resolver is a standalone web system that retrieves all the incoming and outgoing links of the input URI, by execute queries on the Metadata Repository.