Keywords

These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

1 Introduction

Ontologies are the basic components of the semantic Web, where underlying data are well structured for the purpose of full machine understanding. As defined by Gruber, “an ontology is a formal, explicit specification of a shared conceptualization". It consists of a set of concepts (classes), a set of attributes (data type properties), relationships (object properties), and constraints to abstractly represent a specific event [20, 36]. An important aspect is how to facilitate the process of design, manage, and browsing such kind of complex structure. This results in a growing needs for ontology visualization tools that simplify the user involvement in these ontology-based management processes [24].

As a main way of knowledge representation, they have been becoming more and more largely used in different application domains. Even its importance in different application domains, ontology visualization is not a simple task. Since an ontology is more than a hierarchy of concepts. It further models role relations among concepts, and each concept has a set of properties attached to it. Therefore, a large number of ontology visualization approaches have been proposed and a set of tools have been developed [11, 24, 31, 33, 36]. Ontology visualizations is an important step for working with ontologies and it should provide a multi-level view in order to handle even entities, classes, properties, and blocks. To be useful, ontology graphical representation tools should encourage domain experts in the ontology creation and manipulating processes. Consequently, a smart visualization tool will enable the direct input from domain experts and reduce the dependency on knowledge engineers at every step of ontology development.

For example, by reducing the semantic gap between different overlapping representations of the same domain ontologies, visualizations techniques should provide support for ontology matching techniques. The process and the result of ontology matching need to be visualized as well, to get contextual feed back from user and produce better alignment results [2, 11]. Ontologies visualization tools like CODEX [22], REX [10] and OntoVIEW [34] focus on ontology evolution, aiming at tracking and marking the changes happened between versions of ontologies. In this field, visualization tools should provide distinguish representation symbols, color or pattern to differentiate the old ontologies content (concepts, links, entities, etc.) from the newest.

Motivated by these challenges, in this paper, we introduce a systematic review of existing ontology visualization approaches and tools in order to draw a road map of using ontology visualization implementations in ontology-based management systems. In particular, we start by motivating this review by presenting different application domains that make use of ontology visualization. We further introduce a generic ontology visualization pipeline to be used as a basis for discussing and comparing existing tools. After that, we elaborate a set of visualization tools. The paper also includes a discussion on the challenges and benefits that the field of ontology visualization brings forward. It is hoped that the survey would be helpful both to developers and to users. The rest of the paper is organized as follows: a set of application domains that benefit from ontology visualization is presented in the next section. We then introduce a generic pipeline that guides the ontology visualization in Sect. 3. In Sect. 4, we review ontology visualization tools and techniques. In Sect. 5, we discuss current state of the art solutions and enumerate most common challenges to be solved in our future work.

2 Application Domains

As mentioned before, ontologies are being widely used in different domains, and visualizing the ontology becomes an important step in the whole pipeline within these domains. To motivate the importance of ontology visualization, we summarize its use in some of these application domains.

  • Ontology creation and development - Developing ontologies is an important aspect of the Semantic Web [19]. For this reason, there exist a number of tools for ontology development [19], such as Protege [26], SWOOP [32], OntoLingua [15] and OBO-edit [9]. Ontology development tools allow the user to create and/or to modify the ontology by adding new concepts, relations and instances. Those tools may also contain many features like graph visulizor and search and constraint checking capabilities [19].

  • Ontology browsers - Several tools were developed to browse ontologies. Some of them are dedicated to analyse specific data sets such as agriGO [12], some others are for ontology exploration in general, such as Amigo [7], OLSViz [39] and FLEXViz [13]. Text-based ontology viewer, like Amigo [7], use a folder/subfolder-interface to explore hierarchies [39]. OLSViz [39] and FLEXViz [13], were created to improve the exploration of bio-ontologies. However, OLSViz [39] makes more efficient and intuitive use of the available screen space than FLEXViz [13].

  • Ontology matching - is the process that identifies and discover corresponding concepts across different ontologies [35]. It plays a crucial role in different shared-data applications, such as data and ontology integration [30]. Due to its importance, many matching algorithms have been proposed and a myriad of matching tools have been developed. Most of these tools provide a way to visualize the whole matching process for different goals [28, 37]. One is to enhance and support visual analytic in a semi-automatic matching process [28]. For example, ENViz is an approach to integrate data that performs joins enrichment analysis of two type matched datasets. In that tool, the role of ontology visualization is obvious to support user analysis during matching different datasets [28]. Another dimension is to involve the user in the matching process to validate the automatically generated alignment [11]. To sum up, there are different ways of user intervention in the ontology matching process: to select base matchers, to adjust similarity weights, or to validate matching result. All these kinds require an effective way to visualize ontologies to support user intervention.

  • Ontology evolution - is the process that timely adapts of the ontology due to the arisen changes and the consistent propagation of these changes to dependent artifacts [38]. For example, and based on statistics on BioPortalFootnote 1, the gene ontology in one month has about 17 different versions, which indicates a high rate of expanding the ontology. This necessitates the need for tools that support users during the ontology evolution process [27]. An ontology evolution system should have a set of functionalities: among them, showing ontology version, compare different versions, identify conflicts, showing conflicts, etc. Ontology visualization techniques could be used to support the desired functionality [5, 27]. For example, REX is a tool for discovering evolution in ontology regions by providing an interactive and user-friendly visualization to determine (un)stable regions in large life science ontologies [10]. CODEX is a tool that allows identifying semantic changes between two versions of an ontology which users can interactively analyze in multiple ways [22].

  • OBDA - Ontology-based data access (OBDA) is an elegant approach to improve data accessibility in which one ontology (or a set of ontologies) can be used as a mediator between data users and data sources [6, 18, 25, 36]. In the context of OBDA systems, visualization can be used in different scenarios. The development of the conceptual layer ontology is a clear scenario where ontology visualization is needed, where the ontology engineer can manage the ontology development and evolving process. Another dimension is the development of an ontology-based visual query system as an extension for the stream temporal one [36].

3 Generic Visualization Pipeline

In order to conduct a good survey and to construct a fair basis for comparing existing ontology visualization tools, a high-level architecture for a generic pipeline for ontology visualization is proposed. Figure ?? depicts the pipeline with three basic steps: ontology parsing, processing, and visual representation.

3.1 Ontology Representation

As mentioned before an ontology is a formal representation of a set of concepts within a domain and their relationships. In designing an ontology language, a tradeoff between the power of expressiveness and the efficiency of reasoning should be considered. As a result, there exist variant ontology languages based on these two criteria [1, 21]. For example, the Ontology Web Language (OWL) is currently the standard language for the semantic Web and it is compatible with early ontology languages, such as SHOE (Simple HTML Ontology Extension), DAIM + OIL (DARPA Agent Markup Language + Ontology Interchange Language). However, it is not feasible to satisfy the tradeoff between the expressiveness and the efficiency of reasoning, OWL comes with three various formats:

OWL Lite adds the possibility to express definitions and axioms, together with a limited use of properties to define classes. OWL DL supports those users who want the maximum expressiveness while retaining good computational properties. OWL Full is meant for users who want maximum expressiveness with no computational guarantees.

After reading and parsing an input ontology, the next step is how to internally represent it. Two common representation scheme could be used: tree-based or graph-based scheme. The first one is used to illustrate super/subclass relationships. Several tools such as SQuaRE [3] and CODEX [22] adopted this technique. The second one is the node-link diagrams (i.e., graphs), which represents ontologies as a set of interconnected nodes through edges that illustrate ontological entities and the relationships that exist among them. A number of visualization techniques have been used over the tools, such as tree-maps, tree-layouts, fisheye views [16], birdeye views, hyperbolic and 3D hyperbolic layouts. REX [10], the ontology evolution tool, as an example, used the fisheye view, since it makes the selected concept in the center, surrounded with its subconcepts. It’s useful when it’s the case of displaying a large structures. An ontology visualization tool should be generic and has the ability to handle ontology in different languages and formats. Therefore, a first step in the visualization is ontology representation, how the tool reads the input ontology and how it internally represents the ontology to capture its content. To simplify reading input ontologies, several APIs and frameworks have been proposed. Two commons are Apache Jena APIFootnote 2 and the OWL APIFootnote 3.

3.2 Processing

As part of the whole ontology visualization pipeline, processing has to support not only the presentation and of ontology components which are: classes (or entity types), relations, instances, and properties (or slots), but also the coarse and fine ontology manipulation. Those operations are fundamentals when dealing with domain expert ontology creation, editing and validating.

Basically, processing step might include zoom-in and zoom-out for locating specific nodes and provide a comprehensive view of the hierarchy level the user is zoomed in or out. Rotation and moving nodes are also the basic operation that should be integrated. However, an ontology visualization tool as we assume, should also contain some deep operations, like ontology alignment and merging. Consequently, matching two ontologies, for example, can be achieved by automatically discovering correspondences between nodes and by graphical mapping interfaces that might assist the process of refining these correspondences. Additionally, merging two ontologies in a new one, translating a query addressed to a source ontology into a query addressed to a target ontology should be mapped into the user interface and then handled graphically. As fine operation, merging two concepts in ontologies means that the user has to determine the scope of overlapping and decide if two concepts or more that are similar.

Verbalization is a part of processing step that should be integrated into the visualization tool. It gives a textual description or details about the selected ontology element from the graphical representation. In order to facilitate the access to ontology content, querying and search related operations should allow highlighting a specific element that user is looking for. An interpreter that parse textual or visual query is part of the processing step. As for the evolution related operations, history browsing, saving and loading of customized ontologies views is required. Consequently, a toolbox managing ontology version should be considered. Hence, our goal is to give an easy graphical way to deal with ontology processing.

3.3 Visual Representation

An ontology is composed of several elements. Visual representation of the ontology is to represent those elements visually and conceptually, in a way that the user can understand the whole hierarchy of the ontology [24]. The visualization method should display all the ontology classes, providing at least their name, in an intelligible manner. Also, it should display the data associated with the ontology which called the instances. The presentation of the “Isa relations” on which the ontology is based is also essential for understanding the inheritance relations between classes. For this reason, the system should at least provide a holistic view of this taxonomy, in a hierarchical representation. Finally, the properties associated with an entity are also very important and a complete visualization should include their representation, either on the main ontology visualization or within separate space.

4 Visualization Tools

This section is devoted to present current ontology visualization tools directed by generic steps in the proposed pipeline.

  • OWLGred Footnote 4 - is implemented as a web based application for ontology visualization [29]. After parsing input data using OWL API, the processing step includes data transformation aiming to retrieve information necessary for visualization. The analysis of axioms (TBox and ABox elements) aims at constructing UML-class diagram for the representation since most OWL features are mapped to UML concepts (OWL classes to UML classes, datatype properties to class attributes). As for verbalization process, authors of the tool used a Grammatical framework to facilitate the implementation of the CNLs. The user can then select an element from the ontology to generate a CNL verbalization of the corresponding axioms in ACE (Attempto Controlled English). Visual representation of this tool is provided through UML-notations. Generated graphs use an orthogonal layout where the inheritance-defining relations are presented in a hierarchical layout [29] and all other relations “flow” in the direction perpendicular to it. It is based on HTML5 canvasFootnote 5 element using KineticJS library where visualization is drawn according to the graph structure, element coordinates, and styles contained in its JSON structure.

  • ProtgVOWL Footnote 6 - are plugins for the ontology editor Protege [31], aiming to give a visual language dedicated not only for human expert, but also for users not familiar with ontologies. After parsing by OWL API, the processing step allows to transforming internal representation of parsed ontologies into the data model required by the Prefuse visualization toolkitFootnote 7 [23]. For visual representation, protégéVOWL is based on VOWL specifications which provide a visual language that can be understood by users less familiar with ontologies. Graphical primitives forming the alphabet of the visual language contains circles to depict classes, lines representing to represent property relations, while property labels and datatypes are shown in rectangles. VOWL defines also a color scheme for a better distinction between the different elements. Interface of VOWL contains three main layouts which are: VOWL Viewer for displaying the ontology, VOWL Sidebar for giving details about a selected element from the ontology and VOWL Controls for adapting the force directed graph layout.

  • MEMO GRAPH [17] - is an ontology visualization tool that follows the design-for-all philosophy. A preprocessing step is based on the parsing of OWL/RDF using OWL API. For the processing step, authors integrate a force-directed algorithm to display visualization and provide zoom in-out on nodes of ontologies. Besides, the tool supports the search functionality by keywords based search according to modalities typing and dictation. It supports also node selection to look for information expressed in easy to understand wording rather than the ontology jargon. Enriched by delivering auditory information, visual representation in MEMO GRAPH covers all the key elements of the ontology which are classes, instances, data and object properties. Relations between related nodes are represented using labeled links. Nodes of the ontology generated graph are identified by using pictures and labels. The interface of MEMO GRAPH is divided into three parts: The “MEMO GRAPH Viewer” displaying the ontology visualization as a graph, the “MEMO GRAPH details” listing details about a selected node, and the “MEMO GRAPH search” providing a key word search option.

  • OntoSphere Footnote 8 - is a 3D ontology visualization tool developed in Java as a stand-alone application [4]. For the preprocessing step Jena API is chosen, consequently the tool can allow to easily load and manage ontologies and taxonomies written either in RDF, RDFs, DAML, OWL or N-triple. The processing step has many manipulation features provided for users like the rotation, zoom, object selection, etc. It relies on browsing ontology as well as updating it by adding new concepts and new relations. The visual representation is based mainly on a 3D representation on which authors worked on increasing the number of dimensions (colors, shapes, transparency, etc.). It exploits different scene managers as RootFocus, TreeFocus and ConceptFocus that present and organize the information on the screen. The RootFocus Scene presents a big earth-like sphere bearing on its surface a collection of concepts represented as small spheres. The TreeFocus Scene shows the sub-tree displaying the hierarchical structure as well as semantic relations between classes. The ConceptFocus Scene depicts all the available information about a single concept, at the highest possible level of detail.

  • REX Footnote 9 - Region Evolution Explorer is based on a region discovery algorithm used mainly to determine differently changing regions for periodically updated ontologies and to interactively explore the changing intensity of those regions [10]. The tool handle supports the import of ontologies in different formats such as OWL and OBO. Based on the resulted parsed ontologies, the processing step aims at first computing differences between two versions to determine changes. It then propagates change costs within the is-a hierarchy of the ontology and transfers these costs from the first to the last considered version. Based on computed change intensities differently evolving ontology regions are discovered. Visual representation of ontology is a graph where nodes represent the concepts and edges represent the relations. The color feature was used in this tool to describe the concepts change intensity. Quantitative changes are also visualized in a graphical way as to curve of frequencies changes.

  • CODEX - is an ontology evolution tool, used to obtain knowledge about the evolving ontology [22]. It provides support for determining complex changes between two versions of ontologies. The tool deals with OBO and OWL ontologies and flat files formats in the preprocessing step. The processing offered by the tool, supports changes such merging, splitting, adding and moving subgraph. Others functions are implemented to facilitate exploration of changes. The user interface contains multiple views. A high-level view provides statistics about the number of relations and concepts in two ontology versions as well as the number of changes between the versions. After selecting a change, the changes can be explored in a tree-like manner. Hence, customizable overview statistics such frequent updates nodes, Tag clouds to visualize changes and modified content Tree-based change explorer and Impact analysis.

  • Other tools - OWLeasyViz [8] is based on an approach that combines a textual and graphical representation of OWL ontologies, where the textual representation presents class, data properties and object properties in a three-column table and the graphical representation which contains the graphical representation of the ontology, where we find child nodes which are visualized inside their parents, with smaller size. Also, nodes are represented by many shapes according to their hierarchy. Leaf nodes are visualized as rounded rectangles, while parent nodes as elliptical shapes. Also in this tool, they used zoomable technique, and also Searching and filtering mechanisms. They exploit the visualization strategies used in Grokker, which is a generic system for displaying of knowledge maps.

    SQuaRE [3] is a query and R2RML mappings environment. It provides a visual editor for creating and managing R2RML mappings as well as for creating and executing SPARQL queries. It contains two sides, the client side, and the server side. The client side consists of modules working on a client’s machine in a user’s web browser and provides a presentation layer. The server side contains the data source, DBMS manager, ontology handler for OWL ontology processing, and SPARQL query executor. SQuaRE applies a set of tools to handle OWL ontologies, relational data and SPARQL queries. For the visualization of ontologies, it uses OWL-API and javascript libraries like AngularJS Footnote 10, jQuery Footnote 11, Cytoscape.js with CoSE Bilkent layout, jsPlumb Footnote 12 and jsTree Footnote 13.

    ViZiQuer is a tool for data analysis query definition and translation into SPARQL [40]. The ViziQuer notation is based on UML class diagrams. A query in the ViziQuer notation is a graph of class boxes connected with association links. Visualizer tool for the Agreement Maker systemFootnote 14 [14] focuses on ontology matching visualization. They add to Agreement Maker tool, which is an ontology matching tool, the capability to visualize the results of matching large ontologies with a user interface that supports navigation and search of the ontologies.

5 Discussion and Future Directions

Keeping in mind the pipeline that we described for the ontology visualization tools, the overview of most existing works shows that the preprocessing step is fundamentals in the whole system and consists on primitives designed for parsing ontologies even in OWL or RDF based on JENA or OWL APIs. This preprocess in sometimes extended by some mapping primitives to generate intermediate data representations aiming at facilitating the processing step.

Actually, the main operations enabled in most of the current systems are limited to some transformation functions aiming at generating graphs except a few number of tools focusing on ontologies evolution. In that case, most functions are related to matching between two versions of ontology and aiming at highlighting the change in general by intensity color and distinguished links. Some quantitative measures to visualize the frequency of changes are implemented in these tools. Search functions are also provided based on keyword textual query.

Within the last step of the pipeline, the visual representation is handled in most of the existing tools by a hierarchical representation based on graphs (circle, line, color, etc.) and less on such UML language notation. A particular attention is given to 3D visualization based tools which add a new dimension to get more flexibility for ontology content visualization. The main objective is to facilitate navigation in the ontology and providing multi level view options.

Although the interest given to ontology visualization expressed in recent publications and already developed tools, we think that the goal of building an ontology tool for unfamiliar user is far to be reached. The challenges arisen can be summarized in the following points:

  • Dealing with very large ontologies since most of the tools suffer from overlapped links and labels due to lack of compact visualizations widgets.

  • Looking for optimization techniques aiming at accelerating the process of large ontology even for parsing and visualization.

  • Most tools are designed only for ontology experts and lack for generality.

  • Few represent all key elements of the ontology (i.e., classes, instances, datatype properties and object properties) and show data properties as labeled links.

  • Basics processing integrated into most of the tools need to be extended by more advanced operations such as merging nodes according their similarities (matching). Those primitives when implemented can provide a real support for domain expert construction and editing ontologies.

  • Implement visual language representation for ontology based on standards is a step for building common useful tools.

  • Integrate natural language processing techniques to the verbalization process. This should provide the semantic description of ontology elements and make ontology content common for expert and non-expert users.

  • Working on dynamic visualization approach that could be adapted to the content and size of input ontology.

  • Including ontology evolution related primitives to manage changes and version.

As for continuity of our work on ontology matching, alignment, and merging, we are currently working on an approach that provides at first a guideline for the development of ontology visualization tool. This guideline considers all the above challenges and aims at designing and implementing tools that can easily deal with large ontologies and generalize its use by nonexpert users.