Skip to content

ontolearn 0.7.0

Compare
Choose a tag to compare
@alkidbaci alkidbaci released this 07 Mar 16:18
· 471 commits to master since this release
520a268

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:

  1. examples/concept_learning_evaluation.py
  2. examples/concept_learning_cv_evaluation.py

Tree-based DL Learner (tDL) is now available in Ontolearn:

You can import it as follows:

from ontolearn.learners import TDL

Examples:

  1. examples/concept_learning_evaluation.py
  2. examples/concept_learning_cv_evaluation.py
  3. 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:

  1. examples/concept_learning_cv_evaluation.py

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 class KnowledgeBase to True. By default it is False.

  • Ontology and reasoner can be accessed directly:

    • From kb.ontology() → To kb.ontology
    • From kb.reasoner() → To kb.reasoner
  • 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:

  1. examples/concept_learning_via_triplestore_example.py
  2. 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 execute pip 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.