/owl2-reasoners-benchmark

This is ta console java application that allows the speed evaluating OWL 2 reasoners on a specified ontologies. This application was implemented in the evaluating owl 2 reasoning process for the ORE 2014 paper.

Primary LanguageJavaMIT LicenseMIT

owl2-reasoners-benchmark

This is ta console java application that allows the speed evaluating OWL 2 reasoners on a specified ontologies. This application was implemented in the evaluating owl 2 reasoning process for the ORE 2014 paper.

status version stable oss lifecycle maintenance latest release date last commit

license Contributor Covenant


📇 Table of Contents

📖 About

This is a console java application that allows the speed evaluating OWL 2 reasoners on a specified ontologies. This application was implemented in the evaluating owl 2 reasoning process for the ORE 2014 paper.

Motivation

During developing a model for representing the relational databases semantics in DL axioms and assetions, it was necessary to evaluate the reasoning speed of such a solution. This benchmark was developed and allowed to evaluate the reasoning speed of OWL 2 reasoners (such as TReasoner, Hermit, Fact++). The results of this evaluating were presented at OWL Reasoner Evaluation Workshop 2014 in this article http://ceur-ws.org/Vol-1207/paper_8.pdf.

📸 Demo

These pictures demonstrate the benchmark results examples (time in ns).

  • The results in *.xls: The results in xls

  • The log output in *.html: The log in html

  • The log in console/terminal: The log in console/terminal

🎚 Features

  • Choose reasoners and run an estimate of the time spent on the selected resonators on a set of ontologies;

To Do

  • For more information on an upcoming development, please read the todo list. No plans.

Changelog

  • For more information on a releases, a features and a changes, please read the changelog notes.

🚦 Getting Started

These instructions allow to get a copy of this project and run it on a local machine.

Installing

In order to install it is quite simple to clone or download this repository.

Cloning

For the cloning this repository to a local machine, just use the follows link:

https://github.com/ololx/owl2-reasoners-benchmark

Using

To use it is necessary to: 1 - Build the project (via IDE tools or Ant). 2 - Configure the OWL2ReasonersBenchmark. 3 - Launch the OWL2ReasonersBenchmark.

Configuring

It is possible to set test parameters (rezoners, folder with test data, folder for saving results, etc.) via the configuration file cfg.ini. The example of configurations is presented below:

SEPARATOR = ;
RESULTS_DIR = E:
TEST_DIR = E:/q
REASONERS_LIST = HErmit;Treasoner
REASONING_LIST = CONSISTENT
TEST_ITERATION = 1
DELAY_BETWEEN_ITERATION = 17

Launching

  • Firstly, it is necessary to put ontologies in the directory defined as TEST_DIR in cfg.ini. The input dir with test data

  • To execute this benchmark.

  • After execution the benchmark results will be in the directory defined as RESULTS_DIR in cfg.ini. The output dir with results

🛠 Built With

  • OWL API 3.4.10 - the Java API for creating, manipulating and serialising OWL Ontologies.
  • TREasoner - the OWL DL Reasoner implemented in Java.
  • FACT++ 1.6.2 - the OWL DL Reasoner implemented in C++.
  • JFact - the Java port of the FaCT++ OWL DL reasoner;.
  • HermiT - the OWL DL Reasoner implemented in Java.
  • Pellet - the OWL DL Reasoner implemented in Java.
  • MORe - the OWL DL Reasoner implemented in Java.
  • ELK - the OWL DL Reasoner implemented in Java.
  • APACHE POI - the Java library for reading and writing Microsoft Office binary and OOXML file formats.
  • Log4j - the logging facade that may, of course, be used with the Log4j implementation, but may also be used in front of other logging implementations such as Logback.

🎉 Contributing

If you want to contribute this project - you are welcome and have fun. Please visit the contributing section for details on this code of conduct, and the process for submitting pull requests.

📝 Code of Conduct

In order to ensure that all is welcoming, please review and abide by the code of conduct.

🗒 Versioning

For the versioning is used Semantic Versioning. For the versions available, see the changelog or the tags on this repository.

©️ Authors

  • Alexander A. Kropotin - Initial work - ololx.

🔏 Licensing

This project is licensed under the MIT license - see the lisence document for details.