A Java-based ontology reasoner for the OWL 2 EL profile.
For a detailed information, see the project wiki.
ELK is an ontology reasoner implementing a polynomial-time goal-directed consequence-based procedure for a fragment of OWL 2 EL.
Its distinguishing features include:
ELK can take advantage of multi-core processors to speed-up the computation of reasoning results.
ELK can update the reasoning results incrementally after changes in the ontology by only re-computing the reasoning results that depend on the changed axioms. In many cases, reasoning results, such as ontology class hierarchy, can be updated almost in real time
ELK can explain logical consequences of ontologies by showing how consequences are derived, step-by-step from the axioms of the ontology:
ELK is provided in several distribution packages for different use-cases:
A stand-alone command-line Java application can perform selected reasoning tasks with a given ontology. E.g., the following command classifies the Pizza ontology and saves the result in another file:
java -jar elk.jar -i pizza.owl -c -o pizza-taxonomy.owl
A library for the OWL API implementing the OWLReasoner interface. See an example how to perform queries using an OWL reasoner. Both versions 4.x and 5.x of OWL API are currently supported. To use the ELK OWL API library, include the following maven dependency to your project:
<dependency>
<groupId>io.github.liveontologies</groupId>
<artifactId>elk-owlapi</artifactId>
<version>0.6.0</version>
</dependency>
We provide a reasoner plug-in for the Protégé Desktop ontology editor, which can be installed from within the editor. See the general documentation about how to work with ontologies and use reasoners in Protégé.
ELK is Copyright (c) 2011 - 2024 Live Ontologies Project.
All sources of this project are available under the terms of the
Apache License 2.0
(see the file LICENSE.txt
).