Release Highlights
- Contrastive explanations –
SyncReasonernow supportsget_contrastive_explanation()for computing fact–foil contrastive explanations, using an isolated subprocess approach to avoid Java dependency conflicts. - Extended datatype support – Additional XSD integer datatypes (
positiveInteger,negativeInteger,nonPositiveInteger, andnonNegativeInteger) are now properly mapped by theOWLAPIMapper. - RBox retrieval & property chain axioms –
SyncOntologycan now retrieve RBox axioms, and object property chain axioms are now supported end-to-end. - OWLAPI DL syntax parser & renderer – A new parser and renderer backed by OWLAPI is available, capable of handling full OWL axioms in addition to class expressions.
- Axiom justification & inconsistency explanation – The reasoner now supports computing justifications for entailed axioms and explaining ontology inconsistencies.
- Improved explanation engine – The inconsistency explainer was overhauled for better robustness, with laconic explanations now also supported.
- Reasoner API cleanup – Removed the redundant
create_justificationmethod; usecreate_axiom_justificationsinstead.
DSPy is now an optional dependency – Install withpip install owlapy[agentic]if needed. New install modes:[min],[dev],[agentic],[all]. - Bug fixing - Fixed a bug where EBR would crash if object/data property embeddings were absent from model vocabulary.
Install/Upgrade:
pip install -U owlapy
Installation to support AGenKG:
pip install owlapy[agentic]
Full installation (supports EBR as well):
pip install owlapy[full]
Thank you to every contributor!
In particular, we would like to acknowledge with gratitude the contributions of Huu Tan MAI (@htmai-880), which were instrumental to this release.
Full Changelog
- Added mapping support for OWLLiteralImplNoCompression by @alkidbaci in #180
- Updated documentation for AGenKG by @alkidbaci in #181
- Implementation of RBox retrieval and property chain support by @htmai-880 in #183
- added support for OWLSubObjectPropertyOfAxiom in owlready2 Ontology by @alkidbaci in #184
- added owlapi dlsyntax parser and renderer by @alkidbaci in #187
- Added axiom justification for reasoner by @htmai-880 in #189
- Fix EBR crash when object/data property embeddings are absent from model vocabulary by @Copilot in #191
- Added owlexplainer features by @htmai-880 in #193
- Add get_contrastive_explanation() support in SyncReasoner + integration tests in (Feature/abduction sync reasoner) by @Balramt in #167
- Refactoring by @alkidbaci in #194
- version increase to 1.6.4 by @alkidbaci in #196
- dspy made optional by @alkidbaci in #198
New Contributors
- @htmai-880 made their first contribution in #183
- @Copilot made their first contribution in #191
Full Changelog: 1.6.3...1.6.4