Gephi编程实战-基于gephi-toolkit开发的一套简单framework

简介

Gephi是一款开源免费跨平台基于JVM的复杂网络分析软件,,其主要用于各种网络和复杂系统,动态和分层图的交互可视化与探测开源工具。

Gephi提供客户端工具,为相关使用人员提供丰富的功能去分析网络图谱,但是想要基于Gephi做编程开发的同学们,需要引入gephi-toolkit。

Gephi提供gephi-toolkit是一套工具包(jar包集合),进行图编程,并提供了相对丰富的插件。

Gephi官方源码:https://github.com/gephi

实战

结合对Gephi的实践,本人基于gephi-toolkit开发了一套简单的framework,意在帮助想要快速基于gephi进行编程的同学使用,或者作为demo学习。

项目maven引入gephi-toolkit 0.9.1版本

<dependency>
    <groupId>org.gephi</groupId>
    <artifactId>gephi-toolkit</artifactId>
    <version>0.9.1</version>
</dependency>

该项目托管在:https://github.com/likeaboy/kgraph

例子

可以参见项目源码中的Demo类:

GetNodeDemo为根据节点数据生成单个节点,添加到Graph内存模型中,并输出到图描述文件gexf文件里。

GetRelatedNodeDemo以GetNodeDemo生成的gexf文件为基础,读入相关节点刷新Graph内存模型,并 生成新的gexf文件。

该框架支持多种数据源,可通过policy实现自己获取数据的逻辑,然后转换成框架自己的数据模型,用户不必关心后续的分析计算,计算结果以gexf图描述文件输出。

基于框架计算出的gexf文件在不同展示工具下的效果:

使用KGraph-framework绘制的gexf图描述文件在gephi客户端中渲染的效果:
这里写图片描述

这里写图片描述

使用KGraph-framework绘制gexf图文件在echart中渲染的效果:
这里写图片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章