Reasoners, OWL API Support, papers about the OWL API
Clone this wiki locally
A reasoner is a key component for working with OWL ontologies. In fact, virtually all querying of an OWL ontology (and its imports closure) should be done using a reasoner. This is because knowledge in an ontology might not be explicit and a reasoner is required to deduce implicit knowledge so that the correct query results are obtained.
The OWL API includes the
OWLReasoner interface for accessing OWL reasoners.
In order to access a reasoner via the API a reasoner implementation is needed.
Reasoners known to support these interfaces and relative factory classes:
- FaCT++ (
uk.ac.manchester.cs.factplusplus.owlapiv3.FaCTPlusPlusReasonerFactory, version 4 support imminent) FaCT++ 1.6.3 works with OWLAPI 4, although it was released before 4.0.0 was released.
- HermiT (
org.semanticweb.HermiT.ReasonerFactory, version 4.1.3 support here, version 5.0.0 support here) This is a fork whose purpose is to allow compatibility with 4.1.3 and 5.0.0.
- Pellet (
com.clarkparsia.pellet.owlapiv3.PelletReasonerFactory, version 4 support available) This is a fork of Pellet whose express purpose is to provide compatibility with OWLAPI 4.0.2.
- JFact (
uk.ac.manchester.cs.jfact.JFactFactory, version 4 support ready) Download version 4.0.3 from Maven Central. Version 5 support ready Download version 5.0.0 from Maven Central.
- Chainsaw (to be built manually)
- TrOWL (
eu.trowl.owlapi3.rel.reasoner.dl.RELReasonerFactory, version 4 support plans unknown)
- MORe (
org.semanticweb.more.MOReRLrewReasonerFactory, version 4 support plans unknown)
- ELK (
org.semanticweb.elk.owlapi.ElkReasonerFactory, version 4 support ready)
- Snorocket (
au.csiro.snorocket.owlapi.SnorocketReasonerFactory, version 4 support ready) The latest master is compatible with OWLAPI 4.0.2.
Note that the information on this list is incomplete and might change without notice: most of these reasoners are developed by third parties.
FaCT++ is developed in C++ and released as a binary library - it is interfaced to its Java
JNI, so to use it you will have to set up your JNI properties as well.
JNI module loading works by pointing the Java runtime to the folder containing the native binaries.
FaCT++, you need to locate the correct binaries for the platform you're running on. In the
FaCT++ distribution you'll find two folders,
64bit, each containing the binaries for Mac, Windows and Linux systems with the matching number of bits.
To point the runtime correctly, you'll need to set
java.library.path, for example on the command line:
Ensure you also have the
FaCT++ jar on the
classpath, as it contains the Java side of
FaCT++ and the loader for the
Support for OWL API
Looking for support? Subscribe to OWLAPI mailing list.
Alternatively, raise an issue and mark it as a question here on GitHub on the Issues page. You can also ask questions on StackOverflow and mark them with
owl-api, and the same can be done on answers.semanticweb.com.
Issues and feature requests
Please, feel free to create issues here on GitHub or on our SourceForge site.
Please note that support is provided on a 'best effort' basis - we do our best to help understanding the API and identifying bugs, provide workarounds and fixes, but you will be expected to actively contribute to resolve the issue. Provide code snippets, stack traces, examples of troublesome ontologies, detailed explanations of the issues - this is the best way to elicit prompt and useful answers.
If you use the OWL API for any work that is published, we would be grateful if you could cite the following publication.
Matthew Horridge, Sean Bechhofer The OWL API: A Java API for OWL Ontologies Semantic Web Journal 2(1), Special Issue on Semantic Web Tools and Systems, pp. 11-21, 2011. PDF
Other publications describing earlier versions of the OWL API.
Matthew Horridge, Sean Bechhofer The OWL API: A Java API for Working with OWL 2 Ontologies OWLED 2009, 6th OWL Experienced and Directions Workshop, Chantilly, Virginia, October 2009 PDF
Matthew Horridge, Sean Bechhofer, Olaf Noppens Igniting the OWL 1.1 Touch Paper: The OWL API OWLED 2007, 3rd OWL Experienced and Directions Workshop, Innsbruck, Austria, June 2007 PDF
Sean Bechhofer, Phillip Lord, Raphael Volz Cooking the Semantic Web with the OWL API 2nd International Semantic Web Conference, ISWC, Sanibel Island, Florida, October 2003. DBLP