TU Dresden  ◆  Faculty of Computer Science  ◆  Institute of Theoretical Computer Science  ◆  Chair of Automata Theory  ◆  Dr. Patrick Koopmann

CAPI: Connection-minimal Abduction using Prime Implicates

CAPI is a tool to perform abduction for EL TBoxes. Specifically, it computes, given a TBox and a subsumption relation that does not follow from the TBox, a set of axioms that could be added to the TBox to produce the entailment. From all the possibilities of achieving this, CAPI computes those solutions that are "connection-minimal".

Since 2022-12-13, version 0.2 is available, which comes with additional post-processing options.


More information and technical details of the underlying methods can be found in the following publications:

F. Haifani, P. Koopmann, and S. Tourret: Connection Minimal Abduction in EL via Translation in FOL. International Joint Conference on Automated Reasoning (IJCAR-2022). pages 188-207. Springer, 2022 Link

F. Haifani, P. Koopmann, and S. Tourret: Connection Minimal Abduction in EL via Translation in FOL (Extended Abstract). Description Logics Worksop (DL-2022). Best student paper. CEUR-WS.org, 2022. Link

F. Haifani, P. Koopmann, and S. Tourret: Introducing Connection Minimal Abduction for Ontologies. Informal Proceedings of the 2nd Workshop on Explainable Logic-Based Knowledge Representation (XLoKR-2021), 2021. Link

F. Haifani, P. Koopmann, and S. Tourret: Abduction in via Translation to FOL. In Proceedings of the Second Workshop on Second-Order Quantifier Elimination and Related Topics (SOQE 2021), volume 3009 of CEUR Workshop Proceedings, pages 46–58. CEUR-WS.org, 2021. Link



If you have any queries, suggestions or noticed any problems or bugs, please send me a message: patrick.koopmann@tu-dresden.de

Download

Source code: capi-0.2.zip


Requirements

To compile, CAPI requires Maven (available from https://maven.apache.org), Java version >=9, and a recent C compiler.


Installation

Compile the Java component:

	cd java_component 
        mvn package
	cp target/capi-java-component-0.2-SNAPSHOT-jar-with-dependencies.jar ..
	cd ..
      

Compile the SPASS component:

  	cd spass
        make clean
        make
	cp SPASS ..
	cd ..
      

Usage

CAPI is used as follows from the command line to generate hypotheses for a missing entailed concept inclusion:

	./generate-hypotheses.sh OWL-FILE SUBCLASS_IRI SUPER_CLASS_IRI [TIME_LIMIT=10]
      

where OWL-FILE points to an ontology to be used as background knowledge and SUBCLASS_IRI and SUPERCLASS_IRI determine the observation (the missing entailment to be fixed or explained), and the optional argument TIME_LIMIT sets the time limit to the prime implicate generation (default is 10 seconds). Since version 0.2, additional options are provided to post-process the hypotheses, e.g. by simplifying conjunctions or removing redundant axioms. See README.md for details.

The list of hypotheses is then printed to the standard output.

Example:

The following will compute axioms to be added to the pizza ontology to make Margherita a subclass of MeatyPizza:

	./generate-hypotheses.sh pizza.owl http://www.co-ode.org/ontologies/pizza/pizza.owl#Margherita \
	                                   http://www.co-ode.org/ontologies/pizza/pizza.owl#MeatyPizza \
	                                   2 simplify-conjunctions remove-redundant-axioms semantically-ordered