Eclair logo

A lightning-fast logical query language for solving complex search- and graph-based problems.


Great Performance

Queries are compiled to native machine code or WebAssembly, run 100% in-memory and are heavily optimized to achieve rapid execution times.


Eclair is designed specifically for executing recursive graph queries. Sophisticated analyses can be written and iterated upon in minutes.

Seamless Integration

Other languages communicate in-process with Eclair using a minimal API. Multiple bindings already exist; more can be added easily.


Search for results in your data by describing queries as a combination of rules and facts. All low-level details are taken care of, allowing you to concentrate on the solution.

@def edge(u32, u32) input.
@def reachable(u32, u32) output.

reachable(x, y) :-
  edge(x, y).

reachable(x, z) :-
  edge(x, y),
  reachable(y, z).

To learn more about Eclair, check out the getting started guide or the language documentation.