Tiny-ME is a multiplatform, lightweight OWL reasoner and matchmaker for the Semantic Web of Everything. It supports standard Semantic Web technologies through the OWL language, and implements both standard reasoning tasks for knowledge base (KB) management (classification, coherence, subsumption, satisfiability) and non-standard inference services for semantic-based matchmaking and resource ranking (abduction, bonus, contraction, difference, covering).
The system is composed of a shared C core, which grants both portability and efficient implementation of KB management primitives and inference services, and of three APIs:
For more information and usage examples, please refer to the system API docs.
Download and setup the evOWLuator framework by following the instructions available in its online documentation.
The dataset for the experiments can be generated by filtering the ORE2014 Reasoner Competition dataset according to the dataset.csv file available in our test results archive. The filtered dataset should have the following directory structure relative to evOWLuator's data directory:
data └── ore2014 └── functional ├── ontology1.owl ├── ontology2.owl ...
As an example, the filtering can be easily carried out in Bash as follows:
mkdir -p ${EVOWLUATOR_INSTALL_DIR}/data/ore2014/functional cd ${ORE2014_DATASET_DIR}/files awk -F',' 'NR > 1 {print $1}' ${RESULTS_DIR}/dataset.csv > index.txt xargs -a index.txt cp -t ${EVOWLUATOR_INSTALL_DIR}/data/ore2014/functional
Some of the reasoners under test require ontologies in RDF/XML format. Once the functional dataset is correctly setup, its RDF/XML equivalent can be easily generated via evOWLuator:
./evowluate convert -d ore2014 -s rdfxml
If you're reproducing tests on macOS, we provide an archive containing desktop reasoners with adequate CLI wrappers, along with configuration required to integrate them in evOWLuator.
If you wish to reproduce them on a different platform, including mobile devices, you will have to retrieve the reasoners from their respective download pages, and follow instructions available on evOWLuator's documentation. Note that some of them (including some Tiny-ME variants) only come in library form, so you will also need to provide a minimal CLI wrapper for the reasoning tasks you wish to test.
Here are links to the home pages of the reasoners we used in our tests:
Once the datasets and reasoners are correctly configured, you can easily run tests via evOWLuator's CLI. As an example, to evaluate turnaround times and memory usage of the classification inference task for all reasoners:
./evowluate classification -m performance -d ore2014
You can also restrict tests to specific reasoners, which is useful to separately run desktop and mobile tests. For further details, have a look at evOWLuator's documentation.