Implementation and Experimental Data Used in "Forgetting Concept and Role Symbols in ALCH-Ontologies"


This page provides the corpora and the implementation used in the following paper:

Koopmann, P., Schmidt, R.A.: Forgetting Concept and Role Symbols in ALCH-Ontologies. In: Proc. LPAR'13. Springer (2013). Link Long Manuscript Version.

If you have any queries, suggestions or noticed any problems, feel free to send me a message: koopmanp@cs.man.ac.uk

Implementation

Stand-alone version: uniformInterpolation-standalone.tar.gz
Implementation as library: uniformInterpolation.jar


The stand-alone version contains a stand-alone jar-file of the implementation and bash scripts to run the experiments from the commandline. All dependencies of our implementation are included in the jar-file, so that only a compatible java interpreter is neccessary to execute it. The libraries included in the jar-file are the Scala Library 2.10.1 , the OWL API 3.2.4 and Zero-Log 0.3.3 . The jar-file has been tested with the Java 1.7.0, as implemented in the 64-Bit edition of the OpenJDK Runtime environment (IcedTea 2.3.9)

The second link is provided in case someone wants to use the implementation in its own project. It contains only the classes we implemented ourselves, and requires the above mentioned libraries in the java class-path.

Corpus Used

corpus_LPAR.tar.gz

Usage of The Stand-Alone Version

1. Unzip all files

tar -xf uniformInterpolation-standalone.tar.gz
tar -xf corpus1.tar.gz corpus1
tar -xf corpus2.tar.gz corpus2

2. Rerun the forgetting experiments:

./forgetExperiments.sh corpus_LPAR.json > results.txt

3. Rerun the uniform interpolation experiments:

./interpolationExperiments.sh corpus_LPAR.json > results.txt

4. Forget concept symbols in a given ontology:

./forget.sh --owlFile OWL_FILE --signature SIGNATURE_FILE
./forget.sh --url ONTOLOGY_URL --signature SIGNATURE_FILE

SIGNATURE_FILE denotes a text file containing a list of owl class IRIs separated by newlines.

5. Compute uniform interpolants over a given set of concept symbols

./forget.sh --interpolate --owlFile OWLFILE --signature SIGNATURE_FILE
./forget.sh --interpolate --url ONTOLOGY_URL --signature SIGNATURE_FILE
where SIGNATURE_FILE denotes a text file containing a list of owl class IRIs separated by newlines.

6. Check further options

./forget.sh

Usage of The Library

There are two classes in the library that serve as an interface to the implementation, ALCInterpolator and ALCForgetter. Both take as input an ontology object and a list of symbols, which are represented using the data types of the OWL API (see http://owlapi.sourceforge.net/ for further information). Here is how they are used in Java:

import uk.ac.man.cs.koopmanp.ALCInterpolator
import uk.ac.man.cs.koopmanp.ALCForgetter

import org.semanticweb.owlapi.model.OWLEntity
import org.semanticweb.owlapi.model.OWLOntology
...
OWLOntology inputOntology;
Set<OWLEntity> symbols;
....
// forgetting a set of concept symbols from a given ontology:
OWLOntology forgettingResult = ALCForgetter.forget(inputOntology, symbols)

// computing the uniform interpolant over a given set of concept symbols:
OWLOntology interpolant = ALCInterpolator.uniformInterpolant(inputOntology, symbols)