# Kelp Query Language (KelpQL)

KelpQL is a powerful and intuitive JSON query language. It is based on and inspired by JMESPath and Lodash. You can use it to apply transformations to data events passing between components. KelpQL helps you easily transform and extract specific data from JSON messages. This makes it easier to work with arbitrary data structures and tailor components together.

This section describes the KelpQL specification and all of the 293 supported functions.

If you need a basic introduction to the KelpQL language, please refer to the KelpQL Tutorial and the KelpQL Playground, which are full of examples.

## 📄️ Specification

KelpQL implementation based on JMESPath, but with its own unique features and modifications. This document describes the specifications for KelpQL and is based on the original JMESPath specification.

## 📄️ Array functions

Perform various traversal and mutation operations with arrays.

## 📄️ Collection functions

Manipulate different collections.

## 📄️ Date functions

Calculate and manipulate dates and time.

## 📄️ Lang functions

General purpose functions.

## 📄️ Math functions

Perform mathematical calculations.

## 📄️ Number functions

Manipulate numbers.

## 📄️ Object functions

Perform various manipulation and mutation operations with objects.

## 📄️ String functions

Manipulate strings.

## 📄️ Util functions

Various utility functions.