IRIS Reasoner

IRIS - Integrated Rule Inference System is an extensible reasoning engine for expressive rule-based languages.

Currently IRIS supports the following features:

The following bottom-up rule evaluation algorithms are supported:

The following top-down evaluation strategies are supported: The following program evaluation strategies are supported: The following program optimisations are supported:

To learn more about the theoretical results that the reasoner is based upon have a look at the theoretical results.

The continued development of IRIS has been funded in part by SOA4All a European Framework 7 research project.

IRIS Applications

IRIS is a available under the GNU lesser general public licence (LGPL). It has been developed with the aim of supporting reasoning over WSML ontologies, but can also be used in many other contexts. See below for the use cases we know of:

If you are using IRIS in another context, please inform us and we will be pleased to describe your application on this website.


24 Feb 2020

IRIS version 0.60 released.
The important new feature in this release is that rules may have equality in their heads. This permits the ability to infer that two identifiers represent the same object, i.e. that they are aliases. The behaviour is similar to 'owl:sameAs'.

19 Sep 2008

IRIS version 0.58 released.
Unsafe rules are now supported. The technique involves a rule augmentation step, where extra literals are added to rules using a special 'universe' predicate. This predicate automatically contains all ground terms found in the input program.

The parser has been improved:
1) comments can now span multiple lines using /* ... */
2) both ' and " can be used for string delimiters
3) ' and " can be used inside strings using the escape character (\)
4) all characters are now allowed in strings
5) an end-of-line comment (//...) is now allowed at the end of a program

Magic sets has been re-introduced, although there are still issues: The well-founded model of the transformed program does not always coincide with that of the original program.

Proper support for XML schema data-types. 'time', 'datetime' and 'duration' now have a floating point seconds field. 'date' now has a timezone field that was previously missing. Many bugs have been found and fixed relating to arithmetic with all the date and time data-types.

Several other important bugs have also been fixed.

28 Feb 2008

IRIS version 0.5.7 released.
This release introduces the first version of an alternating fixed point method to compute the well-founded model.
Also included is a fix for an important bug in rule evaluation.
The magic sets optimisation is still disabled for this release.

13 Feb 2008

IRIS version 0.5.6 released.
This is an interim release to fix an important bug in the rule compiler and also offer greater flexibility in rule format using:

  • constructed terms with equality and inequality (unification)
  • positioning of negated ordinary predicates
The magic sets optimisation is still disabled for this release.

01 Feb 2008

IRIS version 0.5.5 released.
This is an interim release for function symbols and an all new, faster evaluation implementation.
Also included is a GUI user environment (org.deri.iris.DemoW), new built-in predicates (including a regular expression matcher) and numerous bug fixes.
However, the magic sets optimisation is disabled for this release.

08 Nov 2007

IRIS version 0.5 released.
More built-in predicates, local stratification and query containment. Fixes for magic sets (conjunctive queries). New behaviour for built-ins and inconsistent data types.

19 Sep 2007

IRIS version 0.4 released.
Some database integration work started, lots of modifications to the date/time data types and many bug fixes.

13 Jul 2007

We have created an initial draft of our web site and introduced a daily build system.