Experimental Data Used In The WoMO Workshop Paper

This page provides the corpora and the implementation used in the workshop paper Koopmann, P., Schmidt, R.A.: Implementation and Evaluation of Forgetting In ALC-Ontologies. In: Proc. WoMO’13. CEUR-WS.org (2013) Manuscript

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


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.

Corpora Used

Forgetting small signatures: corpus1.tar.gz
Computing uniform interpolants over small signatures: corpus2.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 corpus1/corpus1.json > results.txt

3. Rerun the uniform interpolation experiments:

./interpolationExperiments.sh corpus2/corpus2.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


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)

So far only forgetting of concept symbols is supported. Also note that our implementation is not thread-safe.