Skip to content

Releases: dice-group/owlapy

owlapy 1.4.0

04 Feb 16:26
2c92968
Compare
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
Compare
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
Compare
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
Compare
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
Compare
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
Compare
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

owlapy 1.2.0

06 Aug 13:52
Compare
Choose a tag to compare

New release is out: owlapy 1.2.0

pip install -U owlapy

What's Changed

Owlapi Adaptor extended: #52 #53

  • Added infer_and_save method which you can use to generate inferred class assertion axioms from the given ontology and saves them to a file.
  • You can now use all the methods of the abstract class OWLReasoner from OWLAPIAdaptor or from an instance of SyncReasoner.

SyncReasoner updated: #53

  • SyncReasoner is no longer depended on owlready2 but now syncs directly to an owlapi reasoner like HermiT, etc.
  • Every implemented method of OWLReasoner now is forwarded to the synced reasoner.

2 new short form providers added for DLSyntaxObjectRenderer: #56

  • Added translating_short_form_provider. This is used for local ontologies mainly. Uses a reasoner to get the label value.

  • Added translating_short_form_endpoint. This is used for triplestores . Given an endpoint and a set of rules it will provide the desired behavior using SPARQL queries.

  • This providers enables the user to set rules for the representation value that will be used in a DL string after rendering.

    Initialize using partial from functools:

    from functools import partial
    
    partial_provider = partial(translating_short_form_endpoint, endpoint="https://some_endpoint.com/sparql", rules={})
    renderer = DLSyntaxObjectRenderer(short_form_provider=partial_provider)

    Check the docstrings for more details.

Full Changelog: 1.1.1...1.2.0

owlapy 1.1.1

15 Jul 11:45
a619e2c
Compare
Choose a tag to compare

Happy to share this new release where we added owlapi adaptor.

Update/install:

pip install -U owlapy

What's Changed

  • Added owlapi adaptor in #46
    • Refactoring of owlapi adaptor: #47 #49

About OWLAPIAdaptor

This class serves as a bridge between owlapi and owlapy. You can now directly use reasoners such as HermiT , Pellet etc., to retrieve instances for a given class expression in a given ontology. Please check the documentation and the example for more details on what the adaptor offers.

We will continue to improve this adaptor in the future release.

Full Changelog: 1.1.0...1.1.1

owlapy 1.1.0

27 May 12:44
Compare
Choose a tag to compare

We're happy to announce the new release - owlapy 1.1.0.

You can install/update using pip install -U owlapy.

What's Changed

  • License updated to MIT License by @alkidbaci in 94e2809.
  • New module owl_hierarchy.py (expressing OWL hierarchy) and extra utils method which are now all moved to utils.py are added by @alkidbaci in #38.
  • An alternative for the ForAll mapping based on De Morgan's laws is introduced to owl2sparql converter by @nkaralis in #39 .
  • New examples and modules added and some refactoring changes by @alkidbaci in #41 .
  • Classes for ontology manipulation added by @alkidbaci in #42 .
    • Ontology representation class: owlapy.owl_ontology.Ontology.
    • Ontology manager class for managing ontologies: owlapy.owl_ontology_manager.OntologyManager.
    • 3 ontology reasoner classes for reasoning over ontologies in owlapy/owl_reasoner: OntologyReasoner, FastInstanceCheckerReasoner and SyncReasoner.

Documentation for ontology manipulation will be added soon.
Edit: Documentation is now added. Check also the examples.

Full Changelog: 1.0.2...1.1.0

owlapy 1.0.2

03 May 19:01
5994940
Compare
Choose a tag to compare

We're happy to announce the new release - owlapy 1.0.2.

You can install/update using pip install -U owlapy.

What's Changed

Full Changelog: 1.0.0...1.0.2