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 (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