, Last updated by serban, on Wed, 10/06/2010 - 13:32

Updated at 22.March.2010eProPlan-I: A new reasoner plug-in for Protégé 4.0 combining FacT++ for DL-Reasoning with the XSB based f-Logic system Flora2 for Instance Reasoning (incl. SWRL-Rules). To use (by selecting it from the Reasoners menu from Protege) this reasonert:

  1. You must install XSB Version 3.1 (Sources and Binary for Windows) or 3.2 (Sources and Binary for MacOSX) and
  2. XSB (version 3.1 as well as 3.2) has a problem converting negative reals to strings, if you wana use negative real values in data properties you have to store this patched string.P in $XSB/syslib/ and run make inside this directory (or run makexsb from $XSB/build after replacing string.P with our version).
  3. You must install Flora2 version 0.95 (Androcymbium). (Make shure that the shell-script runflora is working,  we are using it.).
  4. Finally go to Protege Preferences->eProPlan-I  and set the path to Flora 2 directory and the path to a temporary directory with r/w/x rights.

The plugin uses FaCT++ as reasoner for the TBOX inferences, i.e to reason about concept-subsumption from the ontology. Flora-2 does the instance reasoning. It can infer concept membership based on: Sup-/Super-concept relations, Concept definitions, Domain and Range Restrictions of Properties, and SWRL-Rules that conclude on concepts.
It can infer Properties based on: Sub-Properties, Property characteristics e.g. transitive, and SWRL-Rules that conclude on Properties. It does not (not even in the simplest form): Propagate constrains along properties, e.g. from C :< P only R, C(a), P(a,b) it does not infer R(b),  Reasoning by case. It always treats differently named individuals as distinct. Due to XSB/Flora’s tabling it can evaluate a lot of rules, a "normal" prolog interpretation would get lost in an infinite recursion. In principle it reasons about both negation as "complement"-membership of concepts and properties and negation as failure, however Protégé 4.0 SWRL Editor doesn’t allow you to enter such rules.


We provide a view with a console that displays all the Flora2 commands and results. Also the user can write directly the commands to the console.

Figure 1 : The eProPlanI Console Window to inspect and test-call the reasoner/planner


The user can choose to either install XSB and Flora2 locally or to install them on a server. Before using the eProPlanI reasoner she should set into eProPlanI Preferences tab the path to both Flora2 and XSB. Also she can change the planner and compiler settings.

Figure 2 : eProPlan Preferences for the local version

Figure 3 : eProPlan Preferences for the server version

Building XSB on MacOS X

Building XSB 3.1 or 3.2 on Mac OS X 10.6 had some problems. You need to edit line 342 in $XBSHOME/emu/io_builtins_xsb.c

- int sprintf(char *s, const char *format, /* args */ ...);

+ int (sprintf)(char *s, const char *format, /* args */ ...);