Why We Created Our Own Query Language

ThinkData Works
ThinkData Works
Published in
3 min readAug 8, 2019

Namara is a platform for accessing external data using a standardized format and familiar API.

Our first iteration of this involved our Data API — an endpoint for viewing, aggregating, filtering, and exporting data sets.

Since then, both the platform and the data on it have changed.

We value the notion that data is not meant to live in isolation, and that new insights come from the freedom to mix data sets together. If we wanted the Namara catalog to offer these same insights, then we needed to enable users to start blending data sets together on their terms.

We are happy to announce a new platform feature which we call NiQL (Namara.io Query Language — think ‘nickel,’ not ‘nyquil’).

This is a SQL-like query language that will allow users to browse the Namara catalog as though they were submitting queries to a SQL database. Like our Data API, users query with their Namara API keys or organization tokens to filter, aggregate, and export data. NiQL makes all of these features possible on joined data sets.

Creating NiQL was important for us. Our company was built on the idea that data should be easily accessible — that accessibility needs to reach as far as possible in order for our users to get the most out of our platform. The NiQL Query API supports a marked-up SQL syntax, so database users should feel right at home. Like the Data API, the Query API supports CSV, JSON, and GeoJSON, so users can operate on results in their preferred format. The Query API features support standard SQL operations as well as expose a wealth of PostGIS geospatial functionality.

The ability to not just access but manipulate data using a query that’s both familiar and formidable opens up new possibilities for our users, and means our data is as flexible in our app as it is outside of it.

The Namara API documentation

Please check out our documentation on the Query API to:

  • view how to get up and running with the Namara API;
  • learn how to access your API keys and other access tokens, as well as use them to make requests;
  • view the NiQL Query API functionality or see how to interact with our previous Data API; and
  • discover the expressiveness and functionality of NiQL;

The public Namara API will enforce some limitations on query features in terms of number of subselects, number of permissible joins, and limit result maximums per query. Please get in touch with us if you are interested in advanced querying capabilities. We will be rolling this feature out to the whole catalog over time. If you receive an error about a certain data set that does not yet support the Query API functionality, please get in touch so that we can activate it for you.

Interested in adding support for any features? Having issues connecting? Finding bugs? Don’t be afraid to reach out to us, here on our contact page or with the live chat inside of Namara.

--

--

ThinkData Works
ThinkData Works

Toronto-based Startup easing access to external data for everyone from civic hackers to business leaders