Answering complex queries with easy-to-use graphical interface
The objectives of lens2odata are to provide a simple method of OData query construction driven by the metadata provide by OData services
- Provides metamodel-driven OData query construction
- Eliminates any configuration required to expose any OData service to lens2odata
- Allows searches to be saved and rerun
- Allows ease of use by casual users
- Allows queries to be pinned to ‘Lens’ dashboard panels
- Provides simple-to-use dashboard
- Searches can be parameterized
- Allows for easy configuration of queries
- Compatible with odata2sparql, a service that exposes any triple store as an OData service
- Provides a Query-Answering-over-Linked-Data (QALD) interface to any linked data.
Concept of Operation
Lens2odata consists of 3 primary pages with which users interact:
- Query: is the page in which users can
- add new OData services,
- compose queries,
- save those queries for reuse, and
- pin the queries as result fragments on a Lens
- Search: is the page in which users can
- select an existing query, and execute that query to explore the results
- from where they can navigate to Lens pages for specific entities or collections of entities
- Lens: are the pages, composed by users, which display fragments of details, optionally grouped into tabs, about a specific entity or collections of entities. Fragments can either be forms or tables. Other fragment layouts are being added.
Navigation between these pages are shown in the diagram below. Specifically these navigation paths are:
- Toggle between Search and Query to explore how the results would appear to a casual user
- Navigate to a concept’s Lens from Query preview hyperlinks
- Navigate to a concept’s Lens from Search results’ hyperlinks
Figure 1: lens2odata Navigation
Quick Start
Login to lens2odata
- Navigate to the Url provided by your administrator for lens2odata, http://<server>/lens2odata
- Enter users name and password
- Since no service has been previously setup, you will be prompted to enter the service display name and Url of that service. Check to use default proxy if not a local service
- After ‘save’, as long as your service was validated, you will immediately enter the Query page with a new query initialized with the first collection found in the service
- Execute ‘Preview’ to populate the Results Preview with a few values from the collection:
- You are now ready to:
- View the query via Search
- Explore the results further via Lens
- Expand the query with more values and filters
Let’s explore Search first of all
- Click on at the top-left of the Query page to navigate to the search page:
Search is the page that general users will access. From this page they can select a predefined query, and execute that query to start their discovery journey.
- Click on to populate the results form:
This shows more details than the Query page because, in the absence of any specific definition about what details of the instances of collections should be displayed, search will display whatever it can find.
- Click on the Url “Categories(1)” to navigate to the Lens for that type of instance.
The Lens page is an information dashboard that can be constructed for any type of instance that is discovered. In this case, since no specific lens page has been setup for ‘Category’ types of instance, a default page has been used with a single tab.
- There is another Uri on this page “Products”. Navigating this link will take you to a similar lens page, but one for a collection of instances:
- This Lens for Products shows a list of instances of products. The first column is a Uri to the lens page for the individual product. Click one to navigate to its Lens:
- You are now discovering information by navigating through the data, having started by querying a collection. Next steps would be:
- The original query was not particularly specific. Lens2odata allows that query to be further refined by specifying which attributes should be displayed, adding navigation properties to other entities, adding filters to the query to restrict results or even parameterizing the query so that a user can execute the saved query, modifying the results just by supplying parameter values.
- The Lens dashboard page can be further refined by adding more fragments of information on a tab, or adding more tabs to the lens page to logically group the information.
Availability of Lens2OData
A versions of Lens2OData is available on GitHub at com.inova8.lens2odata