Implementation of a concept interpolation method that was developed during a master thesis at the VU Amsterdam.
The core component is the interpolation package. It offers several parameters and methods for computing interpolants (see the class Interpolator for more details). Below is an example usage presented.
import org.semanticweb.owlapi.model.OWLClassExpression;
import org.semanticweb.owlapi.model.OWLEntity;
import org.semanticweb.owlapi.model.OWLOntology;
OWLOntology ontology = ...
OWLClassExpression C = ...
OWLClassExpression D = ...
Interpolator interpolator = new Interpolator(ontology, posExpr, negExpr);
Set<OWLEntity> signature = ...
InterpolationResult result = interpolator.computeInterpolant(signature);
if (result.isValid()) { // when the result is valid
result.getInterpolantExpresson(); // access the concept interpolant
}The package learning is a wrapper around the interpolation package that enables easy use of it. It can be used for demonstration purposes or in cases where a higher-level interaction with the Interpolator is desired.
The packages evaluation and conceptbuilding are not relevant for the interpolation tool, but were designed for experimental purposes. The same goes for the results and scripts folders.