Skip to content

v0.2.0

Latest

Choose a tag to compare

@ladroid ladroid released this 12 Oct 08:34

Kolibrie 0.2.0 expands the engine’s capabilities across RDF querying, stream processing, temporal reasoning, probabilistic inference, and neural learning.

This release introduces DatalogMTL, richer graph support, and integrated learning workflows, alongside substantial improvements to query planning, streaming correctness, and test coverage.

Highlights

  • Temporal reasoning with DatalogMTL: Added temporal rule evaluation, RDF-oriented syntax, interval-based evaluation, and comparison tools for correctness and performance testing against MeTeoR.
  • Richer stream reasoning: Added support for multiple windows joined with static data, configurable window synchronization, single-window materialization, and cross-window SDS/SDS+ reasoning with incremental evaluation.
  • Named graphs and expanded SPARQL support: Introduced quad-based storage, N-Quads parsing and serialization, recursive GRAPH patterns, UNION, and dataset selection through FROM and FROM NAMED.
  • SPARQL Update: Added support for INSERT DATA, DELETE DATA, INSERT ... WHERE, DELETE ... WHERE, combined DELETE/INSERT ... WHERE, and DELETE WHERE, using the same query planning and execution pipeline as SELECT.
  • RDF-star and SPARQL-star: Added quoted triples, Turtle-star and N-Triples-star parsing and serialization, and the TRIPLE, SUBJECT, PREDICATE, OBJECT, and isTRIPLE functions.
  • Probabilistic reasoning: Added provenance-based inference, probability annotations, and Sentential Decision Diagrams (SDDs) for weighted model counting.
  • Neural learning and prediction: Introduced MODEL, NEURAL RELATION, and TRAIN NEURAL RELATION, with Candle-based CPU training and extended ML.PREDICT support.
  • Integrated program execution: Added a program API for combining neural declarations, training, prediction, and multiple rules. Results are published into a separate hypothesis dataset, with execution limits and validation.

Improvements and fixes

  • Improved Streamertail query planning, cardinality estimation, statistics caching, and execution efficiency.
  • Corrected ISTREAM and DSTREAM behavior, window expiration, and the separation of static and windowed data.
  • Improved filtering, arithmetic expressions, aggregation, ordering, and graph-query semantics.
  • Simplified Python class names and added SparqlDatabase.load_file() and SPARQL Update support.
  • Expanded WebUI stream ingestion and demonstrations, including fraud detection and drone traffic safety.
  • Added regression tests and benchmarks covering reasoning, streaming, named graphs, probabilistic programs, and neural workflows.

Upgrading from 0.1.1

This release includes API and storage changes. Applications using internal storage structures or the previous Python Py* class names may require updates.

The previous ML.TRAIN(...) syntax has been replaced by TRAIN NEURAL RELATION. Machine-learning functionality requires the ml feature.

SPARQL Update support is limited to the six forms listed above; WITH, USING, LOAD, and graph-management operations are not included.

Thank you to everyone who contributed code, reported issues, and tested Kolibrie.

Other Changes

New Contributors

Full Changelog: v0.1.1...v0.2.0