Repository navigation
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
GRAPHpatterns,UNION, and dataset selection throughFROMandFROM NAMED. - SPARQL Update: Added support for
INSERT DATA,DELETE DATA,INSERT ... WHERE,DELETE ... WHERE, combinedDELETE/INSERT ... WHERE, andDELETE 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, andisTRIPLEfunctions. - 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, andTRAIN NEURAL RELATION, with Candle-based CPU training and extendedML.PREDICTsupport. - 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
ISTREAMandDSTREAMbehavior, 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
- Refactoring of materialisation & knowledge graph code. by @RobMandelings in #8
- Adds reasoning tests for datalog by @CasProost in #12
- 13 http 400 bad request when trying to query from webui by @ladroid in #14
- Fix a bug with comments by @ladroid in #16
- 19 sparql query not working by @ladroid in #20
- Added ; and , support in parse_turtle by @lucafabbian in #21
- 22 unexpected reasoning results by @ladroid in #23
- Optimizer improvement by @ladroid in #24
New Contributors
- @RobMandelings made their first contribution in #8
- @CasProost made their first contribution in #12
- @lucafabbian made their first contribution in #21
Full Changelog: v0.1.1...v0.2.0