SADL uses a plug-in architecture allowing various reasoners, along with a corresponding translator, to be used with SADL. The first of these reasoners to be implemented, and the current default, is the Jena reasoner, wrapped in the class JenaReasonerPlugin.
The Jena reasoner is highly configurable, and the configuration can make a significant difference in inferencing results. For example, if an OWL equivalence class is created thought the use of the SADL construct "only if" in a class definition, a reasoner supporting OWL entailments may use this for classification. However, if the Jena reasoner configuration does not enable OWL entailments, no such results will occur. For details on Jena reasoner configurion, see Jena Reasoner Configuration.
Jena rules are very flexible in the way that they allow the inclusion of custom built-ins. Some built-ins are a part of the Jena distribution (see http://jena.apache.org/documentation/inference/#RULEbuiltins) while SADL supplies a variety of other built-ins found to be of practical value. For more information about Jena built-ins available in SADL see Provided Jena Built-ins.
In addition, Jena custom built-ins may be coded and deployed within SADL. For directions in doing so see Creating and Deploying Custom Jena Built-ins.