Releases: liveontologies/elk-reasoner
Releases · liveontologies/elk-reasoner
ELK Reasoner 0.6.0
New features:
- Compute internal inferences for derived conclusions by repeating rule applications (tracing).
- Initial translation of internal ELK inferences to OWL inferences.
- Protege: new auto-synchronization option to update reasoning result immediately after changes.
- Partial support of
ObjectOneOf
constructor. - Support of
SameIndividual
andDifferentIndividuals
axioms. - Partial support of
DisjointUnion
axioms. - Partial support of
ObjectPropertyRange
axioms. - Support entailment checking for
ClassAssertion
,DifferentIndividuals
,DisjointClasses
,EquivalentClasses
,ObjectPropertyAssertion
,ObjectPropertyDomain
,SameIndividual
andSubClassOf
axioms. - Implement extension points for the protege-proof-explanation plugin.
- Implement extension points for the protege-proof-justification plugin.
- Keep track of features that cause incompleteness of reasoning results.
- Support positive occurrences of
ObjectHasSelf
. - Support OWL API 5.x. Issue: #48.
Fixed Bugs:
- Parse
DataOneOf
with one literal by functional-style parser. Issue: #43. - Fix
NumberFormatException
when returning reasoner version. Issue: #49. - Restore equality detection of some unsupported constructors. Issue: #61.
Changes:
- Avoid performing some redundant role chain rule applications.
- Ensure that the set of derived conclusions does not depend on the order of rule applications.
- Make index updates revertible to better handle unsupported language features.
- Represent all OWL object types in internal OWL object model.
- Improve the transitive reduction algorithm for taxonomy construction.
- Protege: store preferences in Java preferences instead of a file.
- Make taxonomy model more generic.
- Convert internal inferences to OWL inferences using a recursive matching procedure.
- Implement answering class expression and instance queries without introducing auxiliary classes.
- Extend proof generation to entailment checking.
- Add an option to inline proofs by combining nested inferences.
- Add examples to inferences used in proofs.
- Centralize interrupt management for all reasoning stages.
- Share concurrent executor over all reasoner instances.
- Implement recency and frequency caching policies.
- Cache query results and proof inferences.
- Improve reporting of incompleteness warnings and their explanations.
- Improve incremental reasoning by avoiding re-computations after deletions. Issue: #28.
- Switch from
log4j
tologback
.
Removed:
- Protege: incremental mode is no longer experimental.
- Drop support of Java 7.
- Protege: remove popup notifications about unsupported reasoning tasks and incompleteness.
ELK Reasoner 0.4.3
Changes
- Switch to the OWL API version 4. Dropping support for OWL API 3 and Protege 4.
ELK Reasoner 0.4.2
This is the last release that supports OWL API 3 and Protege 4!
Fixed Bugs
- Fixed a problem causing runtime exception to be thrown with Protege 5 beta 15 due to the class loader of Apache Felix reacting on interrupt exceptions used for communication with elk worker threads. Issue: #27.
- Fixed a bug reporting direct subclasses of owl:Thing when owl:Thing has (redundant) asserted subclasses. Issue: #24.
Changes
- ELK can now be interrupted from the OWL API and Protege during the initial ontology loading stage.
- Updated the mechanism of interrupting reasoner computations due to removal of interrupt exceptions from the code.
ELK Reasoner 0.4.1
Fixed Bugs
- Fixed a problem causing runtime exception to be thrown with Protege 5 beta 15 due to the class loader of Apache Felix reacting on interrupt exceptions used for communication with elk worker threads. Issue: #27.
- Fixed a bug reporting direct subclasses of owl:Thing when owl:Thing has (redundant) asserted subclasses. Issue: #24.
Changes
- ELK can now be interrupted from the OWL API and Protege during the initial ontology loading stage.
- Updated the mechanism of interrupting reasoner computations due to removal of interrupt exceptions from the code.
ELK Reasoner 0.4.0
New features
- Incremental reasoning. The reasoner can incrementally update the inferred class and instance hierarchies after adding, removing, or modifying axioms. Changes in axioms which may affect the property hierarchy or property chains, e.g., SubObjectPropertyOf, TransitiveObjectProperty, etc., will still trigger full re-classification. Issue: #9.
- Queries of complex class expressions (satisfiability checking, retrieval of equivalent classes, subclasses, and superclasses) are now supported through incremental reasoning. Issue: #10.
- Support for positive occurrences of negation (ObjectComplementOf) and negative occurrences of disjunctions (ObjectUnionOf).
- Support for explanation and DL query features in Protege through queries for complex class expressions.
- Incremental reasoning mode can be enabled/disabled from the Reasoner Preferences panel in Protege.
Fixed Bugs
- Fix the location of examples in the owlapi-library distribution package as described in the README.txt file Issue: #12.
- ELK now tracks changes in axioms which belong to imported ontologies. Also it doesn't log warnings for changes in ontologies outside the import closure. Issue: #14.
- Fixed conversion of double inverse object properties from OWL API Issue: #18.
Changes
- New rule engine under the hood that provides a general way of specifying and registering composition and decomposition rules for various language features.
- New reasoning stage management to keep track of dependencies between reasoning stages and of their execution.
- The OWL 2 FSS parser now runs lexer and tokenizer in parallel threads.
ELK Reasoner 0.3.2
Fixed Bugs
- Fixed an issue causing a deadlock with many workers in the saturation stage.
Changes
- Updated dependencies for OWL API to v.3.4.2.
ELK Reasoner 0.3.1
Fixed Bugs
- Fixed NoSuchElementException when loading imported ontologies through OWLAPI that have no axioms. Issue: #7.
- Fixed a bug with incorrect handling of lexical errors during parsing of OWL2 FSS files with the native ELK's parser.
Changes
- An improved testing of class and instance taxonomies via mock taxonomy objects and specific validators (e.g., for acyclicity and transitive reduction).
- Updated project configurations to comply with Maven Central requirements.