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


Source code: capi-0.2.zip


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


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
	cp SPASS ..
	cd ..


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


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.


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