Liking cljdoc? Tell your friends :D

Get Started

Introduction

This guide contains simple steps showing how to transact data and run a simple query. However, there are a few topics you might benefit from learning about before you get too far with attempting to use Crux:

  • EDN – the extensible data notation format used throughout the Crux APIs, see Essential EDN for Crux.

  • The Datalog query language – Crux supports an EDN-flavoured version of Datalog. The Queries section within this documentation provides a good overview. You can also find an interactive tutorial for EDN-flavoured Datalog here.

  • Clojure – whilst a complete Java API is provided, a basic understanding of Clojure is recommended – Clojure is a succinct and pragmatic data-oriented language with strong support for immutability and parallelism. See Clojure.org.

Setting Up

Follow the below steps to quickly set yourself up a Crux playground:

Project Dependency

First add Crux as a project dependency:

link:./deps.edn[role=include]

Start a Crux node

link:./examples.clj[role=include]

For the purposes of this Hello World, we are using the simplest configuration of Crux, where all of the pluggable components are in-memory. There is no Kafka or RocksDB to worry about.

Transacting

link:./examples.clj[role=include]

Querying

link:./examples.clj[role=include]

You should get:

link:./examples.clj[role=include]

An entity query would be:

link:./examples.clj[role=include]

You should get:

link:./examples.clj[role=include]

Next Steps

Now you know the basics of how to interact with Crux you may want to dive into our tutorials. Otherwise, let’s take a look at the kinds of things you are able to do with Queries.

Can you improve this documentation? These fine people already did:
Jeremy Taylor, Jon Pither, Ben Gerard, Antonelli712 & Ivan Fedorov
Edit on GitHub

cljdoc is a website building & hosting documentation for Clojure/Script libraries

× close