Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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.
- Host: GitHub
- URL: https://github.com/lucascompython/nanql
- Owner: lucascompython
- License: gpl-3.0
- Created: 2022-06-08T21:45:22.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2022-12-05T20:37:12.000Z (about 2 years ago)
- Last Synced: 2023-03-04T17:11:40.013Z (almost 2 years ago)
- Topics: fsharp, language, query-language
- Language: F#
- Homepage:
- Size: 1.3 MB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
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.