Nemo

Aus International Center for Computational Logic
Wechseln zu:Navigation, Suche

Nemo

Ein schnelles, skalierbares und verlässliches Regelsystem

Nemo ist ein freies System zum schnellen und skalierbaren logischen Schließen mit Datalog-artigen Regeln. Es ist verfügbar als Kommandozeilen-Tool nmo, durch Anbindungen an verschiedene Programmiersprachen und als online verfügbare Browser-Anwendung.

Kernziele von Nemo sind Performance, Deklarativität, Vielseitigkeit und Verlässlichkeit. Nemo ist in Rust implementiert. Sein Datenmodell vereint Kompatibilität mit Standardformaten wie RDF und SPARQL mit bewährten Konventionen und Features der Logikprogrammierung.

Die von Nemo unterstützte Regelsprache ist eine Erweiterung von Datalog, welche unter anderem die folgenden Features unterstützt:

  • Datentypen mit dazugehörigen Prädikaten und Funktionen (z.B. arithmetische Vergleiche und Operationen).
  • Existenzielle Regeln (auch bekannt als Tuple-Generating Dependencies)
  • Stratifizierte Negation

Einsatzgebiete von Nemo umfassen Datenanalyse, Anfragebeantwortung, Datenintegration sowie spezielle Aufgaben wie Programmanalyse und ontologisches Schließen. Es erlaubt dabei die gleichzeitige Verwendung mehrerer Datenquellen in diversen Formaten (RDF-Graphen, CSV-Dateien, usw.).

Nemo ist ein Nachfolgeprojekt von VLog und verwendet einige von dessen Technologien (insbesondere vertikale Speicherstrukturen – column stores), hat aber gleichzeitig eine völlig neue Architektur und Implementierung, welche Nemo die Unterstützung zusätzlicher Features bei gleichzeitig höherer Performance erlaubt.


Artikel in Tagungsbänden

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), November 2024
Details Download
Alex Ivliev, Lukas Gerlach, Simon Meusel, Jakob Steinberg, Markus Krötzsch
Nemo: Your Friendly and Versatile Rule Reasoning Toolkit
In Pierre Marquis,Magdalena Ortiz,Maurice Pagnucco, eds., 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, 743-754, November 2024. 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), volume 3801 of CEUR Workshop Proceedings, 43-47, November 2024. 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