Nemo
Nemo
A fast, scalable, and reliable rule engine
People
Projects
Research Groups
- Contact Markus Krötzsch
- https://github.com/knowsys/nemo
- Publication date April 28, 2023
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
Nemo: First Glimpse of a New Rule Engine
Proceedings 39th International Conference on Logic Programming: ICLP 2023 Technical Communications, EPTCS, to appear
Details Download