Keywords

1 Introduction

An ontology is a convenient tool of domain modelling for wide range of tasks, such as [2, 3, 18, 19]:

  • Exploring a new subject domain by studying its ontology-based model.

  • Studying a new subject domain via ontology-based domain modeling.

  • Linking the ontology concepts with relevant information resources to provide automated information retrieval during the studying a new subject domain.

  • Support of inference rules allows using ontologies not only for automated information retrieval but also for learning management.

Thus, the use of ontologies in learning is well grounded and reasonable, both for studying a new subject domain by individual users, as well as within the educational process in universities to manage single courses and learning process as a whole.

Within ontological modeling, the developer faces a number of problems concerning the creation, edit, distribution and sharing ontologies, and their adaptive visual representation (visualization).

The last task is topical and widely applicable due to the large scale and complexity of the domain ontologies structure. Ontologies can contain hundreds and thousands of concepts associated with different types of relationships, as well as links to the ontologies of the related domains. These makes it difficult for the user to perceive information, and so the domain ontology visualization becomes the very important task that includes adaptive visual representation of ontologies in learning, ontology navigation and search of elements within the ontology.

2 Background and Related Work

An information support plays a key role in the learning process and determines its quality and efficiency. Competency-based learning is directed to the acquirement of appropriate competencies, knowledge, and skills. Achievement of this goal is impossible without an appropriate information support of learning that implies using the relevant information and educational resources.

Information support of learning processes involves thematic information retrieval and creation of personal learning collections of information resources for some topic as a result of their retrieval and integration. The creation of such collections can be performed on the basis of user cognitive space and information space of subject domain.

A cognitive space is the set of concepts and relations among them held by a human. The cognitive space can be individual as well as shared by a group of people. Using the modern software tools the cognitive space can be mapped into conceptual model represented as a mind map, topic map, concept map (conceptual diagram) or ontology. An information space is the set of objects and relations among them held by an information system. The components of the information space for the information retrieval task include concepts, documents, words, relations among words and documents. So the information space should be consistent with the cognitive space of particular humans or groups.

An essential and actual problem is creation of the domain information space which is relevant to the personal cognitive space of subject of information process [3]. The use of ontologies for the cognitive and information spaces representation is an appropriate and promising approach to solve this problem.

Within ongoing research project, the authors proposed an ontology-based approach to the collaborative construction of the domain information space on the basis of the cognitive spaces of individuals or groups and the existing information spaces [2, 3, 18, 19]. It allows to decrease the time and increase the efficiency of retrieval and reuse of the information resources which are relevant to the subject domain and the user cognitive space. One of the important issues in the framework of this approach is representation and visualization of the domain ontology for the user.

The ontology visualization affects the efficiency of perception of domain knowledge by the learner that includes the concepts and concept hierarchy, different types of relations between the concepts, concepts properties (in the case of the domain information space - the list of information resources, corresponding to the concepts). The requirements to ontology visualization depend on tasks defined in the ontology and user competence in the subject domain. E.g., the subject domain can be totally new for the learner, the learner can know some of the concepts (and need to find it and discover the related concepts step-by-step), or he can know most of the concepts and need to find and fill the knowledge gaps in this domain.

Generally, the requirements which the visualization method and tool should be met are formulated as follows:

  • One should be able to visualize all the components of the ontology, such as classes, instances, and relations.

  • The tool should allow visualizing the ontology stored independently of the visualizer as well as sharing and collaborative editing the ontology by the group of users at the same time. SPARQL-endpoint can be considered as a data source to meet this requirement.

  • A simple and obvious model should be used for visualization, like a graph for example.

  • Some special techniques should be used for visualization of a subset of ontology elements (fragments of ontology) for navigation during the ontology studying and transformation of these fragments within the full ontology.

  • The search of ontology elements (classes, individuals, relations) and visualization of search results in the full ontology and ontology fragment should be provided by the visualizer.

  • As the ontology supports reasoning, the results of the reasoning should be visualized as well.

3 Approaches and Software Tools for Visual Representation of Large Ontologies

The subject domain might have a rather complex structure and cover a huge set of concepts and relations between them, that complicates extremely the study of appropriate information resources by the person who is not familiar with the domain. In this case, it is advisable to create the own domain model or use and extend the domain models created by other persons. But due to the complexity, it is difficult to overview and understand conceptual model represented with the ontology.

The usage of various approaches and tools for ontology visualization and navigation depends on the user category who work with the ontology and the use cases. The user categories considering below can be defined depending on their relation to the subject domain and role within ontology engineering process:

  • Ontology Engineer: a specialist in Ontology Engineering - a research area which studies the methods and methodologies for building ontologies: formal representations of a set of domain concepts and the relationships between them. So, this type of user has high competence in the ontology engineering but does not always have enough competence in the applied subject domain.

  • Domain expert: a specialist in applied subject domain who does not always have enough competence in the ontology engineering.

  • Learner: ontology user that is not a specialist in the applied subject domain and needs to learn it, and who also has not enough competence in the ontology engineering.

For the task of domain information space studying the user category usually can vary from learner to an expert in this classification, but stays closer to the first one.

The following use cases are distinguished when working with ontologies [7]:

  • Editing: ranges from developing a new ontology to changing a value of some property. Usually, the purpose of visualization, in that case, is to find the entity to be changed or to become linked with a new entity.

  • Inspection: needs a detailed view of the ontology to see errors or deficiencies. It often implies Editing, as the user needs to see the state of the ontology before and after editing.

  • Learning: means gaining knowledge about the domain the ontology covers, or learning about the ontology itself so as to use it. The view should not be so detailed as for errors discovering (for Inspection). The user often only needs to see the available classes and properties, their hierarchy and their domain/range relationships; it is actually especially for non-technical users who only want to learn the subject domain and unlikely to understand complex axioms anyway.

  • Sharing: is similar to Learning, except one more actor for whom the ontology should be explained and shared with. The visualization should support displaying a part of the ontology; e.g., a picture of it can be made for an article describing the ontology.

In the case of using ontologies in the learning process by the learner, it usually implies learning and sharing use case (where the user is the second actor).

The following approaches to the ontology visualization can be distinguished [7]:

  1. 1.

    Zoom-Out Overview: zooming out to get a summary view of the ontology.

  2. 2.

    Radar View: displaying a small “minimap” of the displayed ontology.

  3. 3.

    Graphical Zoom: enlarging the displayed graphical elements.

  4. 4.

    Focus on Selected Entity: centering the view on a selected entity and its surroundings and hiding other parts of the ontology.

  5. 5.

    History: keeping the history of navigation steps performed by the user, thus allowing for undo/redo actions.

  6. 6.

    Pop-Up Window: displaying details on a chosen entity in a separate window.

  7. 7.

    Incremental Exploration: starting by a small part of the ontology and gradually expanding the nodes selected by the user (as detailed in [11]).

  8. 8.

    Search: text-based search leading to highlighting the matched entities.

  9. 9.

    Hide Selected Entity: hiding parts of the ontology the user is currently not interested in, thus avoiding a cluttered view.

  10. 10.

    Filter Specific Entity Type: e.g., hiding all object properties at once.

  11. 11.

    Fisheye Distortion: zooming in for a part of the graph and zooming out for the rest; focuses on a detail but keeps the context, see, e.g., [32].

  12. 12.

    Edge Bundles: grouping edges with similar paths, thus alleviating the clutter; implemented, e.g., in GLOW [12].

  13. 13.

    Drag&Drop Navigation: moving a graph that is bigger than the screen around by dragging it with the mouse.

  14. 14.

    Drag&Drop User Layout: allowing to move the individual nodes around.

  15. 15.

    Clustering: intelligent grouping of nodes or displaying a subset of important nodes, as in KC-Viz [23].

  16. 16.

    Integration with Editing: the user can select a visualized node or edge and edit its properties in, e.g., a pop-up window.

  17. 17.

    Graphical Editing: the tool supports creating new entities by, e.g., drawing edges between the displayed nodes.

Referring to [10], approaches 1–5 are associated with a criteria class called “Help and User Orientation”, 6–8 with “Navigation and Browsing”, 9–10 with “Dataset Reduction”, 11–14 with “Spatial Organization”, and 15 with “Information Coding”. 16–17 have no corresponding class in [10]. In each use case category most of the 17 features should ideally be supported. However, their importance can vary.

Evidently, more low-level issues and approaches can be distinguished within each of the items above. Also, some approaches can extend the set of criteria classes.

Most of the visualization approaches and software tools are oriented to the specialists in ontological modeling and are used to solve the problem of understanding ontology (“ontology sensemaking”) [23]. In this case, the relevant tasks are a search of existing ontology for reuse, optimization of large ontologies structure, when the specialist should understand the ontology structure. For this task, the tools for the high-level overviews creation can be used (1–2 in the list above), zooming (3) and element filtering (10) [23, 30, 33, 39].

Within the tasks of learning and sharing the ontology, for efficiency knowledge sharing included into the ontology, the cognitive properties of the ontology are important that allows to user easy understanding and interpreting them. In that case the visualization of the ontology implies the visualization of some fragment of this ontology including some concepts with the context (so called “viewpoint”) [1]. In [22] this problem resolved e.g., with the cognitive frame based representation of the ontology and patterns.

Also the ways of visualization below can be distinguished [21]:

  1. 1.

    Graph Visualizations of Ontologies [23, 25, 28, 29, 38] - a simple, understandable and convenient way for ontology presentation that almost does not require any special user knowledge and can be extended to represent special ontology properties.

  2. 2.

    Specific Diagram Types [15, 16].

  3. 3.

    UML-based Ontology Visualizations [4, 20, 35, 37] - requires special user knowledge in UML.

  4. 4.

    Other Diagrammatic Ontology Visualizations [5, 27, 36].

  5. 5.

    RDF Visualizations of Ontologies [14, 31] - represents the ontology as RDF graph with all concepts and relations that are not useful with the large ontologies.

Also, the software tool should support the ability to extend its functionality (with plugins or source code modification) and should be open source in the last case.

So, browsing ontologies to understand their structure and content is an important activity in ontology engineering [3, 22, 34]. Moreover, ontologies nowadays are developed and used not only by experts but also by a wide range of non-expert users in a lot of fields, from research, health-care to daily business. The question about how to support ontology visualization and navigation in a better way has attracted a lot of attentions from researchers. A good ontology visualization system by convention [16] should support some functionalities like a high-level overview of ontology, effective scalability by concrete part of ontology, filtering options and so on.

Usually, in the early stage of the process of making sense of ontology, what user tries to do is to understand the general organization of the ontology rather than paying attention to its specific representation details. Ontology visualizer with high overview level should support user to quickly understand what main areas the current ontology is about, how it is structured. As can be seen, the issue of ontology high-level overview has never been easy, because once ontology is large enough, it is impossible to visualize the whole ontology structure on limited screen of a computer. Different approaches have been proposed to solve this issue, including:

  1. 1.

    Treemaps [16], which focuses to maximizing the visualized information, using space-fill solutions.

  2. 2.

    OwlViz visualizer [28] - a Protege plugin, which allows user to navigate through ontology by selecting, expanding, hiding nodes.

  3. 3.

    Ontology Navigator [23] in Neon Toolkit [8, 9, 25], which uses file system navigation approach to show class hierarchy of ontology.

  4. 4.

    KC-Viz [23, 29] in Neon Toolkit [25], proposes the approach using key concepts extraction to extract most common concepts from ontology for visualization

  5. 5.

    Ontology Exploration Tool [17], a tool from Hozo Ontology Viewer [13], which allows user to view ontologys structure from different viewpoints in a user-friendly visualization form called Conceptual Map.

  6. 6.

    Ontodia [26] - online OWL and RDF diagramming tool.

3.1 Treemaps

Treemaps are solution intended for visualization of ontology with complex tree hierarchies, where tree structures are visualized as 2-D space-filling representation and 100% of visualization space is used. This effective usage of visualization space allows displaying completely large hierarchies and facilitates representation of semantic information. In treemaps, visualization space is split into bounding rectangles that representing a tree structure. The distribution of nodes into their bounding rectangles depends on the content of the nodes and can be interactively controlled. Interactive control allows user to configure the representation method in structural level (depth, boundary, etc.) as well as in information level (display of properties such as color mapping, etc.). This is in contrasts to traditional static methods of visualizing hierarchically structured information, where there are usually low effective usages of visualization space or hiding a large amount of information from users. With Treemaps, parts of hierarchy, which contain more important information can be allocated more space than parts, which contain less important information. A sample of ontology visualization by treemaps is shown in Fig. 1.

Fig. 1.
figure 1

Visualization of a simple tree structure with treemaps approach

3.2 Ontology Navigator (in Neon Toolkit)

Ontology Navigator in Neon Toolkit [8, 9, 25] follows the classic navigation metaphor of file system, where clicking into a directory will open up its subdirectories. It allows user to navigate through hierarchy of ontology by simple clicks into classes to view subclasses. Although at first look, it is a pretty basic solution, compare to other complex visualization metaphors, this approach can be surprisingly effective thanks to two reason: (1) the navigation method is very familiar to users; (2) it allows to displaying a lot of information in a small space, in contrast to node-link approach, which can take up a lot of space. One of problems in Ontology Navigator is when clicking into a class, all of its subclasses are always shown up. It is impossible to control the number of subclasses that will be displayed or open more than one level with a single click. Also, it not allows to visualize the individuals. As can be seen, the visualization approach used in Ontology Navigator is still not enough to support making sense of the general mental model of ontology. The latest version of NeOn Toolkit is dated 2011 year. A sample of ontology visualization by Ontology Navigator is shown in Fig. 2.

Fig. 2.
figure 2

Visualization of the CodeOntology [6] with Ontology Navigator in NeOn Toolkit

3.3 KC-Viz

KC-Viz uses an innovative method based on idea of key concepts extraction to support the task of high level overview and understanding large ontologies. It provides possibility of navigation through ontology, beginning from most information-rich nodes. These nodes are extracted from ontology using algorithm of Key Concepts Extraction, which allows to create a summary of ontology. The visualization and navigation approach used in KC-Viz is analogous to visualization and navigation in maps from Geographical Information System, where large cities are displayed more noticeably than others, depending on the current level of detail. Visualization and navigation of ontology with KC-Viz begin with generation of initial summary of ontology, so that user can have general overview about ontology. A summary of ontology CodeOntology [6] (contains 65 classes, 17 individuals, 94 object properties and 13 data properties) is shown in Fig. 3. This summary includes 16 most common classes (or may be a different amount, depending on the configuration of user) from different level, 15 of which are extracted by Key Concepts Extraction algorithm and the last concept is owl:Thing in order to create a connected graph. Grey arrows in the picture denote the direct rdfs:subClassOf relationships, and the dash green arrows denote the indirect rdfs:subClassOf relations. By hovering mouse to the indirect links, user can see the chain of direct rdfs:subClassOf relations, which summarized by indirect links. For user to capture an image of how large the current ontology is, KC-Viz displays two number inside each visualized node, indicates the number of direct and indirect subclasses of current class. Detail information about each class can be seen by hovering mouse to selected node.

So this approach is efficiency enough to visualize large ontologies regardless of the number of concepts included. It does not allow to display the instances, but the algorithm can be extended to do this.

The last version of NeOn Toolkit with KC-Viz algorithm integrated is dated 2011 year.

Fig. 3.
figure 3

Summary of CodeOntology [6] with KC-Viz

3.4 Ontology Exploration Tool (in Hozo Ontology Viewer)

Ontology Exploration Tool allows to visualize the conceptual structure of ontology as generally as possible and allows on-the-fly reorganizing some conceptual structures according to users perspective. It provides a possibility of exploring the ontology from several viewpoints to obtains an understanding of the ontology from multi-perspectives. The viewpoint is defined as a combination of a focal point and an aspect. The focal point indicates a concept to which the user pays attention as a starting point for exploration. The aspect is the manner in which the user explores the ontology. It can be the represented by a set of methods for extracting concepts according to its relations because an ontology consists of concepts and relations among them [17]. An example of ontology exploration with Ontology Exploration Tool is shown in (Fig. 4). A user sets Any (the root of ontology) as a focal point and sets Sub concepts to be the aspect of exploration. The result is that nine concepts: representation, substance, measure, Entity, attribute, location, Proposition, time, representation form are extracted, following is-a relations (rdfs:subClassOf in OWL). Next, the user focuses on concept location and selects Concepts to be referred by some relationship as an aspect, the following concepts: animal, action, basic judgment, pass, make fly, ...are extracted, following attribute-of relations (rdfs:properties in owl). As a result of this concept extraction, conceptual chains that match users interest are generated and visualized as a conceptual map. In the conceptual map, extracted concepts and followed relationships are represented as nodes and links respectively, and the nodes are located on concentric circles in which the focal point is located at the center [17].

Fig. 4.
figure 4

Visualization of conceptual chains as a conceptual map

Even though the main purpose of Ontology Exploration Tool is about the exploration of an ontology, not the visualization itself, the way which Conceptual Map of this tool uses for visualization of the ontology structure is an effective solution for the issue of the high-level overview of ontology.

The tool allows to work effectively with large ontologies, but requires more competencies from the user in ontology engineering as well as tool interface and its options.

3.5 Ontodia - Online OWL and RDF Diagramming Tool

Ontodia [24, 26] is a JavaScript-based open source solution for the ontologies visualization. It supports visualization of all types of ontology elements, including classes, individuals, all types of relations defined (Fig. 5); automatic graphs layout, export as an image, graphical zoom.

On the other hand, when the ontology is large enough, it is impossible to overview the full ontology structure when all concepts are displayed. A user can start with the blank space and drag the concepts from the panel (where they are organized as a taxonomy), sequentially disclosing the ontology elements through the selection of interested classes, individuals, and relationships (Fig. 6). But it is also can be not easy when the user does not know what concepts are main and how they are organized and linked.

Fig. 5.
figure 5

Ontodia: visualization of CodeOntology fragment

Fig. 6.
figure 6

Ontodia: sequential disclosure of ontology elements through the selection of interested classes, individuals and relationships

Also, this tool can work with RDF files or any SPARQL endpoint as a data source but does not work as a standalone application and requires to include the data source in the javascript code.

As it is an open source project, the functionality can be extended using different approaches including mentioned above.

4 Comparative Analysis of Software Tools for Graph-Based Ontology Visualization

We tried to compare the features of software tools mentioned above in the context of the task of graph-based visualization of large ontology. We defined the criteria for comparing that seem to us most important and informative for the considered problem. The results of the comparative analysis are presented in the Table 1.

Table 1. Comparison of software tools for graph-based ontology visualization

5 Conclusion and Future Work

In this paper, we have compared some visualization approaches as well as software tools for the purpose of their application for visualization of large ontologies in learning. We faced this problem during our work on the project devoted to the collaborative construction of the domain information space based on the cognitive spaces of individuals or groups in learning and scientific research. The considered task defines a number of specific requirements for visual representation of the ontology, and none of the existing software tools provide the possibilities to satisfy these requirements. We chose the open-source javascript tool Ontodia as a promising visualization environment due to the following advantages. It allows connecting to the SPARQL-endpoint as a data source to separate the ontology storage and viewing/editing functions and provides collaborative developing, sharing and exploring the ontology. Also, this tool allows visualizing the ontology derived knowledge, as well as originally defined knowledge because the reasoning engine works separately from the ontology storage. Ontodia provides the possibilities for visualization of all the types of ontology elements, search and visualization of the search results, for the creation of ontology graph by different ways.

As Ontodia is open source project, it can be improved and extended with additional approaches, algorithms, and functions. The integration the KC-Viz algorithm into the Ontodia library seems to be a promising way to fix the main shortcomings and improve the usability of this tool and allows the user to start the domain ontology studying from the most important concepts.

Further evolution of the project implies extending the Ontodia diagramming tool with the functionality based on the approaches reviewed above (particularly, KC-Viz approach) that allows improving an efficiency of ontological modeling.