Measuring Design Complexity of Semantic Web Ontologies - Companion Page

Hongyu Zhang, Yuan-Fang Li and Hee Beng Kuan Tan

The companion web page for our paper titled "Measuring Design Complexity of Semantic Web Ontologies" published in the Elsevier Journal of Systems and Software. If you have any comments/questions regarding the research work or software, please feel free to contact us.


This page describes the software we developed for our research work on measuring the design complexity of (OWL) ontologies using a suite of complexity metrics. It also contains descriptions on some of the ontologies we collected from public domain that were used in the evaluation of the metrics.

The software

The software is developed in Java, making use of the Jena and Protege-OWL APIs for the processing of ontologies. Maven is used for the dependency management and packaging.

The software can be downloaded here (17.1 MB). The one-jar style distribution named "OntComplexity-1.0-fat-jar.jar" includes the complexity metrics calculation software and all the required dependencies (Jena, Protege-OWL, etc.).

The software takes a directory name as input and produces the metrics values for all the OWL ontologies in that directory. The output is appended to a file named "stats.txt" in the same directory. For each ontology, the following information is recorded:

For details please refer to our paper.

Java 1.5 is required to run the software. To run the software, issue the following command:

$ java -jar OntComplexity-1.0-fat-jar.jar ontologies/

In the current version, all the intermediate calculation values are stored in memory for each ontology. Hence, we recommend that you increase the heap size to at least 512MB to prevent out of memory errors, as follows:

$ java -Xmx512m -jar OntComplexity-1.0-fat-jar.jar ontologies/

The Ontologies

With this distribution we also provide 15 relatively small ontologies we collected from the public domain. They are organized in a compressed directory and can be downloaded here (321 KB). These ontologies can be used for testing purposes. More details on this ontologies and some other large ontologies that that we used to evaluate the metrics suite can be found in the paper.