eProPlan

eProPlan is an ontological modeling environment for planning Knowledge Discovery (KDD) workflows. We use ontological reasoning combined with AI planning techniques to automatically generate workflows for solving Data Mining (DM) problems. The KDD researchers can easily model not only their DM and preprocessing operators but also their DM tasks, that are used to guide the workflow generation. It allows to model new operators and produce a task-method decomposition grammar to solve DM problems. Designed as a plugin for the open-source ontology-editor Protege, eProPlan exploits the advantages of the ontology as a formal model for the domain knowledge. Instead of overusing the ontological inferences for planning we extend the ontological formalism with the main components of a plan, namely operator conditions & effects for classical planning and tasks-methods decomposition grammar for HTN-planning.

Download

Prerequisites

- XSB 3.2 - we are currently working on porting it to XSB 3.3 as well

- Flora 2 version 0.95

To use (by selecting it from the Reasoners menu from Protege) this reasoner:

  1. You must install XSB version 3.2 (Sources and Binary for MacOSX) and
  2. XSB (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 sure that the shell-script runflora is working,  we are using it.).
  4. Finally go to Protege Preferences->eProPlan-I, select as a ReasonerType Local  and set the path to the Flora 2 directory and the path to a temporary directory with r/w/x rights.
  5. Also set the TBOX reasoner you want to use. For Protege 4.0 Pellet works fine, and for 4.1 Pellet and Hermit.

The plugin uses the selected 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.