Skip to content

Commit ad6245f

Browse files
committed
add usage guide
1 parent 2fdb210 commit ad6245f

14 files changed

+4283
-633
lines changed

README.md

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,10 @@
88

99
This implementation closely follows the original Julia library [FunSQL.jl](https://github.com/MechanicalRabbit/FunSQL.jl/). Thanks to the original authors, Clark Evans and Kyrylo Simonov, who have been refining the idea for some time; you should check their previous work [here](https://querycombinators.org/).
1010

11-
The original project does a very good job of motivating the library, there is little point repeating it. The python port retains a similar API, so after reading the original docs, you are good to go.
12-
11+
The original project does a very good job of motivating the library. The python port retains a similar API, so there is little point repeating it.
1312
1. [Why FunSQL?](https://mechanicalrabbit.github.io/FunSQL.jl/stable/guide/#Why-FunSQL?)
1413
2. A [presentation](https://www.youtube.com/watch?v=rGWwmuvRUYk) from JuliaCon
1514

16-
1715
Below are some notes about how to use the python library, and my understanding of how FunSQL works.
1816

1917
### Table of Contents
@@ -32,13 +30,13 @@ _When was the last time each person born between 1930 and 1940 and living in Ill
3230

3331
<details><summary>Database Schema</summary>
3432

35-
![](./docs/example-schema.drawio.svg)
33+
![](./docs/assets/example-schema.drawio.svg)
3634

3735
</details>
3836

3937
<details><summary>Pipeline Diagram</summary>
4038

41-
![](./docs/example-pipeline.drawio.svg)
39+
![](./docs/assets/example-pipeline.drawio.svg)
4240

4341
</details>
4442

@@ -146,10 +144,14 @@ def get_stats(col):
146144
## Usage
147145

148146
The `docs` directory has examples on how to use the library.
149-
* `using-nodes.ipynb` - This is the user facing API, and shows how to use FunSQL to construct SQL queries.
147+
148+
* `usage-guide.ipynb` - Introduces the verbs available in FunSQL, and how to assmeble queries using them.
149+
150+
* `using-nodes.ipynb` - This is the user facing API, and adds more detail about each FunSQL node.
151+
150152
* `using-clauses.ipynb` - FunSQL compiles the tree of SQL nodes to something close to the lexical structure of SQL, called clause objects. These directly translate to SQL text, only abstracting over spaces and dialect specific punctuation. When projects like [Substrait](https://substrait.io/) are further along, might be a good idea to use that as a backend instead.
151153

152-
The [funsql-examples](https://github.com/ananis25/funsql-examples/) repository has more examples of queries written using FunSQL.
154+
The [funsql-examples](https://github.com/ananis25/funsql-examples/) repository has more examples of queries/projects written using FunSQL.
153155

154156
<br>
155157

0 commit comments

Comments
 (0)