The quality of ontology alignments is often evaluated by comparing them against reference alignments and computing measures, such as precision, recall and F-measure. These measures, however, provide only an overall assessment of alignments' quality; they do not allow for comparing alignments of specific parts of ontologies, or for comparing alignments to each other and to the reference alignment at the detailed level of concepts and relations. In many cases reference alignments are not available which makes comparison of alignments at different level of detail even more important.
AlignmentCubes is a tool which allows for interactive visual exploration of several ontology alignments and thus supports alignments' evaluation at different levels of detail. These are some use cases in which AlignmentCubes will be very helpful:
You can find below a runnable jar with the tool (run by using the command below or double click on the file).
java -jar AlignmentCubes.jar
Each dataset contains both ontologies, a folder with alignments and a file with performance measures.
Fig 2: Alignment Cube UI. Widgets (sliders, button groups, etc.) mentioned in the text are referred to directly using their name. The cubelet (bottom left corner) is used to switch between views by clicking or dragging the mouse on its faces.
Fig. 3: Alignment Cubes for visualizing ontology alignments. Rows and columns of the cube represent ontology concepts, individual cells inside the cube represent mapping relationships. Each alignment, corresponding to a slice in the third dimension, is assigned a different color. (a) Default view in similarity values mode. (b) Initial view in mappings mode. (c) Mappings mode with cell weight color encoding after expanding the Events concepts in both ontologies.
The Alignment Cubes interface in its initial 3D cube view is presented in Figure 1.
The color of the axis is permanently mapped to one of the cube's dimensions as follows:
Initially, only the first level of concepts (concepts directly under owl:Thing) from both ontologies are shown. The taxonomic hierarchy of the ontologies is presented as collapsible indented lists. Concepts that feature sub-concepts display the >> symbol after the concept label (e.g., Event, present in both ontologies, features sub-concepts). Clicking on a concept label expands the corresponding row or column. Expanded concepts then show the > symbol, and sub-concepts are indented according to their level in the hierarchy. Concepts that have multiple parents appear under each parent, i.e., potentially multiple times in the hierarchy.
Alignment Cubes features two alignment modes in order to accommodate views at different levels of granularity:
Fig. 1: Alignment Cubes UI. Widgets (sliders, button groups, etc.) mentioned in the text are referred to directly using their name.
Fig. 2: Alignment topology projection view in similarities mode with uniform cells' color (using None Color Encoding) and semi-transparent cells (using Cell Opacity Slider). Nested cells indicate different similarity values (disagreement between matchers). Darker and non-nested cells indicate higher agreement between matchers.
Fig. 3: Concept network projection view in mappings mode with cells colored according to their weight (using Edge Weight Diverging Color Encoding), stretched cells (using Edge Weight 2 Shape Encoding) and semi-transparent cells (using Cell Opacity Slider). Nested cells indicate existing mappings between different regions in the ontologies (including sub-regions in case of expanded concepts). For instance, the nested cells on the Event row indicate there are mappings between confOf:Event (in the matrix) or its descendants and concepts from the ekaw ontology on the right of the matrix. Hovering on the ekaw concepts (the indented list) we see that most of the mappings are between confOf:Event and ekaw:Event, ekaw:Scientific_Event, ekaw:Social_Event and in one case between confOf:Event and ekaw:Document.
Fig. 4: Alignment topology small multiples view in mappings mode with cells colored according to their weight (using Edge Weight Color Encoding), and uniform size (using None Size Encoding). These settings allow to visually compare parts of the alignments computed by the different matchers. The cells in the intersection of both Event concepts and their descendants indicate that there are mappings in this part in all alignments. The lighter cells indicate under which sub-concepts the single mappings are located. Observing cells' color in the same part shows similar behavior in LogMap-2012 and LogMap-2013 on one side and LogMap-2011, LogMapLite-2012 and LogMapLite-2013 on another. On the contrary, the same cells' number and color around the Contribution row in all LogMap-family systems indicate same matchers' behavior for this part in all alignments.
Fig. 5: Concept network small multiples view in similarities mode with cells colored according to their weight (using Edge Weight Diverging Color Encoding), and uniform size (using None Size Encoding). There is one matrix for each visible concept form the ekaw ontology. The single cell in the ekaw:Research_Topic matrix indicates that the mapping has been found only in the reference alignment, but not by other matchers. Similarly, in the ekaw:Paper matrix the single cell in the confOf:Contribution row indicates that the mapping has been found only in the reference alignment. In the same matrix, most of the matchers have found a wrong mapping between confOf:Paper and ekaw:Paper.
Switching between the views is performed by clicking or dragging the mouse on the faces of the cubelet widget (bottom left corner on Figure 1).
Multiple widgets provide a variety of interaction to support interactive visual exploration of the alignments.Visual Mapping:
Fig. 6: Alignment topology context view in similarities mode with uniform cells' color (using None Color Encoding) and semi-transparent cells (using Cell Opacity Slider). While exploring the alignment topology projection view in Figure 2, we have noticed the nested cells in the intersection of both Organization concepts. A right click on the Organization column opens the respective slice and allows to inspect the values for the pair computed by the different matchers.