Nemo
Nemo
Ein schnelles, skalierbares und verlässliches Regelsystem
- Kontaktperson Markus Krötzsch
- https://github.com/knowsys/nemo
- Veröffentlichungsdatum 28. April 2023
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
Nemo: First Glimpse of a New Rule Engine
Proceedings 39th International Conference on Logic Programming: ICLP 2023 Technical Communications, EPTCS, to appear
Details Download