Skip to content

Nemo v0.1.0

Compare
Choose a tag to compare
@mmarx mmarx released this 28 Apr 16:22
· 1594 commits to main since this release
v0.1.0
45b23d6

Version 0.1.0 of Nemo already provides core features that make it usable as a fast in-memory rule reasoner. The command-line client nmo can be used to access this functionality (use nmo --help for a brief documentation).

New Features

At this version, Nemo includes support for the following features:

  • Execution (materialization) of Datalog extended with existential rules (tuple-generating dependencies)
  • Loading input data from CSV and TSV files, and writing results to CSV files
  • Compatibility with RDF and SPARQL syntax for IRIs and literals
  • Datatypes integer (whole numbers), float64 (64bit floating point numbers), and any (union type that can represent any element; default)
  • Support for built-ins <=, <, >=, and > for type integer

Nemo v0.1.0 is built for mid-sized computing tasks that can still be processed on a normal laptop in seconds or minutes (typically hundreds of thousands to hundreds of millions of facts). In such cases, Nemo is already quite fast – at least fast enough to outperform existing free rule engines on all tests we conducted so far. Example tasks and benchmark results can be found in our sister repository Nemo examples and benchmarks.

Known Limitations

There is a known problem with the binaries that were automatically built for this release. For best performance, please do not use the attached files but build Nemo on your machine using Rust (command cargo build -r from the nemo directory).

The following features are not included in v0.1.0 yet and will be added in the next release:

  • Stratified negation
  • Support for RDF input and output
  • More built-ins for datatypes, and more datatypes (note that already now Nemo can represent all kinds of values in type any, but it will be convenient to restrict to special cases such as string)

Moreover, the documentation is still very limited. This will be expanded gradually.

Feedback and issue reports are welcome!