Nemo

From International Center for Computational Logic

Nemo

A fast, scalable, and reliable rule engine

Nemo is a free, datalog-based rule engine for fast and scalable analytic data processing in memory. It is available as a command-line tool nmo, through bindings to other programming languages, and via a browser-based web application.

Goals of Nemo are performance, declarativity, versatility, and reliability. It is written in Rust. Nemo's data model aims at compatibility with RDF/SPARQL while preserving established logic programming conventions and features.

The rule language supported by Nemo is an extension of Datalog that incorporates, among others, the following features:

  • Datatypes with suitable built-in predicates and functions (e.g., arithmetic comparisons and operations)
  • Existential rules (a.k.a. tuple-generating dependencies)
  • Stratified negation

Nemo can be used for data analysis, query answering, data integration, and also specialised tasks such as program analysis or ontological reasoning. It allows the use of multiple datasources at the same time, of various types and formats (RDF graphs, CSV files, etc.).

Nemo is a successor project of VLog, and uses some of the same techniques (esp. columnar storage), but has a completely new architecture and implementation that enables Nemo to support further features while achieving faster performance.


Proceedings Articles

Lukas Gerlach, Alex Ivliev, Julián Méndez, Simon Meusel, Raimund Dachselt, Markus Krötzsch
EvonNemo - A Symbiosis of Datalog Tracing and Proof Tree Visualization
The Fifth Workshop on Explainable Logic-Based Knowledge Representation (XLoKR 2024), to appear
Details Download
Alex Ivliev, Lukas Gerlach, Simon Meusel, Jakob Steinberg, Markus Krötzsch
Nemo: Your Friendly and Versatile Rule Reasoning Toolkit
Proceedings of the 21st International Conference on Principles of Knowledge Representation and Reasoning (KR 2024), Proceedings of the International Conference on Principles of Knowledge Representation and Reasoning, to appear. IJCAI Organization
Details Download
Alex Ivliev, Lukas Gerlach, Simon Meusel, Jakob Steinberg, Markus Krötzsch
Nemo: A Scalable and Versatile Datalog Engine
In Mario Alviano, Matthias Lanzinger, eds., Proceedings of the 5th International Workshop on the Resurgence of Datalog in Academia and Industry (Datalog-2.0 2024), CEUR Workshop Proceedings, to appear. CEUR-WS.org
Details Download
Alex Ivliev, Stefan Ellmauthaler, Lukas Gerlach, Maximilian Marx, Matthias Meißner, Simon Meusel, Markus Krötzsch
Nemo: First Glimpse of a New Rule Engine
In Enrico Pontelli, Stefania Costantini, Carmine Dodaro, Sarah Gaggl, Roberta Calegari, Artur D'Avila Garcez, Francesco Fabiano, Alessandra Mileo, Alessandra Russo, Francesca Toni, eds., Proceedings 39th International Conference on Logic Programming (ICLP 2023), volume 385 of EPTCS, 333--335, September 2023
Details Download