A prototype of a hybrid rule reasoner for ontologies.
Integrating classic forward chaining rule reasoning implemented by HeaRT with the Pellet.
Concept by Grzegorz J. Nalepa and Weronika T. Adrian (Furmańska), prototype implementation by Weronika T. Adrian.
There are 2 aspects of the integration of Pellet and HeaRT:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Reasoning with HeaRT-Pellet: % % 1. Build TBox: definitions of types and attributes % % a) build additional statements: 'allDifferent' for individuals % % 2. Call any inference mode you wish (GDI, TDI etc.) % % 3. In each state build an ABox representing this state % % 4. Whenever you check a rule preconditions: % % a) build rule axioms (temporary TBox), % % b) ontology = definitions TBox + rule axioms TBox + state ABox % % c) send the ontology to Pellet to check its consistency % % 5. Interpret the result, carry on as usual % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Reasoning with HeaRT-Pellet - Alternative version: % % % % 1. Build TBox: definitions of types and attributes % % a) build additional statements: 'allDifferent' for individuals % % 2. Call any inference mode you wish % % 3. In each state build an ABox representing this state % % 4. Whenever you check a rule preconditions: % % a) build rule axioms (ABox statements) % % b) definitions TBox + rule axioms aBox + state ABox % % c) send to Pellet to check realization the rule conditions % % 5. Interpret the result, carry on as usual % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Following the inference scenario:
1. HeaRT can be started with additional parameter in the gox
predicate:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % gox(StateIn,T,Mode,ExternalReasoner) % % ExternalReasoner - the one used to check the rules preconditions % % % % Augmented version of Heart - additional variable for an ext.reasoner % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2. Translating parts of the HMR model to RDF/XML
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % DAAL prototype translator. % -------------------------- % % Translates attributes into concepts, % attribute values into instances and % rule preconditions into T-Box like axioms. % % Supported operators: 'in', 'eq'. % Supported attributes: 'symbolic'. % % Basic predicates: % owl_xml_gen/0 - translate HMR file into DAAL representation (ontology). % owl_xml_gen/1 - translate HMR file into DAAL representation (ontology) % and write it to the file given as the argument. % owl_xml_attr_gen/0 - translate the attribute definitions % owl_rulp_gen/0 - translate the rules preconditions % owl_rulp_gen/1 - translate the given rule preconditions % owl_stat_gen/0 - translate the states statements % owl_stat_gen/1 - translate the given state statement % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3. Sending partial ontologies from HeaRT to Pellet
4. Interpreting the Pellet answers by HeaRT
heart-pellet.pl
- Extended version of HeaRT (works with the standard HeaRT distribution): additional parameter in gox
predicates for the external reasoner to useheart-daal-translator.pl
- predicates