Skip to content

Releases: dice-group/owlapy

owlapy 1.6.1

29 Sep 11:24
1686795

Choose a tag to compare

Release Highlights

  • Added a new functionality: syntactic class expression simplifier for making lengthy class expression less complex.
  • Fixed an issue where the ontogen module was not being found.
  • Improved and updated documentation for better clarity and usability.

Install/Upgrade:

pip install -U owlapy

What's Changed

Full Changelog: 1.6.0...1.6.1

owlapy 1.6.0

01 Aug 16:43
cb54417

Choose a tag to compare

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

New Contributors

Full Changelog: 1.5.1...1.6.0

owlapy 1.5.1

21 May 15:12
05cfbdc

Choose a tag to compare

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

Full Changelog: 1.5.0...1.5.1

owlapy 1.5.0

09 Apr 10:54
1901b3f

Choose a tag to compare

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

Full Changelog: 1.4.0...1.5.0

owlapy 1.4.0

04 Feb 16:26
2c92968

Choose a tag to compare

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-serve to 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)

Full Changelog: 1.3.3...1.4.0

owlapy 1.3.3

11 Nov 13:34
d3cf32e

Choose a tag to compare

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

New Contributors

Full Changelog: 1.3.2...1.3.3

owlapy 1.3.2

06 Nov 12:37
291ea43

Choose a tag to compare

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

owlapy 1.3.1

17 Oct 15:18
a42f799

Choose a tag to compare

Version 1.3.1 is now out where some fixes and refactoring has been made as well as some new features are introduced.
You can find more details in the PRs below.

Install/Upgrade:

pip install -U owlapy

What's Changed

Full Changelog: 1.3.0...1.3.1

owlapy 1.3.0

10 Sep 13:01

Choose a tag to compare

Happy to share with you version 1.3.0 of owlapy. We present some new classes as well as some important changes. Feel free to read the highlights below.

As always you can upgrade using pip:

pip install -U owlapy

New

Changes

  • OWLAPIAdaptor is removed/disbanded. Its methods are now moved directly to SyncReasoner.
  • OWLAPIMapper is now initialized using SyncOntology.
  • SyncReasoner and SyncOntology can now be initialized directly using the path of the ontology (instead of the IRI).
  • Abstract classes OWLReasoner, OWLReasonerEx, OWLOntology, OWLOntologyManager and OWLOntologyChange moved to subpackage owlapy.abstracts.
  • 'add' and 'remove' axiom methods are moved from OWLOntologyManager to OWLOntology. This comes with parameters changes. Check the docstrings.
  • Signature changes on methods of OWLReasoner:
    • The argument only_named is no longer a required argument of the abstract methods
    • The argument direct is no longer required on the following methods: data_property_values, object_property_values and all_data_property_values.
  • JPype start and stop functions moved to owlapy/sync_functions.py.

Docs

  • Documentation updated in accordance.
  • README updated in accordance.

PRs

#62 #64

Full Changelog: 1.2.1...1.3.0

owlapy 1.2.1

22 Aug 10:34
3f6f75e

Choose a tag to compare

OWL Reasoners for Type Inference and Ontology Enrichment

With OWLAPI integration, we can enjoy owlapi in python.
For instance, OWL Reasoners like 'HermiT' and 'Pellet' can be easily used to infer missing type information.

from owlapy.owl_ontology_manager import OntologyManager
from owlapy.owlapi_adaptor import OWLAPIAdaptor

ontology_path = "KGs/Family/family-benchmark_rich_background.owl"
# Available OWL Reasoners: 'HermiT', 'Pellet', 'JFact', 'Openllet'
owlapi_adaptor = OWLAPIAdaptor(path=ontology_path, name_reasoner="Pellet")
onto = OntologyManager().load_ontology(ontology_path)
# Iterate over defined owl Classes in the signature
for i in onto.classes_in_signature():
    # Performing type inference with Pellet
    instances=owlapi_adaptor.instances(i,direct=False)
    print(f"Class:{i}\t Num instances:{len(instances)}")
owlapi_adaptor.stopJVM()

What's Changed

Full Changelog: 1.1.1...1.2.1