在Gephi中可视化Janusgraph的图
总结
我們目前所使用的產品是使用Janusgraph,由於在開發過程中有願望能夠視覺化圖形結構,所以我們使用Gephi來實現圖形的可視化。本篇文章中,我們使用了圖形數據進行教學,因此請根據實際使用情境對相關內容進行適當調整。
做过的事情 (zuò guò de shì
-
- Janusgraphをdocker-composeで立ち上げる
- Janusgraphサーバー(gremlin-server)とGephiを接続して、グラフを可視化する
不說明的事情
今回の記事では、gremlinコマンドについての説明ができていません。
gremlinについて学習したい方は、参考資料に記載しているPRACTICAL GREMLINを参考にしてください。
動作環境
maacOS Catalina ver.10.15.3
Gephi 0.9.2
Janusgraph 0.5.2
Janusgraph是什么?

官方网站
Gephi是什么
只要求助官方是正确的表达,简单来说,Gephi是一款用于可视化图形和网络的开源软件。
这里是官方网站的引用。
Gephi是一款用于可视化和探索各种图和网络的领先软件。Gephi是开源且免费的。
https://gephi.org/
步骤
-
- 安装Gephi软件
-
- 安装Gephi所需插件
-
- 进行Gephi配置
-
- 启动Janusgraph服务器
-
- 在第4步中启动gremlin控制台
-
- 连接gremlin控制台和Gephi
-
- 运行遍历以进行可视化
- 在Gephi中查看可视化结果
1. 安装Gephi
从以下网页下载Gephi的安装程序:
https://gephi.org/users/download/
安装Gephi所需的插件。
在本节中,我们将安装一个名为Graph Streaming API的插件。该插件允许我们通过HTTP连接到在Gephi中创建的工作区。
1. 打开Gephi后选择新项目。
2. 然后在菜单栏中选择工具 > 插件。
3. 搜索并安装如下图所示的Graph Streaming插件。

3. 在Gephi上的设定
在这一部分,我们将进行设置以打开端口并等待来自外部的请求。

启动Janusgraph服务器。
在本节中,我们将使用docker-compose来启动Janusgraph服务器。请按照每个使用案例的要求选择合适的启动方法。
我认为把下面的GitHub存储库克隆到本地进行试用也是个不错的想法。
https://github.com/JanusGraph/janusgraph-docker
1. 在4中启动gremlin控制台
在本节中,我们将启动 Gremlin 控制台。Gremlin 控制台是一个用于执行 Gremlin 命令的交互式 shell。
- 在启动的Janusgraph服务器上,执行bin/gremlin.sh命令。然后,类似于下面这样的Gremmlin输出将显示在标准输出中,并且将为您打开Gremmlin控制台。
\,,,/
(o o)
-----oOOo-(3)-oOOo-----
- 如果屏幕上显示出gremlin>,并且可以输入命令,那就可以了。
6. 将gremlin控制台与Gephi连接
终于,在这一部分我们将对这篇文章的主要目标Gephi进行连接设置。接下来的操作将在gremlin控制台上执行。
参考资料在这里。
安装Gephi的插件。
gremlin> :plugin use tinkerpop.gephi
我将连接到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
如果在docker上启动了Janusgraph,如果要指定主机PC的localhost,那么将使用host.docker.internal来更新连接信息。
gremlin> :remote config host host.docker.internal
==>Connection to Gephi - http://host.docker.internal:8080/workspace1 with stepDelay:1000, startRGBColor:[0.0, 1.0, 0.5], colorToFade:g, colorFadeRate:0.7, startSize:10.0,sizeDecrementRate:0.33
本次使用TinkerPop提供的教程用图数据。(还有其他教程用图数据)
gremlin> graph = TinkerFactory.createModern()
==>tinkergraph[vertices:6 edges:6]
gremlin> :> graph
==>tinkergraph[vertices:6 edges:6]
==>false
7. 通过遍历来进行可视化
我将创建一个遍历算法来构建在Gephi中可视化的图形结构。
为了将Gephi上的遍历可视化,需要添加以下设置。其中的”graph”部分必须是一个Graph实例。
:remote config visualTraversal graph
通过上述命令,将生成一个称为”vg”的可视化TraversalSource。之后可以使用此对象来定义遍历过程。
为了避免遍历的重复执行,可以在命令的末尾添加”[]”。
gremlin> traversal = vg.V().in().out("knows").has("age",gt(30)).outE("created").has("weight", gt(0.5d)).inV();[]
我将遍历传输到Gephi。
gremlin> :> traversal
在Gephi中查看可视化结果


其他
有用的gremlin命令
- gremlinコンソールを抜ける
gremlin> :exit
- Gephiで可視化しているグラフを消去する
gremlin> :> clear
请提供参考资料
-
- Janusgraph
-
- Gephi
-
- PRACTICAL GREMLIN
-
- TinlerPop Documentation
- GremlinコンソールのTips