Releases: dice-group/Ontolearn
ontolearn 0.8.1
Ontolearn 0.8.1 is out. This version uses owlapy 1.3.3 which brings some fundamental changes and we have mainly done some fixes during the past weeks. Please find the details below.
Install/Update using pip:
pip install -U ontolearn
What's Changed
- Learn SPARQL queries using string literals by @nkaralis in #460
- updated retrieval_eval_under_incomplete by @LckyLke in #465
- Fix neural reasoner by @LckyLke in #466
- Fix for issue #467 and prediction caching lru by @LckyLke in #469
- fix for test_owl_neural_retrieval fail due to abox method by @LckyLke in #470
- Owlapy 1.3.2 by @Demirrr in #473
- Regression Tests for CELOE by @Demirrr in #474
- Fixing broken examples and import errors by @Demirrr in #477
- Fix for Main.py by @Demirrr in #478
- Refactoring examples and adding more tests by @Demirrr in #480
- Knowledge Base example is updated and included into tests by @Demirrr in #481
- subconcepts is now recursive by @LckyLke in #482
- Litserve neural reasoner endpoint + evalutation script by @LckyLke in #483
- Neural reasoner all values from by @LckyLke in #485
- KGs with no properties or named concepts now supported by @LckyLke in #488
- Prediciton caching with dynamic cache size + caching is optional by @LckyLke in #490
- fixes memory issue by writing csv to disk and sample ratio issue for … by @LckyLke in #493
- Owlapy 1.3.3 by @alkidbaci in #486
Full Changelog: 0.8.0...0.8.1
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).