Meet Ultipa Manager: Graph Visualization
Who is Ultipa Manager? No! It’s not a job title here in Ultipa.
Ok then, what is Ultipa Manager?
Ultipa Manager is our Graph Database Management System (GDBMS, or Graph DBMS), it’s a web-based application. We once called it Ultipa KG when it was initially launched in 2019. The very recent version of Ultipa Manager is v4.2. We will have 3 serial posts to talk about some sparkling features of it, they are:
1. Graph Visualization
This week, let’s discuss the first part - graph visualization. Graph Visualization is, broadly defined, the spatial arrangement of nodes and edges in 2D or 3D fashion. Visualization is one of the critical missions for Ultipa Manager. It’s hard to think of a graph without visualization, our mind can’t help but to start drawing for analysis and insights. We either seek for the full view that contains the whole dataset, or a partial view. Of course, in real-world scenarios, entire dataset is often too large to fully display on the screen, but there are still ways to illustrate the gist of the graph. On the other hand, for partial view (view of a subgraph) there are many combinations and caveats – results from a query may contain nodes, edges, paths, subgraphs, tables or the combination of all. Ultipa Manager is designed to handle such complexity.
Graph or table? Both!
Graph database is just the thing we called for after suffering enough from relational databases’ lack of ability to reveal data correlation. There are two kinds of metadata in graph database, nodes (vertices) and edges, describing entities and relationships respectively. In other words, relationships are directly manifested in graph database, rather than being calculated, or JOINed. Graph is quite comparable with the comprehension in our brain, its intuitiveness requires little explanation. Even so, people love tables for reasons. It’s organized, neat, and easy for human eyes to scan across. Ultipa also finds table useful in presentation, especially for discrete metadata.
You will like the feature in Ultipa Manager to switch between Graph and List views, or even better, put both of them in the split result panes! The example below is the query results of 10 nodes of schema author in a co-authorship network. In the left pane of table view, it’s easy to see the detailed information of authors, their id, uuid, name and gender. In the corresponding graph view on the right, nodes are shown in the style of a defined icon, with specified property value as text label (in this case, property name is used).
Just to clarity, the results shown in the split result panes don’t have to be from the same query. Each result pane can keep the history queries as much as you like, and all opened results panes are independent.
In graph view, Ultipa Manager can assist more of your exploration. One way is to spread from a node (an author) to see who the author has once worked with. The spread depth is customizable, in this demo we set the depth as 3, expecting to see who the target author worked directly, indirectly and double indirectly with.
Tree & Circular Layout
Ultipa Manager offers options to re-arrange the layouts of nodes and edges in the graph to let the graph speaks further. Specifically, tree layout and circular layout. In application, we could benefit from switching between those layouts to discover the structural feature of the network.
领英推荐
As we all know, tree layout is good at demonstrating hierarchy. With a clear logic from top to bottom, from a root to leaf nodes, the visualized information is added with more clarity. When rendering the tree layout, Ultipa Manager puts an end node of the longest directed path in the connected component (if the whole graph is connected, there is only one connected component) as root, and places other nodes vertically ordered by the connections (direction ignored). Technically speaking, the tree layout we get from the graph maybe just tree-like layout, as the graph may contain circles, which are not allowed to have in trees strictly. Even so, this tree-like structure would provide us some impressions of the breadth and depth of the graph.
In the original layout, edges are drawn with curved lines, once you move one node, it drags nodes connected with it and pushes away nodes in the area where it goes. The whole layout keeps in a flexible and dynamic mode. In the tree layout, though, the edges are straight lines, moving any node will not disturb others. One of the benefits of tree layout is to help quickly sort the hops of neighbors. For example, in the example above, we originally interested in and spread from author Adar, E, who is located at the left bottom of the tree. Thanks to the clear sequential structure, we can soon tell his 1-hop (blue), 2-hop (green) and 3-hop (red) co-workers.
Investigating the shareholding structure of a company in a business ownership graph is a typical application. Below is the query result towards the company of ID 23 (represented by a red building icon), the shareholder is either a company node (green building icon) or an individual node (blue user icon), the relationship of ownership as well as the percentage held are represented by the directed edges. This query written by UQL (Ultipa Graph Query Language) is:
n(23).re({@holdShare})[:10].n() as paths return paths{*}
It’s a 10-depth single-direction penetration as we understand that many owners have chosen to hide their identities from surface in the world of business. Speaking of this, you may find interesting to read this UBO (Ultimate Beneficiary Owners) solution of Ultipa.
From this default layout we get the sense that the shares of this company 23 are quite diversified, although it’s a bit difficult to explain it well only at a glance. Meanwhile, the ownership chain becomes very obvious after we apply the tree layout as shown below.
Owner are 3-hops away from company 23 the most, and the biggest shareholder is individual of ID 1 holding 55.51% of the shares. I highlight the shareholdings of this individual with red bold edges in the tree layout graph, below is the screenshot of that part:
Very differently from tree layout, circular layout gives no preference to any nodes, but treats them equally by placing them in a symmetrical, evenly perfect circular ring. All edges are drawn either as straight chords inside the circle, or as lines close to circumference of the circle.
Below are the original layout (left) and circular layout (right) of a protein-protein interaction network. In original visual layout, our eyes can catch some clusters, while the hubs (centers) of those clusters become even clearer in the circular layout, as they have denser edges around them.
Closing Remarks
Graph visualization plays an important part of applying graph technology to industries to gain values. With the aid of intuitive and interactive graph visualization by Ultipa Manager, the understanding of network is expected to be not only eased, also broadened, for a faster and wiser decision-making and action-taking.
Ultipa Manager was only available in exclusive deployments until the recent release of Ultipa Cloud, a DBaaS (Database as a service) platform. It comes with baked-in best practices and tools to bring you a one-stop experience of Ultipa Graph in the cloud, including Ultipa Manager. Try it with less investments before you decide to go with Ultipa Graph for a long run.