图数据库JanusGraph实战[5]: JanusGraph可视化之Gephi
作者:胡佳辉(家辉) 日期:2018年12月29日 CSDN博客:https://blog.csdn.net/gobitan
图数据库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
本文原发于 "图数据库与图计算"公众号,欢迎关注!也可以加入"图数据库与图计算"QQ群(463749267)