• 知识图谱


    2021-09-06

    知识图谱包括多方面,

    工业生产环境中,涉及知识图谱的导入、存储、增删改查、图算法、展示等。

    图库是一方面,包括数据逇导入、存储、增删改查、图算法等等。

    另一方面是图展示。

    图库:

    图展示:

    参考:知识图谱可视化工具选型

    背景
    本人作为大一狗,有幸参加了老师的工业大数据知识图谱可视化研究的项目,那么,选择一个好用的可视化工具当然是必要的——一个好的工具能够大大降低后期研发成本和维护成本。

    选型原则
    根据本次调研的需要,可视化工具需要遵循以下几个原则:

    能够制作知识图谱(最基本)
    便于展示动态数据项之间的关联
    开源
    能够满足工业大数据的需求
    最好是基于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
    ————————————————
    版权声明:本文为CSDN博主「bruuuuuuuuno」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/bruuuuuuuuno/article/details/104910336

    参考资料:

    知识图谱可视化工具选型

    图数据可视化分析组件:https://blog.csdn.net/superman_xxx/article/details/106176479

    neo4j 查询同一节点的两个上级_史上最全—Neo4j 前端可视化组件及相关资源:https://blog.csdn.net/weixin_39679091/article/details/110139171

    新兴学科科学知识图谱绘制的大数据挖掘方法和实现 -1:https://www.cnblogs.com/goldenblade/p/9596807.html

    https://js.cytoscape.org

    https://antv.vision/zh

    http://www.d3js.org

    知识图谱可视化demo:http://www.demodashi.com/demo/13181.html

     

  • 相关阅读:
    [LeetCode] 687. Longest Univalue Path
    [Daily Coding Problem] 1 (LeetCode 1). Find if two numbers in an array add up to k
    [Daily Coding Problem] 18 (LeetCode 239). Sliding Window Maximum
    [Daily Coding Problem 24] Implement locking in a binary tree.
    [LeetCode] 208(LintCode). Implement Trie(Prefix Tree)
    [Daily Coding Problem] 16. Last N order ids implementation
    队伍总结 2017年5月14日
    ECNU 3260 袋鼠妈妈找孩子(dfs)
    ECNU 3263 丽娃河的狼人传说 (贪心)
    UVA 213 信息解码(二进制&位运算)
  • 原文地址:https://www.cnblogs.com/zhangchao0515/p/15233724.html
Copyright © 2020-2023  润新知