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

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