图数据库JanusGraph实战[5]: JanusGraph可视化之Gephi

2022-03-21 00:00:00 配置 启动 安装 插件 可视化

图数据库JanusGraph实战是一个系列文章,将全面介绍JanusGraph的各个方面。本文是该系列的第五篇,主要介绍JanusGraph的可视化工具Gephi。


JanusGraph可视化概述

在本系列的篇文章中已经介绍了JanusGraph支持五种可视化工具,分别如下:

  • Cytoscape

  • Gephi

  • Graphexp

  • KeyLines

  • Linkurious

今天,我们来看下JanusGraph中的图数据如何使用Gephi可视化工具来呈现。


Gephi可视化工具简介

Gephi是一款的用于各种图和网络可视化与探索的免费开源软件。Gephi支持各种操作系统平台,包括 Windows, Mac OS X和Linux.


Gephi下载与安装

[1] 下载

进入https://gephi.org/,当前新版本为gephi-0.9.2-windows,大约73M。


[2] 安装

直接双击,默认安装即可。


安装Gephi的Graph Streaming插件

进入"工具"->"插件"菜单,在"可用插件"中选中"Graph Streaming",并点击左下方的"安装"按钮。

然后,按照提示完成"Graph Streaming"插件的安装。安装完之后,需要重启Gephi。


Gephi与JanusGraph的集成

步:先启动好JanusGraph Server

Linux下采用非root账户在JanusGraph安装包的根目录下,直接用"bin/janusgraph.sh start"启动。默认的存储后端采用的的Cassandra,索引存储采用ElasticSearch。Cassandra和ElasticSearch都不需要单独起动,脚本启动的时候会自动依次启动这两个服务。


第二步:配置Gephi

[1] 启动Gephi并新建工程

菜单操作为:"文件"->"新建项目"


[2] 重命名工作区

注意:这一步如果没弄对会导致连接不上。

菜单操作为:"工作区"->"重命名",设为"janusgraphspace"


[3] 启动 Gephi Master Server

鼠标右击左侧Streaming窗口中的"Master Server",然后选择"Start",启动Master Server。启动后,就默认开启了一个服务,URL为:http://{ip地址}:8080/janusgraphspace,8080后面的路径就是工作区的名称。例如我本机(Windows)的 http://172.27.13.178:8080/janusgraphspace


第三步:tinkerpop.gephe插件的使用

环境说明:Gephi运行在我本地的Windows上,而JanusGraph Server部署在远程CentOS服务器上的。他们的IP地址分别为:

Gephi:192.168.142.1

JanusGraph Server:192.168.142.164

[1] 打开Gremlin Console

进入JanusGraph的根目录之后,输入"bin/gremlin.sh"打开Gremlin Console

[2] 激活tinkerpop.gephi插件

gremlin> :plugin use tinkerpop.gephi

==>tinkerpop.gephi activated

[3] 连接到tinkerpop.gephi插件

gremlin> :remote connect tinkerpop.gephi

==>Connection to Gephi - http://localhost:8080/workspace1 with stepDelay:1000, startRGBColor:[0.0, 1.0, 0.5], colorToFade:g, colorFadeRate:0.7, startSize:10.0,sizeDecrementRate:0.33

由于tinkerpop.gephi插件默认连接的Gephi地址为"http://localhost:8080/workspace1",但实际上我们的Gephi不在服务器上,而是在本地客户机上,所以后续还需要修改Gephi插件的配置。

[4]  配置tinkerpop.gephi插件

1) 配置gephi的host

gremlin> :remote config host 192.168.142.1

==>Connection to Gephi - http://192.168.142.1:8080/workspace1 with stepDelay:1000, startRGBColor:[0.0, 1.0, 0.5], colorToFade:g, colorFadeRate:0.7, startSize:10.0,sizeDecrementRate:0.33

2) 配置gephi的worksapce

gremlin> :remote config workspace janusgraphspace

==>Connection to Gephi - http://192.168.142.1:8080/janusgraphspace with stepDelay:1000, startRGBColor:[0.0, 1.0, 0.5], colorToFade:g, colorFadeRate:0.7, startSize:10.0,sizeDecrementRate:0.33

说明:如果想查看还有哪些可以配置,可以通过":remote config help"查看.

[5] 创建测试图数据

gremlin> graph = TinkerFactory.createModern()

==>tinkergraph[vertices:6 edges:6]

gremlin>

[6] 把测试数据推送到Gephi中

gremlin> :> graph

==>tinkergraph[vertices:6 edges:6]

==>false

gremlin>

[7] 在Gephi中查看导入的数据

从右上角的"上下文"窗口中可以看到导入了6个节点和6条边,但这个图很丑,需要格式化(美化)。


Gephi中图数据的格式化

经过一番折腾,图终显示如下:

具体的过程就不详细描述了,请参考Gephi的官方帮助文档。https://gephi.org/users/tutorial-layouts/和https://gephi.org/users/tutorial-visualization/


其他命令

清空Gephi工作区内的图数据

gremlin> :> clear

Gephi workspace cleared


参考资料:

[1] http://janusgraph.org/

[2] http://tinkerpop.apache.org/docs/current/reference/#gephi-plugin 

相关文章