Releases: dice-group/Ontolearn
ontolearn 0.8.0
We are happy to share with you our newest release v0.8.0.
Please upgrade as usual:
pip install -U ontolearn
This new release features some refactoring done to ontolearn, among others, highlighting the removal of ModelAdapter
, code adjustments due to owlapy's newest versions and refactoring done for Enexa project. Other major changes include integration of NCES in ontolearn-web service as well as fixes DL-learner binding and some changes to our triple store related classes. Work to improve the triple store experience is still in progress.
@Louis-Mozart and @sapkotaruz11 have made their first contributions to the project. Your contribution is well appreciated.
You can check the notes below about PRs and specific commits of interest:
What's Changed
- repr() is being used at OWLLiteral with string value to adress by @Demirrr in #431
- Saving data of TDL by @Demirrr in #434
- Retrieval eval incomplete by @Louis-Mozart in #436
- update docs #Concept_Learning by @sapkotaruz11 in #437
- Python version bandage and logo + favicon added to docs by @alkidbaci in #438
- Added to parser by @Louis-Mozart in #440
- Removing model adapter by @alkidbaci in #441
- owlapy version increased by @Demirrr in #442
- Fixing KeyError in max card. by @Demirrr in #443
- updated to owlapy 1.3.0 by @alkidbaci in #444
- TripleStoreReasoner.equivalent_classes() only works on named concepts by @Demirrr in #452
- Refactoring for Enexa by @Demirrr in #455
- Retrieval eval incomplete by @Louis-Mozart in #449
- Update 06_concept_learners.md by @LckyLke in #461
- Integrate NCES in ontolearn-web service and fix dllearner binding script in examples by @Jean-KOUAGOU in #450
- Incremented to owlapy 1.3.1 and some refactoring on triple_store.py by @alkidbaci in #462
- New release by @alkidbaci in #463
- Ontolearn 0.8.0 by @alkidbaci in #464
New Contributors
- @Louis-Mozart made their first contribution in #436
- @sapkotaruz11 made their first contribution in #437
Full Changelog: 0.7.3...0.8.0
ontolearn 0.7.3
Version 0.7.3 now out!
Install/upgrade:
pip install -U ontolearn
Full Changelog: 0.7.2...0.7.3
What's Changed
- ALCQIO retrieval with neural nets by @Demirrr in #425
- Triples based on literals can be now parsed: by @Demirrr in #427
- TDL refactoring by @Demirrr in #428
- OWLLiteral with string added by @Demirrr in #429
- Bug fixing and new release changes by @alkidbaci in #430
Full Changelog: 0.7.2...0.7.3
ontolearn 0.7.2
Happy to share with you our new release: ontolearn 0.7.2
pip install -U ontolearn
Important API changes:
Modules inside ontolearn/base
directory removed from ontolearn and classes belonging to those modules are now moved to owlapy.
Respective PRs:
- ontolearn: #403
- owlapy: dice-group/owlapy#42
Documentation guides for the classes are also moved to owlapy's documentation which you can find here.
What's Changed
- Triplestore improvements and some tests refactoring by @alkidbaci in #399
- Ontolearn-webservice API changes & Nominals in DRILL by @Demirrr in #402
- Refactoring (related to owlapy 1.1.0) by @alkidbaci in #403
- Default cardinality restriction by @Demirrr in #406
- Refactoring by @Demirrr in #407
- Verbosity unified and 10Fold CV over Family repeated by @Demirrr in #409
- refactoring and cv eval with 60 seconds by @Demirrr in #410
- tDL refactoring by @Demirrr in #412
- Neural triplestore by @LckyLke in #413
- Version fix by @Demirrr in #416
- Added licensing terms to source files by @alkidbaci in #417
- Documentation update and some general changes by @alkidbaci in #418
- Code coverage nces and clip by @Jean-KOUAGOU in #419
- Luke neural reasoner by @Demirrr in #420
- Code coverage update by @alkidbaci in #421
- Added logo to readme by @alkidbaci in #422
New Contributors
Full Changelog: 0.7.1...0.7.2
ontolearn 0.7.1
ontolearn 0.7.1 is now released!
pip install -U ontolearn
Important Updates: ontolearn-webservice
ontolearn-webservice --path_knowledge_base KGs/Mutagenesis/mutagenesis.owl
ontolearn-webservice --endpoint_triple_store http://0.0.0.0:9080/sparql
What's Changed
- Refactoring by @Demirrr in #354
- Examples Clean Up by @alkidbaci in #353
- Last commit of refactoring DRILL by @Demirrr in #356
- Nominals fix by @Demirrr in #358
- LLM based verbalizer included by @Demirrr in #360
- Prompt is revised to lead an LLM to generate shorter texts. by @Demirrr in #361
- TripleStore via rdflib.graph by @Demirrr in #364
- Tdl triplestore by @Demirrr in #365
- Tdl triplestore by @Demirrr in #367
- OWL Class expression learning with tDL, over a DBpedia Endpoint by @Demirrr in #368
- python dependencies are removed in the github action for docs by @Demirrr in #369
- Unifying best_hypotheses function and updating the tests by @Demirrr in #370
- Update README.md by @Demirrr in #371
- Release refactoring by @Demirrr in #373
- Drill Enexa Server by @Demirrr in #375
- Fixing few open issues by @Demirrr in #378
- Adaptation to owlapy1.0.1 by @alkidbaci in #379
- Fix:Drill: No embeddings provided implies Quality based reward used by @Demirrr in #380
- Evaluation setup for NCES and CLIP by @alkidbaci in #382
- ontolearn-webservice with drill examples over local kg tested by @Demirrr in #384
- tDL, DRILL, Triplestore Fuseki refactoring by @Demirrr in #386
- Fix data properties drill tdl by @Demirrr in #388
- Refactoring by @alkidbaci in #390
- Tentris drill tdl refactoring by @Demirrr in #391
- License update by @alkidbaci in #392
- Making ontolearn-webservice more responsive by @Demirrr in #393
- webservice fix is done by @Demirrr in #394
- Readme updated by
Full Changelog: 0.7.0...0.7.1
ontolearn 0.7.0
ontolearn 0.7.0 is now released!
Release Notes:
Drill is now available in Ontolearn:
You can import it as follows:
from ontolearn.learners import Drill
Examples:
Tree-based DL Learner (tDL) is now available in Ontolearn:
You can import it as follows:
from ontolearn.learners import TDL
Examples:
- examples/concept_learning_evaluation.py
- examples/concept_learning_cv_evaluation.py
- examples/concept_learning_with_tdl_and_triplestore_kb.py
CLIP is now available in Ontolearn:
You can import it as follows:
from ontolearn.concept_learner import CLIP
Examples:
Changes to KnowledgeBase class:
-
You can make type retrieval methods to return the type of OWLNamedIndividual for individuals which do not explicitly specify that type. You can do that by setting the argument
include_implicit_individuals
of classKnowledgeBase
toTrue
. By default it isFalse
. -
Ontology and reasoner can be accessed directly:
- From
kb.ontology()
→ Tokb.ontology
- From
kb.reasoner()
→ Tokb.reasoner
- From
-
Added methods for triple retrieval:
abox
→ returns all related Abox axioms of a given individual, list of individuals or None (all Abox axioms).tbox
→ method returns all related Tbox axioms of a given concept, data property, object property, a list of them or None (all Tbox axioms)triples
→ returns all triples of the ontology.
Return type in 3 formats defined by the
mode
argument which accepts the following strings:
1)'native'
-> triples are represented as tuples of owlapy objects.
2)'iri'
-> triples are represented as tuples of IRIs as strings.
3)'axiom'
-> triples are represented as owlapy axioms. -
New property methods to retrieve classes/properties:
concepts
object_properties
object_properties
-
Removed triplestore logic (as well as from OWLOntology_Owlready2 and OWLReasoner_Owlready2). It is now moved to
ontolearn.triple_store
(described below).
Check everything here
Triple Store Knowledge Base:
Added TripleStoreOntology
, TripleStoreReasoner
and TripleStoreKnowledgeBase
.
TripleStoreKnowledgeBase
can be initialized using just an SPARQL endpoint and it can be used instead of the KnowledgeBase
to execute a concept learner. All dataset queries are made using SPARQL and are directed to the provided endpoint.
To import:
from ontolearn.triple_store import TripleStoreOntology, TripleStoreReasoner, TripleStoreKnowledgeBase
For more, you can visit the guide in our documentation here , check the API docs and see the examples listed below.
Examples:
- examples/concept_learning_via_triplestore_example.py
- examples/concept_learning_with_tdl_and_triplestore_kb.py
Documentation and more:
-
At README.md you can find the Benchmark Results which displays the performance of all our learners.
-
Documentation has been updated to the latest changes. You can always access the up-to-date documentation here.
-
Ontosample is now integrated into Ontolearn. We have also added a guide on how to use it as well as an example.
Note:
ontosample
is not part of the default dependencies. To get it you should either install it directly or use:pip install ontolearn[full]
.
Changes on dependencies:
- We have added some new dependencies and increased the minimum required version for some of them.
- Some dependencies are made optional. You can now install all of them or just the minimum required ones.
pip install ontolearn[min]
→ the default one when you executepip install ontolearn
pip install ontolearn[full]
→ to install the extra dependenices.
You can check them here.
Bug Fixes and others:
- Fixed a bug where using the same EvoLearner model to fit more than one learning problem would cause quality drop.
- Added learning problem generator as Python module
- Other minor changes that in case you are interested, you can check the PRs comments.
As always you can upgrade with pip:
pip install -U ontolearn
Brought to you by Ontolearn Team.
ontolearn 0.6.1
ontolearn 0.6.1
We're happy to announce the 0.6.1 release.
You can upgrade with pip as usual:
pip install -U ontolearn
ontolearn 0.5.4
ontolearn 0.5.4
We're happy to announce the 0.5.4 release.
You can upgrade with pip as usual:
pip install -U ontolearn
ontolearn 0.5.3
ontolearn 0.5.3
We're happy to announce the 0.5.3 release.
You can upgrade with pip as usual:
pip install -U ontolearn
First Release of Ontolearn
Features
- Properly check domain inclusion in the ConceptGenerator
- Add Top-Level CNF/DNF conversion
Fixes
- Fix OCEL (still not equivalent of the DL-Learner implementation)
- Fix a bug in the DLSyntaxParser to correctly parse Thing/Nothing
- Multiple fits for EvoLearner on datasets with data properties
- Correctly filter super properties in the OWLReasoner_Owlready2
Maintenance
- Use closed world behaviour for negations per default (FastInstanceChecker)
Todos for the next release
- Integrate (https://gradio.app/quickstart/) as done in https://github.com/dice-group/dice-embeddings. By this, we can increase the usability of our framework (CD).
- Remove ontolearn/endpoint as an endpoint does not belong to ontolearn but a particular application of it (CD).
- Update https://ontolearn-docs-dice-group.netlify.app/ (CD).
- Allow classification of new individuals that are not part of the existing knowledge base (#213, #233) (LB).
- Add support for sub-properties to the FastInstanceChecker/OWLReasoner_Owlready2 (as an option) (LB).