======
The OWL API is a Java API for creating, manipulating and serialising OWL Ontologies.
The latest version of the API supports OWL 2.
OWLAPI 5.5.0 requires Java 11
It is available under Open Source licenses (LGPL and Apache).
The following components are included:
Features:
DLSyntaxHTMLStorer
#583DLSyntaxHTMLStorer
#583Supported Java versions: Java 7, Java 8
Features and updates implemented:
Features implemented:
Features implemented:
This version restructures the Maven modules into six modules: api, impl, parsers, tools, apibinding and contract. Code is unchanged, only its organization in the SVN is changed.
To split the dependencies accordingly, DefaultExplanationOrderer is in contract and is only a shell for ExplanationOrdererImpl, which does not depend on OWLManager directly. This enables the tools module to be used with a different apibinfing without recompilation.
This version wraps together some minor bug fixes and some performance improvements for loading time and memory footprint for large ontologies. Maven support has been much improved, thanks to Thomas Scharrenbach's efforts and Peter Ansell's feedback and suggestions.
This version of the API is released under both LGPL v3 and Apache license v2; developers are therefore free to choose which one to use.
This version of the API is released under both LGPL v3 and Apache license v2; developers are therefore free to choose which one to use.
This version of the API includes various bug fixes and performance enhancements since version 3.1.0
This version of the API includes various bug fixes and enhancements since version 3.0.0.
Changes to the representation of literals:
Please note that there is a slight incompatibility between version 3.1.0 and version 3.0.0. This is due to some changes in the way that literals are represented and handled in the API. There was a disparity between how they are described in the OWL 2 specification and how they are represented in version 3.0.0 of the API. The changes bring 3.1.0 inline with the OWL 2 specification. The changes are as follows: OWLStringLiteral and OWLTypedLiteral have been removed and replaced OWLLiteral. In version 3.0.0 OWLLiteral was a super-interface of OWLStringLiteral and OWLTypedLiteral. Clients therefore need to replace occurrences of OWLStringLiteral and OWLTypedLiteral with OWLLiteral. Method calls need not be changed - methods on OWLStringLiteral and OWLTypedLiteral have corresponding methods on OWLLiteral. Note that all literals are now typed. What used to be regarded as OWLStringLiterals are now OWLLiterals with the datatype rdf:PlainLiteral. Although this change introduces a slight backward incompatibility with the previous version of the API we believe that the handling of literals in 3.1.0 is much cleaner and follows the specification more closely.
Changes to the OWLReasoner interface:
The OWLReasoner interface has been updated. There are now methods which allow for fine-grained control over reasoning tasks. For example, it is now possible to request that a reasoner just classifies the class hierarchy, when in version 3.0.0 the prepare reasoner method caused realisation to occur as well. The prepareReasoner method has been removed from the interface due to the huge amount of confusion it caused (it was not necessary to call this method to get correct results, but the name suggested that it was necessary). Clients should update their code to replace any calls to prepareReasoner with appropriate calls to precomputeInferences.
JavaDoc for various methods has been cleaned up.
Version 3.0.0 is incompatible with previous releases. Many interface names have been changed in order to acheive a close alignment with the names used in the OWL 2 Structural Specification and Functional Style Syntax. (See http://www.w3.org/TR/2009/REC-owl2-syntax-20091027/)
The opportunity to clean up method names was also taken.