Getting Started
PartiQL is a SQL-compatible query language for relational, semi-structured, and nested data. Pick the path below that fits what you want to do: run queries right away, embed PartiQL in a JVM application, or follow the Rust implementation. New to PartiQL? Read Why PartiQL? first.
Try PartiQL in your browser
The PartiQL Playground runs queries entirely in your browser — no installation required. Load one of the examples or paste your own data and start querying.
Install the CLI
The PartiQL CLI is an interactive shell for writing and running PartiQL queries from your terminal. On macOS or Linux with Homebrew:
brew tap partiql/partiql
brew install partiql-cli
You can also download a release archive or build from source. See CLI installation for all options, and the CLI reference for usage.
Learn the language
-
Data Model and Data Types — how PartiQL represents relational, semi-structured, and nested data.
-
Path Navigation — reaching into nested values.
-
Queries —
SELECT,FROM,WHERE, joins, subqueries, and more. -
DML —
INSERT,UPDATE,UPSERT,REPLACE, andDELETE. -
Graph Pattern Matching — querying graph data.
-
PartiQL Specification — the formal definition of the language.
Java and Kotlin
The partiql-lang-kotlin project provides PartiQL’s JVM libraries, published to Maven Central under the org.partiql namespace.
They can be used from Java, Kotlin, or any other JVM language.
-
Overview — what partiql-lang-kotlin 1.0 provides.
-
Maven Packages — choose the libraries you need, from the AST and parser up to the full evaluator.
-
Using the Parser — parse PartiQL text into an AST.
-
Using the Planner — turn an AST into a logical plan.
-
Using Datum — PartiQL’s runtime values.
-
Implementing a Catalog — connect PartiQL to your own data.
-
Creating a PartiQL Database (Example) — put the pieces together end to end.
Rust
|
Coming soon
Documentation for the Rust implementation is coming soon to this site. In the meantime, see the partiql-lang-rust repository on GitHub. |
partiql-lang-rust is a collection of crates that bring PartiQL to Rust.
The partiql crate re-exports the functionality of the partiql-* sub-crates, and applications that need only one component can depend on that sub-crate (for example, partiql-parser) directly.
The current release, v0.15.0, provides the parser, AST, logical planner, and evaluator crates and is used in production today.
A next-generation virtual machine is in development as a separate set of experimental crates; see Rust (Upcoming).
Get involved
PartiQL is open source under the Apache 2.0 license. Questions, bug reports, and contributions are welcome on GitHub.