知识图谱可视化工具选型
目录
- 背景
- 选型原则
- 筛选
- D3.js
- 优点
- 缺点
- cytoscape.js
- 优点
- 缺点
- Antv G6
- 优点
- 缺点
- networkx
- 优点
- 缺点
- 最终选择
- 后续
- 参考资料
背景
本人作为大一狗,有幸参加了老师的工业大数据知识图谱可视化研究的项目,那么,选择一个好用的可视化工具当然是必要的——一个好的工具能够大大降低后期研发成本和维护成本。
选型原则
根据本次调研的需要,可视化工具需要遵循以下几个原则:
- 能够制作知识图谱(最基本)
- 便于展示动态数据项之间的关联
- 开源
- 能够满足工业大数据的需求
- 最好是基于python语言或者基于js
筛选
现阶段可视化工具种类繁多,发展迅速,根据本次选型原则第一条,即能够制作知识图谱,我们初步筛选到了以下“可视化工具”(不全):
————————————————————————————————
Tableau、R-ggplot2、Echarts、igraph、networkx、neo4j、tigergraph、
Cayley、BDP、DATEfocus、Antv G6、FineReport、d3js、cytoscape.js
————————————————————————————————
当然,对于初步接触可视化的我们来说,这些就只是一个个毫无意义的单词。
在更深入地了解了每一个后,我们才意识到这里面并非全部都是可视化工具,比如neo4j,其实是一个图数据库,它需要像D3js这类的js库来实现数据的可视化。也就是说,我们要找的是前端展示的工具。
我们又考虑到前面的选型原则,最终我们将范围缩小到D3.js、cytoscape.js、Antv G6、igraph、networkx这五个里面,接下来我们将对这五个的优劣势一一分析。
D3.js
D3 的全称是Data-Driven Documents,D3.js是一个JavaScript库,它可以通过数据来操作文档。D3可以通过使用HTML、SVG和CSS把数据鲜活形象地展现出来。它可以说是可视化的先驱了。
官方网站:http://www.d3js.org
优点
- D3.js在世界范围十分地受欢迎,因此网络上有大量的学习资源以及交流论坛。
- 提供了很厉害的可视化组件,功能十分强大。
- 可以让程序轻松兼容现代主流浏览器并避免对特定框架的依赖。
- 数据转换和绘制是独立的。
- 开源
缺点
- 对于初学者不太友好,学习曲线比较高,需要一定的基础才能轻车熟路。
- 代码量较大。
- 在原始数据的保存上D3不能很好的起到保密作用。
cytoscape.js
Cytoscape.js是一个用JS编写的开源图库
官方网站:https://js.cytoscape.org
优点
- 可以轻松实现动态交互过程。
- 开源。
- 支持绝大部分浏览器。
- 支持移动端的使用,甚至可以实现包括捏合缩放、框选择、平移等等的动作。
- 官方网站上面有很详细的代码解读。
- 制作出来的知识图谱很好看。
- 用纯js语言编写。
- 示例图可以在浏览器的JS控制台中自由修改。
- 包括从BFS到PageRank的图论算法。
- 完全可扩展。
- 维护良好:每周补丁发布节奏\每月功能发布节奏
- 可以显示数据间的双向关系。
缺点
也许需要一定的代码量算是吧。。。
Antv G6
AntV 是蚂蚁金服全新一代数据可视化解决方案。G6是它的一个简单、易用、完备的图可视化引擎,它在高定制能力的基础上,提供了一系列设计优雅、便于使用的图可视化解决方案。能帮助开发者搭建属于自己的图可视化、图分析、或图编辑器应用。
官方网站:https://antv.vision/zh
优点
- 具有十分丰富的知识图谱形式
- 动态交互
- 开源
- 十分简单易用,代码要求简单
缺点
- 它的最大的一个缺点就是它是一个商业产品,而本课题更多的是涉及到科研方面。可能产生费用。
- 它过于“成熟”了,对代码的要求很低,对编程能力的提高帮助不大。
networkx
networkx是用python语言编写的软件包,是一个用Python语言开发的图论与复杂网络建模工具。
优点
- 内置了常用的图与复杂网络分析算法,可以方便的进行复杂网络数据分析、仿真建模等工作。它支持创建简单无向图、有向图和多重图;内置许多标准的图论算法,节点可为任意数据;支持任意的边值维度,功能丰富。
- 开源
- 简单易用
缺点
- 虽然是用python语言,但是为了实现本课题需要的动态交互,仍然需要引入JavaScript或者一些R语言,所以反而会麻烦。
- 生成的知识图谱相对比较丑。
最终选择
基于上面的调研,我们最终决定使用cytoscape.js作为我们的可视化工具。在确定工具后,接下来就是对相应的知识进行学习的过程了。项目将持续进行更新。
后续
之前对这些工具都不太熟悉,后来经过我们调查,发现Antv G6并没有产生费用的情况,而且其代码量也不会太简单,再加之它可能和其它阿里的工具联动性更大,我们决定对于Antv G6和cytoscape.js同时进行学习,初步学习后再做定论。然后再对选定的工具进行全面的学习。
参考资料
https://www.cnblogs.com/minglex/p/9205160.html
https://antv.vision/zh
https://www.jianshu.com/p/c3800c61d2fb
https://blog.csdn.net/dahaiaixiaohai/article/details/89669526
http://www.d3js.org
https://js.cytoscape.org
知识图谱可视化工具选型相关推荐
- python文献知识图谱可视化_知识图谱可视化工具(知识图谱可视化python)
知识图谱可视化工具免费杭州市西湖区教育装备保障服务中心 除了知识图,图还能做什么?编者注:作者的高级解决方案顾问包汉林.本文将集中在三个方面,侧重于图数据库和图分析的价值,并列举图分析应用程序的一些方 ...
- 知识图谱可视化技术在美团的实践与探索
省时查报告-专业.及时.全面的行研报告库 省时查方案-专业.及时.全面的营销策划方案库 [免费下载]2022年3月份热门报告盘点 某短视频APP推荐算法及策略最详细拆解 大萧条来临前的几大征兆 机器学 ...
- python知识图谱可视化_知识图谱可视化
## 人物关系知识图谱 #### 一.背景 将结构化数据通过关系预处理程序处理为图数据库可以查询的数据,示例是将其中一部分(人物关系数据)可视化表示. #### 二.用到的技术 技术点:图数据库Neo ...
- 使用Neo4j+InteractiveGraph实现豆瓣电影知识图谱可视化
0.介绍 本文基于豆瓣电影数据构建了一个电影知识图谱.其中包括电影.演员.导演三种节点及相关关系.并使用InteractiveGraph对图谱完成可视化工作. 数据丰富,图谱包含2.7万个节点,5万条 ...
- 知识图谱可视化应用研究现状文献综述
信息检索课写的一篇文献综述,这里记录一下,或许以后研究会用到 文章目录 摘要 关键词 Abstract Key words 引言 知识图谱概念 知识图谱可视化的构建流程及关键技术 1. 数据来源与处理 ...
- 基于pyecharts的中医药知识图谱可视化
基于pyecharts的中医药知识图谱可视化 关键词: pyecharts:可视化:中医药知识图谱 摘要: 数据可视化是一种直观展示数据结果和变化情况的方法,可视化有助于知识发现与应用.Neo4j数据 ...
- 中医知识图谱可视化创建
基于pyecharts的中医药知识图谱可视化 关键词: pyecharts:可视化:中医药知识图谱 摘要: 数据可视化是一种直观展示数据结果和变化情况的方法,可视化有助于知识发现与应用.Neo4j数据 ...
- 合作|中国人寿财险联合清华大学共同推出危化品知识图谱智能工具
来源:中国人寿财险 本文约1000字,建议阅读5分钟如何提高重大危险源的管理效力是工业企业生产安全的必修课. 近年来,我国安全生产形势持续稳定好转,实现了事故总量和死亡人数"双下降" ...
- 论文浅尝 - 计算机工程 | 知识图谱可视化查询技术综述
本文转载自公众号:计算机工程. 知识图谱可视化查询技术综述 王鑫, 傅强, 王林, 徐大为, 王昊奋 知识图谱作为符号主义发展的产物,是人工智能技术和系统中的重要组成部分,其在百科知识.生物信息.社交 ...
- 知识图谱可视化——《间客》人物关系
知识图谱可视化--<间客>人物关系 借鉴echarts的<间客>人物关系案例完成了知识图谱可视化. 存在疑问是: 1.如何将图谱可视化体现业务价值? 2.如何结合QA问答交互, ...
最新文章
- 币圈王哥:BTC多头局面进一步打开,BCH再现强势姿态
- linux主题文件,美化你的Linux!23个精美Ubuntu主题下载
- mysql数据库主从不同步的解决方法
- UIButton小结
- 包装类 java 1615210339
- Maven: Could not transfer artifact xxx from/to xxx
- 致敬!这些老外的开源技术养活了一票国产软件
- 解决tex中参考文献出现[S.l.: s.n.]、[S.l.]、 [s.n.]问题
- python123.io能不能补交作业_作业分配问题-回溯法-Python3
- jxbrowser保存文件打开的上次目录,支持单文件,多文件,多窗口
- word流程图变为图片格式_word2007转成图片格式的两种方法
- flink实战-实时计算平台通过api停止流任务
- 【自动驾驶】二自由度车辆动力学模型
- 1194_SICP学习笔记_霍夫曼编码树
- python---酒鬼漫步
- python代码手机壁纸_Python制作微信好友背景墙教程(附完整代码)
- 微信第三方登陆实现-微信浏览器实现弹出提示授权非微信浏览器提供二维码
- 02 Uber Go 语言编码规范 - 指导原则 - interface 合理性验证
- 12306登录password参数加密逻辑
- MySQL数据库的卸载与安装
热门文章
- Unity技术手册 - 形状(Shape)子模块 - Cone椎体和Box盒及Mesh、MeshRenderer、SkinnedMeshRenderer
- 【IJCAI 2022】参数高效的大模型稀疏训练方法,大幅减少稀疏训练所需资源
- 计算小于100的最大素数
- 唯物主义观点有哪些_唯物主义的观点及方法论有哪些?
- HTML 有序列表 字母,HTML之有序列表教程
- 【记录一下】训练yolov5解决can not train without labels
- 6月8日苹果正式发布iOS 15,亮度多多
- 在Ubuntu中安装中文输入法
- 判断43是不是质数用c语言,1是素数吗(c语言判断一个数为素数)
- 数论 - 质数(素数)基础【 素数的判断 + 试除法分解质因数 + 求1-n之间的素数的三种筛法 】