Releases: dice-group/owlapy
owlapy 1.6.4
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
owlapy 1.6.3
Release Highlights
This release introduces significant upgrades to our agentic ontology engineering capabilities, specifically enhancing AGen-KG (used to be named GraphExtractor) and some optimizations/bug fixing. You can find more details in the PRs below.
Notice: The module ontogen is deprecated and therefore removed in this release. It is now replaced by the module agen_kg. See the Ontology Generation example.
We have also updated the minimum Python version to >=3.11.
Install/Upgrade:
pip install -U owlapy
What's Changed
- Use json or dict to overwrite default training params in NeuralOntology by @LckyLke in #172
- Increased code coverage by @alkidbaci in #173
- Agentic ontology generation by @alkidbaci in #175
- dicee (therefore torch) made optional by @alkidbaci in #177
Full Changelog: 1.6.2...1.6.3
owlapy 1.6.2
Release Highlights
This release mainly features bug fixes and certain improvements as well as documentation update. Please see on the individual PRs for more details.
Install/Upgrade:
pip install -U owlapy
What's Changed
- deprecated cache_in_memory, added dspy to setup.py, allow user to pas… by @LckyLke in #164
- Add ontosource to the readme by @LckyLke in #165
- General updates and bug fixing by @alkidbaci in #168
Full Changelog: 1.6.1...1.6.2
owlapy 1.6.1
Release Highlights
- Added a new functionality: syntactic class expression simplifier for making lengthy class expression less complex.
- Fixed an issue where the
ontogenmodule was not being found. - Improved and updated documentation for better clarity and usability.
Install/Upgrade:
pip install -U owlapy
What's Changed
- Syntactic class expression simplifier by @alkidbaci in #159
Full Changelog: 1.6.0...1.6.1
owlapy 1.6.0
Summary:
In this release we introduce a new reasoner, the embedding-based reasoner (EBR). You can find out more about it in the documentation. Moreover, owlapy now supports Semantic Web Rule Language (SWRL). Other updates include addition of new features like justification creation for why a class expression holds for a given individual or set of individuals. Lastly but not least we introduced a new module for ontology generation from text, using LLMs. We plan to keep improving towards this end.
Installation/upgrade:
pip install -U owlapy
What's Changed
- Justification by @Balramt in #149
- Added EBR by @LckyLke in #147
- Added support for Semantic Web Rule Language (SWRL) by @alkidbaci in #152
- Ontology generation by @alkidbaci in #154
- Changes before release by @alkidbaci in #155
New Contributors
Full Changelog: 1.5.1...1.6.0
owlapy 1.5.1
Summary:
This update refines the handling of bottom entities—both inclusion and exclusion—to support seamless integration with Ontolearn.
We made some other minor changes. Please see #144 for full list of changes!
Installation/upgrade:
pip install -U owlapy
What's Changed
- Bug fixing & and some additional features by @alkidbaci in #144
- Reasoners benchmark by @alkidbaci in #145
Full Changelog: 1.5.0...1.5.1
owlapy 1.5.0
Changes Summary:
- Ontology manager is deprecated.
- The idea behind ontology manager is to manage multiple ontologies using a single managing entity. However, we don't use that functionality in owlapy and concluded that the manager does not play any important role. Therefore we are removing the manager and making it easier this way to initialize an ontology (note that Sync classes, still use owlapi's ontology manager, that stays unchanged). That also means that you can directly modify/save using the ontology instance (something that has gradually shifted from the manager to ontology itself throughout recent releases).
- Added some new functions like converting an ontology to CSV and vice-versa, and generating an ontology from triples using the help of an LLM for populating it with classes.
- ELK reasoner made available to use via SyncReasoner.
- Bug fixing and documentation update.
Installation/upgrade:
pip install -U owlapy
All Changes
- kg to csv conversion by @LckyLke in #130
- Bug fixing by @alkidbaci in #131
- Deprecating manager & removed GPL-3.0 licensed code by @alkidbaci in #132
- Ontology generation function by @alkidbaci in #134
- ELK reasoner added as a choice for SyncReasoner by @alkidbaci in #138
Full Changelog: 1.4.0...1.5.0
owlapy 1.4.0
We are happy to share this new release with the community.
Installation/upgrade using PyPI:
pip install -U owlapy
Changes Summary:
- You will now find more literal types.
- A new feature to use CSV data for RDF KG construction is added as well as
RDFLibOntology. - Added new CLI command
owlapy-serveto start owlapy API server. - Optimization, bug fixing and more tests added to ensure the code reliability.
You can check the details below:
All Changes (+ PRs)
- New literals by @alkidbaci in #109
- From CSV to RDF Knowledge Graph by @Demirrr in #108
- A CSV file is mapped to an RDF KGs containing only literals by @Demirrr in #110
- Refactoring by @Demirrr in #111
- Complement of complement fix by @LckyLke in #113
- Fix for #112 by @Demirrr in #114
- RDFlib based ontology implemented by @Demirrr in #116
- Olwapy serve by @LckyLke in #117
- Added mapping for OWLObjectInverseOf by @alkidbaci in #122
- owlapy_serve usage in examples folder by @LckyLke in #121
- Bug fixing by @alkidbaci in #127
Full Changelog: 1.3.3...1.4.0
owlapy 1.3.3
In this new patch we have fixed some hashing-related bugs, made some refactoring for SyncReasoner and StructuralReasoner where we are planning to remove caching. A new function is also introduced which saves owl class expressions.
To install or upgrade:
pip install -U owlapy
What's Changed
- changing _values to frozenset to allow for hashing by @LckyLke in #96
- save_owl_class_expressions and test included by @Demirrr in #99
- Refactor structural reasoner by @LckyLke in #100
- Test hashes by @Demirrr in #102
- Refactoring sync reasoner by @Demirrr in #105
New Contributors
Full Changelog: 1.3.2...1.3.3
owlapy 1.3.2
We have a new early release this time where we have fixed/improved the DL and Manchester renderer and parser and made some fundamental refactoring to our oldest reasoners. Check the respective PRs for more details.
Install/Upgrade:
pip install -U owlapy
What's Changed
- Direct and Inverse Mappings Owlapy objects into DL syntax in string and Manchester syntax string by @Demirrr in #90
- Refactoring on owl reasoners and some fixes/improvements by @alkidbaci in #92
Full Changelog: 1.3.1...1.3.2