Skip to content

Roadmap

vdestraitt edited this page Jan 23, 2019 · 2 revisions

Introduction

The ambition is to offer an open source visual query builder, i.e. a graphical way of building query through the manipulation of objects such as a data table and pipeline steps.

This query builder aims to be easily plugged to any database system, being able to generate queries in any query language.

This project was propelled by Toucan Toco, and derives from the need of offering an intuitive way to manipulate data in its data visualisation software.

The visual query builder is composed of two main graphical components: the pipeline showing the series of steps applied to the data in a chronological order, and the table view showing the data resulting from the transformations. Note that it is a primary focus to make the table view interactive i.e. that data can be manipulated directly from the table view, so that there is a bidirectional binding between the two components: manipulating the table impacts the pipeline, and vice versa.

As the project originates from the Toucan Toco environment, the first development steps focus on being able to manage a combination of Mongo aggregation pipeline steps and python "post-query" transformations historically implemented by the company.

V0:

V0 focuses on the pipeline component, being able to translate an array of Mongo aggregation pipeline steps in visual components showing the series of steps.

The objective for Toucan Toco is to be able to integrate this light component in its front-end, next to its already existing table view.

Note that the Mongo aggregation pipelines are generated in the Toucan Toco software either manually by editing the query in an editor, or automatically through the manipulation of the table view (e.g. filtering a column). So the primary need here is to be able to manage the mongo steps as input and to render them visually.

V1:

Table view integration Python "postprocess"

V2:

Intermediate unified query language to be translated in any query language

Clone this wiki locally