Keywords

1 Introduction

The growing interest during the last decades of practitioners in ontology development methodologies has facilitated major progress, transforming the art of building ontologies into an engineering activity.. The correct application of such methodologies benefits ontology quality. However, such quality is not totally guaranteed because developers must tackle a wide range of difficulties and handicaps when modelling ontologies [1, 2, 5, 8]. These difficulties can imply the appearance of the so-called anomalies or bad practices in ontologies. Therefore, it is important to evaluate the ontologies before using or reusing them in other ontologies or semantic applications.

One of the crucial issues in ontology evaluation is the identification of anomalies in the ontologies. In this regard, it is worth mentioning that Rector et al. [8] describe a set of common errors made by developers during the ontology modelling. Moreover, Gómez-Pérez [4] proposes a classification of errors identified during the evaluation of different features such as consistency, completeness, and conciseness in ontology taxonomies. Finally, Poveda et al. [7] identify an initial catalogue of common pitfalls.

In this context, our goal within this paper is to present an automated tool to help ontology practitioners by detecting common pitfalls during the ontology development. This tool is called OOPS! (OntOlogy Pitfall Scanner!) and represents a new option for ontology developers within ontology evaluation tools as it enlarges the list of errors detected by most recent and available works (e.g. MoKiFootnote 1 [6] and XD AnalyzerFootnote 2). In addition, OOPS! can be executed independently of the ontology development platform without configuration or installation and it also works with main web browsers (Firefox, Chrome, Safari and Internet ExplorerFootnote 3).

The remainder of this paper is structured as follows: Sect. 2 presents the main OOPS! features while Sect. 3 describes its architecture. Finally Sect. 4 outlines some conclusions and future steps to improve OOPS!.

2 OOPS! Features

OOPS! scans ontologies looking for potential pitfalls that could lead to modelling errors [7]. OOPS! is intended to be used by ontology developers during the ontology validation activity, particularly during the diagnosis task. Its main functionality is to analyze ontologiesFootnote 4 (a) via URL in which an ontology is located or (b) via text input containing the RDF code of the ontology. As a result of the analysis, OOPS! informs developers about which elements of the ontology are possibly affected by pitfalls.

Figure 1 shows OOPS! home pageFootnote 5 where a user can enter an ontology to be analyzed via URL or by pasting RDF code in the box. This page also presents a brief description of OOPS!.

Fig. 1.
figure 1

OOPS! home page

As result of analyzing the ontology provided by the user, OOPS! generates, as it is shown in Fig. 2, a new web page listing the pitfalls appearing in the ontology. This list provides information about (a) how many times a particular pitfall appears, (b) which specific ontology elements are affected by such a pitfall, and (c) a brief description about what the pitfall consist on.

Fig. 2.
figure 2

Example of evaluation results generated by OOPS!

Up to the moment of writing this paper, OOPS! helps to detect a subset of 21 pitfalls of those included in the catalogue.Footnote 6 Among others, appearances of pitfalls related to obtaining unexpected inferences (e.g., P6 and P19), to obtaining no inference (e.g., P12 and P13), and to usability issues (e.g., P8 and P11) are considered in OOPS!.

The current pitfall catalogue is included in the OOPS! web site. It is worth mentioning that the catalogue is continuously revised, since new kinds of modelling mistakes could appear as new ontologies are developed and evaluated. For example, pitfalls from P25 to P29 have been implemented in OOPS! extending the previous catalogue published in [6]. In addition, a form to suggest new pitfallsFootnote 7 is provided so that users can contribute enlarging the pitfall catalogue.

It is worth mentioning that OOPS! output points to ontology elements identified as potential errors but not necessarily factual errors and it depends on the type of pitfall detected. There are pitfalls that OOPS! detects in an automated way (e.g., P8 and P28) which means that they should be repaired; while others are detected in a semi-automated way (e.g., P13 and P24), which means that they must be manually checked in order to discern whether the elements identified actually contain errors.

3 OOPS! Architecture

In this section OOPS! underlying architecture is presented (see Fig. 3) as well as some technical details. Basically, OOPS! is a web application based on Java EE,Footnote 8 HTML,Footnote 9 jQuery,Footnote 10 JSPFootnote 11 and CSSFootnote 12 technologies. The web user interface consists on a simple view where the user enters the URL pointing to or the RDF document describing the ontology to be analyzed. Once the ontology is parsed using the Jena APIFootnote 13 the model is scanned looking for pitfalls, from those available in the pitfall catalogue. During this phase, the ontology elements involved in potential errors are detected as well as warnings regarding RDF syntax and some modelling suggestions are generated. Finally, the evaluation results are displayed by means of the web user interface showing the list of pitfalls appearing, if any, and the ontology elements affected as well as explanations describing the pitfalls.

Fig. 3.
figure 3

OOPS! architecture

4 Conclusions and Future Work

In this paper we have presented OOPS! main features and architecture and how this tool represents a step forward within ontology evaluation tools as (a) it enlarges the list of errors detected by most recent and available works (e.g. MoKi [6] and XD Analyzer), (b) it is fully independent of any ontology development environment and (c) it works with main web browsers (Firefox, Chrome, Safari and Internet Explorer).

OOPS! is currently being tested by Ontology Engineering GroupFootnote 14 members in order to debug it and extend its functionality. However, OOPS! has been already used by other ontology developers who belong to different organizations (such as AtoS, Tecnalia, Departament Arquitectura, La Salle at Universitat Ramon Llull and Human Mobility and Technology Laboratory at CICtourGUNE). In fact, OOPS! is freely available to users on the Web. It includes a link to a feedback formFootnote 15 so that everyone can test it and provide feedback and suggestions to be included in the tool.

As long as we discover new pitfalls during our research, they will be included in the current pitfall catalogue and implemented in OOPS!. In addition, we plan to improve and extend OOPS! features in the following lines:

  • To group and classify pitfalls by categories according to previous ontology quality criteria identified in [3] and [4]. This feature will provide more flexibility to the ontology evaluation, since it will allow users to diagnose their ontologies just with respect to the dimensions they are interested in.

  • To increase OOPS! features with guidelines about how to solve each pitfall. This information will ease the task of repairing the ontology after the diagnosis phase.

  • To associate priority levels to each pitfall according to their different types of consequences they can convey when appearing in an ontology. This feature will be useful to prioritize actions to be taken during the repairing task.

  • To make REST services available in order to allow other developments to use and integrate the pitfall scanner functionalities within their applications.

  • To allow users to define their own pitfalls, according with their particular quality criteria, in order to use OOPS! in a customized fashion.