the Tiny Matchmaking Engine

What is Tiny-ME?

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:

  • C API: it exposes the public API of the reasoning core, and provides access to KB axioms via the Cowl library.
  • Java API: interface for Java SE and Android runtime environments, exploiting the OWL API.
  • Objective-C API: the preferred interface for iOS and macOS applications, implemented on top of the OWL API for iOS.

For more information and usage examples, please refer to the system API docs.


Documentation and usage examples for the system APIs.


Tiny-ME is distributed for the purpose of academic review and evaluation. Any other use is not allowed.

Experimental evaluation setup

You can replicate the experiments we presented in Tiny-ME's paper as follows.

Test framework setup

Download and setup the evOWLuator framework by following the instructions available in its online documentation.

Dataset setup

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:

└── 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

Reasoner setup

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:

Test execution

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.


Scientific publications about Tiny-ME.

  1. [Main publication] Michele Ruta, Floriano Scioscia, Ivano Bilenchi, Filippo Gramegna, Giuseppe Loseto, Saverio Ieva, Agnese Pinto.
    A multiplatform reasoning engine for the Semantic Web of Everything.
    Journal of Web Semantics, Volume 73 - July 2022.

  2. [Case study] Giuseppe Loseto, Floriano Scioscia, Michele Ruta, Filippo Gramegna, Ivano Bilenchi.
    Semantic-based Adaptation of Quality of Experience in Web Multimedia Streams.
    38th ACM/SIGAPP Symposium On Applied Computing (SAC 2023)

Developed By
Logo SisInfLab Logo Poliba Logo SWoT