KC-Viz can be installed in the NeOn Toolkit (NTK), just as any other NTK plug-in, by going to “Help > Software Updates > Find and install”. Once installed, it can be invoked by right-clicking on an ontology and then selecting the “Visualize Key Concepts” menu item - see figure 1.
As shown in figure 2, a tree comprising 15 classes is produced, which provides an overview of the ontology in question. Here we are using the AKT Portal ontology, an ontology developed in the AKT project3, which contains 152 classes locally and imports 16 classes from another ontology, called “Support”. The ontology summary shown in figure 2 contains concepts from both ontologies. If we wish only to generate a ‘local view’ of an ontology, we can do so by unticking the option “Ontology summary considers also imported ontologies” in the KC-Viz preference menu. Analogously, also the number of key concepts used when generating an ontology summary is user-definable and can be set either through the KC-Viz preference menu or when clicking on the “Reset key concepts” button, which is part of the KC-Viz toolbar and can also be used to re-generate an overall ontology summary for the current ontology.
Figure 1. Generating ontology summaries.
Each concept is shown as a blue hexagon of a particular dimension, according to its key concept score, followed by a label containing its name and two numbers in brackets. These represent the number of direct and indirect subclasses of the node in question.
Figure 2. An ontology summary for the AKT ontology.
An important aspect of this new version of KC-Viz is that, when generating ontology summaries, the algorithm may also include concepts whose overall ‘importance score’ does not necessarily qualify them as key concepts. This can happen for two reasons. Firstly, concepts can be added to improve the topological coverage of the ontology – i.e., to maximise the number of concepts in the ontology which are either subclass or superclass of a concept included in the ontology summary. Secondly, concepts can be added to maximise the topological coherence of the generated ontology summary – i.e., to ensure that no ‘islands’ exist and that every concept is connected to the other concepts in the summary. Although this hypothesis will have to be verified empirically, our intuition is that maximising coverage and providing an overall coherent taxonomy of concepts is crucial to ensure that the user can get an overall gestalt of the entire ontology, much like coarse-grained geographical maps may only show the key cities, but of course situate them in the overall context of their countries. An option in the KC-Viz preference menu allows the user to set the maximum number of non-key concepts to be used to maximise topological coverage – the default is 2.
If we hover the mouse cursor on concepts and on indirect subClassOf link, a yellow label appears describing:
for concepts, its type ( “Key concept”, “Very important concept”, “Quite important concept” or “Not-so-important concept”), its complete URI, and the number of direct superclasses and subclasses linked to it in the ontology (“actual”) and in the visualization (“shown”).
for indirect links, all the subClassOf paths from the source concept to the destination one.
Figure 3. Summary information about a concept in the visualization.
Figure 4. Detailing indirect subClassOf relations.
Selecting concepts can be done in two different ways:
by clicking on nodes;
by double-clicking on the background, moving the cursor to enlarge the rectangle in order to enclose the concepts we are interested in and, finally, clicking to terminate the selection4.
For example, figure 5 shows a situation in which we have selected Publication-Reference and we also want to add to the selection part of the subtree of support:Temporal-Thing. Selected nodes are highlighted using a dark-grey background for their labels.
Figure 5. Multiple node selection.
Once one or more nodes have been selected, we can move them simply by clicking left on one of the selected nodes and then moving the cursor to the new desired location for the nodes in question. If we want to move the entire hierarchy, we can do so by clicking on the background and moving the cursor within the pane.
By clicking right on a concept, we have access to the three basic operations on concepts: inspect, expand, hide – see figure 6. These are described in the following sections.
Figure 6. Operations on concepts.
This operation does not change the topology of the hierarchy but simply opens the Entity Properties view with the data concerning the concept in question. To perform this operation, we right-click on a concept and select the “Inspect” menu item, as shown in figure 6. As a result, the focus changes and the concept in question can then be inspected through the Entity Properties view of the NeOn Toolkit – see figure 7.
Figure 7. Entity Properties view.
Node expansion is carried out by right-clicking on a node and selecting the “Expand” menu item. In contrast with the “Inspect” operation, which can only be applied to one particular node, multiple nodes can be expanded at the same time. That is, an expansion operation is applied both to the node on which we have clicked to access the “Expand” menu item and also to any other currently selected node.
Figure 8. Options for node expansion.
KC-Viz provides a flexible set of options for carrying out node expansion and aims to give the user as much control and flexibility as possible, to support the crucial task of ‘zooming in’ into a class. Figure 8 shows the menu associated with the “Expand” operation, which provides the following options:
The option “Expand by” allows us to choose which relations we want to take into account when expanding concepts. We can choose any combination of subclasses, superclasses, domain classes – i.e., all those concepts that are domains of object properties whose range include a concept selected for expansion, and range concepts – i.e., all those concepts that are ranges of object properties whose domain include a concept selected for expansion.
The option “Expand by key concepts” allows us to choose whether we want to focus expansion on key concepts or not. If we choose this option, we can then specify the size of the expansion set. If the option “Expand by key concepts” is not selected, then the entire expansion set determined by the other options is returned.
The two radio buttons in the third pane of the expansion menu allow the user to circumscribe the expansion to a specific number of levels, e.g., only direct subclasses, or to recursively continue the expansion until the leaves (in the case of expansion through subClassOf links) or the root (in the case of expansion through superClassOf links) of the Isa hierarchy below/above the node selected for expansion are reached. It is important to note that in the case of domain/range expansion only level 1 expansion is allowed and therefore this option is not relevant.
The option “Hide other concepts” makes it possible to hide all the concepts currently shown in the hierarchy that are neither the node selected for expansion or are not included in the set specified by the chosen expansion options. This option is very important to allow user to ‘zoom in’ on a concept and remove any node from the display, which is not relevant to the current exploration focus.
As an illustration in figure 9 we show the result of expanding class Organization in the AKT ontology, using the options shown in figure 8. Intuitively, what we want to do here is to focus on the subtree under class Organization and get an initial snap of what classes it contains. To do so we choose to expand only by subclasses, we expand at all levels, but we only ask KC-Viz to give us the 10 most important concepts under Organization, thus reducing the size of the resulting subtree by over 50% - the tree under Organization contains 22 classes.
Figure 9. Expanding class Organization
If we also include the option to expand by domain, then the result also includes classes Affiliated-Person and Employee which are linked to Organization by the relations has-affiliation and works-for – see figure 10. As shown in the figure, domain/range relations are displayed as directed links in red. When we hover the mouse cursor over these links, a label appears giving us the URI of the property in question.
Note that double-clicking on a concept results in the execution of the expansion operation with the same setting as the previous one.
Figure 10. Adding domain links to the expansion of class Organization
As in the case of the expansion operation, the “Hide” operation is applied to both the node on which we have clicked to access the “Hide” menu item and also to any other currently selected node. Figure 11 shows the menu associated with the “Hide” operation, which allows the user to specify whether we want to hide the selected class (“Current class” box) and also which relations we want to use to identify other nodes to be hidden. For instance, we can hide all the direct subclasses of a class by selecting the option “subclasses” in the menu. Finally, the option “Hide recursively” repeats the operation recursively, thus allowing, for instance, to remove all subclasses (both direct and indirect) of a node from the display.
Figure 11. Options associated with the “Hide” operation
Figure 12 shows the result of applying the operation showns in figure 11 – i.e., hiding all subclasses under class support:Temporal-Thing.
Figure 12. Hiding the subtree under class support:Temporal-Thing
The KC-Viz toolbar provides the following operations:
Undo/Redo. These allow the user to undo/redo expansion and hiding operations. However they do not apply to other operations, such as manually moving a node.
Tooltips. This checkbox allows the user to enable/disable tooltips.
Adjust X gap. This option adjusts the horizontal distance between nodes at the same level of the currently displayed hierarchy.
Adjust Y gap. This option adjusts the vertical distance between the different levels in the currently displayed hierarchy.
Label font. This option makes it possible to increase/decrease the font used for displaying the labels of the nodes.
“Reset key concepts”. This option allows the user to recalculate the ontology summary, possibly modifying key parameters, such as the total number of key concepts and the maximum number of non-key concepts, which are used to ensure the topological coherence of the tree.
The KC-Viz preference menu, which is accessible by clicking on NeOn Toolkit > Preferences, and is shown in figure 13, provides the following options:
“Max size of ontology summary”. The maximum number of key concepts we want to include in the ontology summary.
“Max number of non-key concepts to be used to maximise coverage of subclass-of tree, when generating ontology summary”. This option can be used to specify how many non-key concepts we are prepared to add to the ontology summary, to maximise the coverage of the entire ontology with respect to subClassOf relations.
“Default size of subtree when expanding class”. The default number of concepts to be used when expanding a class, using the subClassOf relation.
“Use sub-optimal (but very efficient) algorithm when the number of classes in the ontology in higher than”. This option allows the user to select a very efficient but sub-optimal version of the algorithm for key concept extraction, which is recommended for very large ontologies.
“Ontology summary considers also imported ontologies”. This option allows the user to specify whether an ontology summary should only include ‘local concepts’ or whether imported ontologies should be considered as well.
Figure 13. The KC-Viz preference menu
3 http://www.aktors.org.
4 In order not to lose the current selection, the user can press “Shift” when double-clicking to add a new selection.