From Semantic Web Standards
Jump to: navigation, search


Name of the tool: ELK
Home page: http://elk.semanticweb.org/
Date of latest release:
Programming language(s) that can be used with the tool: Java
Relevant semantic web technologies: OWL
Categories: Reasoner, Programming Environment, OWL Reasoner
See also:
Public mailing list: http://groups.google.com/group/elk-reasoner-discussion
Preferred project URI:
DOAP reference:
Company or institution: University of Oxford, University of Ulm

(Tool description last modified on 2016-01-14.)


ELK is a free and open source reasoner for the lightweight ontology language OWL 2 EL. It is based on Java and can be controlled using the OWL API, Protégé, the Snow Owl ontology editor, or a basic command line interface. ELK is available under the Apache License 2.0.

ELK is very fast. It can classify the SNOMED CT ontology with around 300,000 classes in a few seconds on a modern laptop (details can be found in a technical report). This is achieved by highly optimized consequence-based reasoning algorithms that can also take advantage of multi-core CPUs.

The latest 0.4.0 release features the new incremental reasoning support. If performing reasoning tasks after small ontology modifications, ELK 0.4.0 tries to reuse the result of the previous computations as much as possible. This makes reclassification of ontologies in editors like Protege almost instantaneous. Thanks to incremental reasoning, ELK 0.4.0 now also supports answering DL queries with complex class expressions, as well as finding explanations using the explanation workbench in Protege 4.x.

There is also a full list of changes available online.

The main features are:

  • Reasoning tasks: classification, consistency checking, class instance retrieval
  • Supported OWL constructs: property chains, owl:Nothing, class disjointness, class intersection, object property domains, class and property assertions, reflexive properties, and DataHasValue
  • OWL API bindings
  • Protégé plugin (can also be used in Snow Owl)
  • Command line interface
  • Parser for input files in OWL 2 Functional Style Syntax