A lightning-fast logical query language for solving complex search- and graph-based problems.
Features
Great Performance
Queries are compiled to native machine code or WebAssembly, run 100% in-memory and are heavily optimized to achieve rapid execution times.
Laser-focused
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.
Declarative
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.