VLog4j v0.4.0
The fourth release of the Java rule reasoning library VLog4j brings a number of changes. Major new features include:
- New own syntax for rules, facts, and data sources to create knowledge bases from files or strings in Java
- Input predicates can now be used with multiple sources and in rule heads (no more EDB-IDB distinction)
- New InMemoryDataSource for efficient in-memory fact loading
- New KnowledgeBase class separates facts, data sources, and rules from the actual Reasoner
- Modifications to the knowledge base are taken into account by the reasoner
- New and updated example programs to illustrate use of syntax
Further minor improvements include better error reporting and logging, and some efficiency gains. VLog4j 0.4.0 is not fully backwards compatible with v0.3.0 due to some API changes. However, existing code should not be hard to update. See the release notes for details.
The release uses vlog4j-base-1.3.1, which is the Maven artefact for the VLog rule engine. It packages system-dependent binaries for Linux, MacOS, and Windows, and should work out of the box with current versions of these systems. In case of problems, own binaries can be compiled as described in the README.
This release includes the following modules, which are available in Maven Central in group org.semanticweb.vlog4j
:
- vlog4j-core: essential data models for rules and facts, and essential reasoner functionality
- vlog4j-parser: support for processing knowledge bases in VLog4j syntax
- vlog4j-rdf: support for reading from RDF files in Java (not required for loading RDF directly during reasoning)
- vlog4j-graal: support for translating objects from the Graal rule library to VLog4j
- vlog4j-owlapi: support for converting rules from OWL ontology, loaded with the OWL API
It is strongly encouraged to use Maven to include vlog4j in your projects, as illustrated in the VLog4j example project. We do not provide own jar files, but you can download jars manually from Maven Central if desired.