This project implements a simple semantic web reasoner which supports ALC Expressiveness.
The architecture allows to exchange the functionalities necessitated by the interface provided by the OWL API
through an implementation which creates a new interface for each functionality.
The different interfaces can be found in
src/main/java/reasoner/components with their corresponding implementations in
src/main/java/reasoner/components/implementations. If desired, an implementation can be switched out by adapting the
method in src/main/jave/reasoner/Reasoner.java.
To understand how to use the provided code, check out the tests provided in
src/test/java/ where test for the type- and instance retrieval as well as test for
entailments can be found.
The ontologies this project uses are placed in src/main/resources/. Thus, to add a new ontology it simply needs to be
added to this folder in a format which is supported by the OWL API OWLManager.