Community
Documentation

RBQL - RainBow Query Language

RBQL is a technology which provides SQL-like language that supports SELECT and UPDATE queries. It is an ideal tool for data-transformation and data-analysis tasks on small and medium-sized data sets. RBQL query is executed using one of the backend languages. Currently "Python" and "Javascript" are available, but more backend languages can be added in the future. The first word "Rainbow" in RBQL reflects it's diverse multi-language nature. RBQL multi-backend design alows usage of non-SQL expressions inside SQL statements, e.g for JavaScript backend:

select a1, a2 * 10 where a1 == "Buy" && a4.indexOf('oil') != -1 order by parseInt(a2), a4 limit 100


Combination of SQL statements and expressions from a different language makes RBQL very easy to learn and use: you just need basic understanding of SQL and one of the available general-purpose backend languages. So there is a high chance that you alread know RBQL!

RBQL has minimalistic modular design and zero dependencies, the only thing it needs is presence of the backend language interpreter/compiler. To use RBQL with Python you need to have python installed in your system, and to use RBQL with JavaScript you need Node.js
RBQL is available on the following platforms:
Below is an example of RBQL usage in Rainbow CSV Vim plugin:
RBQL Vim screencast