在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是什么?

スクリーンショット 2020-11-25 21.47.39.png

官方网站

Gephi是什么

只要求助官方是正确的表达,简单来说,Gephi是一款用于可视化图形和网络的开源软件。

这里是官方网站的引用。

Gephi是一款用于可视化和探索各种图和网络的领先软件。Gephi是开源且免费的。
https://gephi.org/

步骤

    1. 安装Gephi软件

 

    1. 安装Gephi所需插件

 

    1. 进行Gephi配置

 

    1. 启动Janusgraph服务器

 

    1. 在第4步中启动gremlin控制台

 

    1. 连接gremlin控制台和Gephi

 

    1. 运行遍历以进行可视化

 

    在Gephi中查看可视化结果

1. 安装Gephi

从以下网页下载Gephi的安装程序:
https://gephi.org/users/download/

安装Gephi所需的插件。

在本节中,我们将安装一个名为Graph Streaming API的插件。该插件允许我们通过HTTP连接到在Gephi中创建的工作区。

1. 打开Gephi后选择新项目。
2. 然后在菜单栏中选择工具 > 插件。
3. 搜索并安装如下图所示的Graph Streaming插件。

スクリーンショット 2020-11-25 22.54.42.png

3. 在Gephi上的设定

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

スクリーンショット 2020-11-26 8.16.14.png

启动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中查看可视化结果

スクリーンショット 2020-11-26 9.48.57.png
スクリーンショット 2020-11-26 9.46.20.png

其他

有用的gremlin命令

    gremlinコンソールを抜ける
gremlin> :exit
    Gephiで可視化しているグラフを消去する
gremlin> :> clear

请提供参考资料

    • Janusgraph

 

    • Gephi

 

    • PRACTICAL GREMLIN

 

    • TinlerPop Documentation

 

    GremlinコンソールのTips
bannerAds