Skip to content

Latest commit

 

History

History
436 lines (294 loc) · 26.1 KB

File metadata and controls

436 lines (294 loc) · 26.1 KB

This website is an accompanying website for the paper titled "Interactive and iterative visual exploration of knowledge graphs based on shareable and reusable visual configurations" which is currently under review.

Table of contents

Project information

Knowledge Graph Browser is a tool for visual exploration of knowledge graphs.

The basic principle of the browser is to enable users to discover different knowledge graphs through different views defined by various browsing configurations. Real knowledge graphs are often too complex for human users and generic tools for knowledge graph visualisation and visual exploration are therefore quite hard to use. The basic idea behind the Knowledge Graph Browser is to enable knowledge graph experts to configure a set of simpler views on knowledge graph nodes which can be then used by non-experts for browsing a knowledge graph from given points of view defined by the experts. Anyone is free to create own configuration, publish it as Linked Open Data and let users to enjoy knowledge graph exploration.

If you are interested in the raw visual configurations demonstrated in the paper, you can browse them using the links below:

Demo

You can start exploring knowledge graphs using our demo.

We also prepared various knowledge graph visualisations so that you can see what's possible to achieve with our tool. The visualisations are not just images. They are interactive and you can use them as a starting point for your own exploration.

You can start with famous personalities:

You can also try to explore MEPs (members of parliaments):

Tutorial

This tutorial will teach you how to use our tool to start exploring a knowledge graph. It contains instructions on how to create a new graph and do basic operations on it. There are also separate chapters on more advanced topics.

Table of contents of the tutorial

Basics

Creating a new graph

To start exploring a knowledge graph you first need to select a configuration. This can be done in various ways as depicted on the following screenshot:

Selecting a meta-configuration

To select a configuration you can:
A) Choose one of our existing meta-configurations
B) Manually set the configuration using its IRI
C) Open an existing graph which has a configuration already selected

Note
A meta-configuration is a set of specific configurations.

If you opt for A then you will also have to select a specific configuration as shown in the following screenshot (it shows how it looks when you choose the Scientists meta-configuration):

Selecting a configuration

After that you will be asked to choose a starting node for your exploration (the following screenshot was taken after choosing the Scientists configuration):

Selecting a starting node

If you choose Albert Einstein, you will end up with this screen:

Initial screen with a graph

Basic operations on a graph

You can interact with the tool in the following ways as shown in the following screenshot:

Basic operations on a graph

A) Menu - There you can find settings and perform various actions
B) Search bar - You can search for a node in the graph
C) Node's views - You can use the expand buttons to incrementally expand the node

Faceted filtering

When you want to filter a graph you can click the filtering tab next to the menu.

Filtering

Here's what the buttons do:

  • Filter - filters nodes in the graph using filtering criteria that you have set
  • Reset - shows all hidden nodes and also unchecks all checkboxes and sets sliders to their extrema
  • Reload facets - when you delete nodes some of the facets may end up in an inconsistent state (there may be some information in the facets that aren't in the graph anymore). After clicking this button the facets will be recomputed and they will be in a correct state

There are two categories of facets although they are indistinguishable in the tool:

  • Facets loaded from a configuration
    • they are specific for a configuration
    • these facets take some time to load because the tool communicates with a dataset which the graph is based on
  • Facets found locally in the graph
    • they contain graph information that are the same for every graph (e.g. number of node's edges or the type of a node)

Grouping of clusters extension

Table of Contents


Motivation

We all know how zoom in/out works on mapping platforms such as google maps, maps.cz, etc. Zoom is used to increase or decrease the zoom level at a specific point and show more or less detail on the map.

The extension of the original Knowledge Graph browser is inspired by this feature of mapping platforms. Original knowledge graph exploration is proposed in a research paper "Iteractive and iterative visual exploration of knowledge graphs based on shareable and reusable visual configurations".

Glossary

In this part of the guide, you will learn the necessary terms that will help you understand the basic principle of how the extension works. They may differ from the usual terms you may be familiar with.

You can skip this section for now and go to How to use the extension?

Hierarchical relationship

In the "Grouping of clusters" approach, we introduce the concept of hierarchical relationships.

Typically, nodes in a graph are related to each other, for example, a company has employees, university has scientists, scientist has awards, scientist writes scientific papers, university has departments, and many other examples.

One possible way to visualize such relationships is to create an edge between parent and child. But there is also another way, namely adding a hierarchy between nodes. In such case, parent node is visualized as a larger node containing child nodes inside.

Figure 1 below shows an example with universities and departments:

parent-child-relationship
Figure 1. Parent-child relationship

Here the node "Fakulty" is the parent node of the node "Matematicko-fyzikální fakulta", which, in turn, is the parent of the internal nodes that are light-blue and have titles inside the node.

Each such node hierarchy represents a hierarchical group.

Warning
Hierarchical relationships are predefined by a technician in the visual configuration. You cannot choose them in the user interface.

Non-hierarchical relationships are also possible.

Non-hierarchical relationship

Definition
Non-hierarchical relationships are represented by an edge between nodes.

For example, "the department teaches the subject" relationship can be visualized as non-hierarchical. An example is shown in the Figure 2 below.

non-hierarchical-edge
Figure 2. Non-hierarchical edge

Note
Non-hierarchical relationships are all relationships other than hierarchical.

Hierarchical class

A hierarchical class is a visual class that defines which hierarchical group a node belongs to. A node can only be assigned to one hierarchical class.

A hierarchical class, if it exists, is shown along with a label of a node on the detail panel. See Figure 3 below for more details.

hierarchical-class
Figure 3. Hierarchical class

Note
A hierarchical class (or hierarchical group class) is a common class for all nodes to be placed in a same hierarchical group.

Warning
Each node must be assigned to some hierarchical group class in case it needs to be placed in any hierarchy.

Hierarchical level

Definition
A hierarchical level of a node indicates the depth of a hierarchy at which a node resides.

The amount of detail displayed on maps (in mapping platforms) depends on a zoom level. Grouping of clusters approach uses the same idea. At the deepest (highest) level of the hierarchy, the graph shows all possible details. And at the lowest level of the hierarchy, the graph shows only those single nodes that are representatives of hierarchies themselves.

Current hierarchical level

Definition
A current hierarchical level is the deepest hierarchical level shown in the graph area.

At the moment when child nodes collapse into their parents, the current hierarchical level decreases by 1, and when child nodes with a hierarchical level higher (deeper) by 1 than the current hierarchical level appear, the current hierarchical level increases by 1.

Hierarchical group

Definition
A hierarchical group is a cluster of nodes that are related to each other by hierarchical relationships.

Each node in a hierarchical group must have the hierarchical class which represents that hierarchical group.

An example of one such hierarchical group is shown in Figure 1 above.

Warning
Hierarchical groups are predefined by a technician in the visual configuration. You cannot define them in the user interface.

Visual group

Definition
A visual group is a cluster of nodes located in the same area on a graph. Nodes that belong to the same visual group are placed under the same "pseudo-parent" node representing the visual group itself.

An example of a visual group is shown in the Figure 4 below. The "pseudo-parent" node is a gray node with white nodes inside.

visual-group
Figure 4. Visual group

Warning
A visual group is predefined by a technician in the visual configuration. You cannot define them in the user interface.

Each node in a visual group must have an additional visual group class representing that visual group. It can be identical to the hierarchical class.

Note
Hierarchical groups themselves can be interpreted as visual groups. In such a case, there is no need for a "pseudo-parent".

An example of two visual groups "pracovisteVisualGroup" and "tema" is shown in Figure 5 below (later on we will use "pracovisteVisualGroup" as the visual group).

visual-groups
Figure 5. Visual groups. To the left is "pracovisteVisualGroup" visual group and to the right is "tema" visual group

Note
The main advantage of visual groups is that you can easily move all the nodes that belong to the same group across the entire graph area at the same time. This way they won't be scattered all over the graph area.

Cluster

Definition
Cluster is a set of the same or similar elements, assembled or located close to each other.

Grouping

Definition
Grouping is the task of converting clusters into a single node.

Checkbox

The "Scaling options" checkbox is used to choose whether to group clusters or to zoom. It is placed in the right top corner of the graph area. See the Figure 6 below for more detail.

scaling-options
Figure 6. Scaling options

Grouping of clusters

When you zoom in at a specific point on the mapping platforms, at each zoom level you see more and more details about the region you zoom in, and when you zoom out, some details disappear.

The same principle is used in the "Grouping of clusters" extension, namely, when you zoom in, you see more detail in terms of nodes, and when you zoom out, you see less detail in terms of nodes.

The "Grouping of clusters" algorithm must first cluster the nodes into a cluster, and then collapse this cluster into a single group node. Which nodes to cluster is determined by an algorithm based on position of the nodes. This algorithm uses well-known clustering methods: k-Means clustering [1] and k-Medoids clustering [2] (what method to use is defined by the technician).

The basic approach of the algorithm is that it creates several centroids, generates from them an empty group (k-Means clustering [1]) or a group consisting of a single node (k-Medoids clustering [2]), and then adds surrounding nodes to the closest group.

The clustering of nodes is determined based on the hierarchical class, the parent node, the level of the hierarchy, and the visual class.

First of all, nodes must be clustered by the hierarchical group class to which they belong.

The second condition of clustering is that the node's hierarchical level must be equal to the current hierarchical level.

Warning
The algorithm always clusters the nodes located at the current hierarchical level. When all nodes in the current hierarchical level will be the only nodes of their parents, the algorithm will collapse those nodes into their parents and decrease the current hierarchical level by 1.

As the map (in the mapping platforms) scales down and details disappear, new correlated details appear in their place that generalize the disappeared details. In our case, the parent node is such a generalization. Therefore, the next condition for clustering must be to cluster nodes that have the same parent node.

After all nodes that have the same parent node are filtered out, the algorithm filters out nodes that have the same visual class, unless multiple visual classes to be clustered together are explicitly specified in the visual configuration.

Warning
Visual classes that are allowed to be clustered together are predefined by a technician in the visual configuration. You cannot define them in the user interface.

Two cases can occur at the end of filtering:

  • In the first case (an example is shown in the Figure 7 below), at the end of the filtering there are several nodes that can be clustered and grouped (within same parent). The algorithm then simply clusters and groups filtered nodes.

grouping-of-clusters-several-child-nodes
Figure 7. Grouping of clusters (use-case of several child nodes)

  • In the second case, only one child node (per parent) remains at the end of the filtering (an example is shown in the Figure 8 below).

    grouping-of-clusters-one-child-node
    Figure 8. Grouping of clusters (use-case of one child node)

    This child node can represent a single child node or a group containing all of the parent's child nodes. In this case, the remaining child node (in each parent) should be collapsed into the parent node, but this should only happen when all the child nodes having current hierarchical level are the only child nodes of their parents (as shown in the Figure 8 above).

    Note
    After collapsing child nodes, the algorithm switches the current hierarchical level one level lower. During this operation, all non-hierarchical edges from child nodes are moved to the parent node.

When ungrouping ("Grouping of clusters" is selected in the checkbox and "plus" button is clicked), only nodes at the current hierarchical level can be ungrouped.

There are two cases:

  • In the first case, there is at least one group at the current hierarchical level.

    Warning
    In such case, algorithm ungroups random number of random groups.

  • In the second case, there are only parent nodes which contain inside collapsed child nodes. In such case, algorithm shows collapsed child nodes.

    Note
    In such case the current hierarchical level increases by 1.

Node removal

Deleting a node propagates the recursive deletion of a node's descendants.

How to use the extension?

This guide will explain and teach you how the "Grouping of clusters" extension works and what benefits it provides.

Configuration selection

Note
The Knowledge Graph Browser currently supports only one configuration that allows this extension to be used.

1) Choose "Charles Explorer" meta-configuration. See the Figure 9 below.

meta-configuration-selection
Figure 9. Meta-Configuration selection

2) Choose "Browsing topics cultivated at Charles University (with constraints)" configuration. See the Figure 10 below.

configuration-selection
Figure 10. Meta-Configuration selection

3) Choose starting node

Warning
Wait for the starting node to fully load (the loading sign will disappear and the starting node will look like at the picture below). This is a necessary step for the extension to work correctly. See the Figure 11 below.

starting-node
Figure 11. Starting node

Get started with graph exploration

Starting node

The starting node is shown in the same way as in other configurations.

Hierarchical expansions

There are hierarchical and non-hierarchical relationships.

Expansion queries listed in the detail panel under the "Available views" label allow you to show the neighborhood of the node in which that node is in either a hierarchical or non-hierarchical relationship with its neighbors.

The hierarchical and non-hierarchical expansions are listed below and shown in the Figure 12 below:

  • Hierarchical expansions:

    • "Nadřazená pracoviště"
    • "Podřazená pracoviště"
  • Non-hierarchical expansions:

    • "Témata pracoviště"
    • "Sdílená témata pracoviště"

hierarchical-and-non-hierarchical-expansions
Figure 12. Hierarchical and non-hierarchical expansions

Note

  • A hierarchical group can be sequentially build using hierarchical expansions (an example is shown in the Figure 1).
  • Non-hierarchical expansions expand a node with its neighborhood, where each neighbor is connected to that node by an edge.

Checkbox

The main tool that enable you to utilize the extension is the checkbox.

Using the checkbox, you can choose whether to do:

Note

  • When "Grouping of clusters" is selected, use "minus" (resp. "plus") button to group (resp. ungroup) nodes. Mouse wheel not supported.
  • By selecting a "Grouping of clusters" and "Zoom" at the same time, you can take an advantage of the main features of the mapping platforms (for more information see Grouping of clusters). Mouse wheel supported.

Node removal

Below is shown an example of the node removal:

Before removal of the "Informaticka sekce":

before-removal
Figure 13. Before removal (the node "Informaticka sekce" is selected for deletion)

After removal:

after-removal
Figure 14. After removal

Summary

The main motivation behind the "grouping of clustering" extension is to bring the concept of zooming from mapping platforms into the Knowledge Graph browser. Feel free to use the newly implemented features that will give you a fresh perspective on the graph.

References

[1] https://en.wikipedia.org/wiki/K-means_clustering

[2] https://en.wikipedia.org/wiki/K-medoids