Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/lucascompython/nanql

NANQL (Not a Normal Query Language) is yet another simple query language for json, that I made to learn better about parsers and F#. It's syntax is very declarative and easy to understand.
https://github.com/lucascompython/nanql

fsharp language query-language

Last synced: about 1 month ago
JSON representation

NANQL (Not a Normal Query Language) is yet another simple query language for json, that I made to learn better about parsers and F#. It's syntax is very declarative and easy to understand.

Awesome Lists containing this project

README

        

# NANQL (Not a Normal Query Language)

## What is NANQL?

NANQL is yet another simple (and quite normal) query language for json, that I made to learn better about parsers and F#.
It's syntax is very declarative and easy to understand.
Check the change log [here](CHANGELOG.md).

## Code Preview

```SQL
filterby Category = 'Fantasy'
orderby Rating asc
take 1
```

## How to get it

Download the binary [here](https://github.com/lucascompython/NANQL/releases).
OR
Build it

```pwsh
git clone https://github.com/lucascompython/NANQL.git
cd NANQL/NANQL
./build.ps1 -help
```

## How to use it

Check the [examples](https://github.com/lucascompython/NANQL/tree/master/Examples).

## TODOs

- [X] Add "interactive" mode
- [X] Add a binary release
- [X] Add support for building the project with powershell helper
- [ ] Add YAML support
- [ ] Documentation
- [ ] Add some more complex queries, for example let's say you have this piece of json: `[{"x": 2, "y": 0}, {"x": 3, "y": 1}, {"x": 4, "y": 1}]`, I wan't to add something like `SUM(X) WHERE Y > 0 (would equate to 7)` and `LIST(X) WHERE Y > 0 (would equate to [3,4])`

# LICENSE
This project is licensed under the GPL3 license.