在 ZH上又看到一个问题,觉得挺有意思,小聊一二。
“知识图谱必须要图数据库吗?” ——使用非关系型数据库,关系型数据库,在计算图的一些特征上,通过优化算法是否能达到使用图数据库接近的计算速度呢?”
当然不是必须的,还得看是干什么用?什么场景用等等。
但不得不说的是,图数据库在处理复杂关系和图查询方面具有明显优势,当然,通过适当的设计和优化,传统关系型数据库和NOSQL类其他数据库可以在某些情况下能够接近图数据库的性能,但是,对于一些特定场景,如反洗钱等需要复杂关系查询、多跳路径查询的需求,图数据库的技术特性那就是天然的理想选择了!
通用的知识图谱的建设在很长一段时间内都着重在 NLP和可视化呈现等方面,但忽略了计算时效性、数据建模灵活性、查询(计算)过程与结果可解释性等问题。尤其是在整个世界从大数据时代向深数据时代转型的当下,过去传统的基于SQL或 NoSQL构建的图谱的缺陷,已无法高效去处理海量、复杂、动态的数据的能力,更何谈进行关联、挖掘和分析的洞察力?这也就是为什么今年4月的时候,GQL国际标准语言一发布,大家都很振奋,它具有图数据库技术颠覆SQL并继往开来的重要里程碑的意义。
ISO/IEC-GQL国际图语言标准发布,图技术开启新纪元https://blog.csdn.net/Ultipa/article/details/138155110?spm=1001.2014.3001.5502
那么,传统知识图谱面临的挑战都有什么特性呢?
一是,低算力(低效)。采用SQL 或 NoSQL 数据库系统构建的知识图谱底层架构效率低下,无法高速地处理高维数据。
二是,灵活性差。基于关系型数据库、文档数据库或低性能图数据库构建的知识图谱通常受制于底层架构而无法高效地还原实体间的真实关系。诸如,它们有些只支持简单图,录入多边图数据时要么信息容易丢失,要么花高代价来构图。
三是,徒有其表。在2020 年之前, 极少有人真正关注底层算力,几乎所有的知识图谱系统建设,都仅仅是围绕 NLP 和可视化这两部分。而没有底层算力支撑的知识图谱,只是在本体与三元组的抽取和构建,并不具备解决深度的查询、速度和可解释性等问题的能力。
什么是图数据库呢?
图数据库是一种应用图理论,可以存储实体的属性信息和实体之间的关系信息,在定义方面,图(Graph)是以节点和边定义的数据结构。
图是知识图谱存储与应用服务的基础,拥有强大的数据关联及知识表达能力,因此倍受学术界和工业界的推崇。
对“图”感兴趣的同学,可以看这本书快速入门和了解:《图数据原理、架构与应用》。这本书涉及了原理、架构、算法、扩展、规划、测评、优化、实战应用,8大维度的内容构建,可以让入门者快速建立起框架,而且还有大量的实践案例,全是一手的实践经验!
如上图所示,在实时图数据库引擎的帮助下,产业界可以实时地在不同数据间找到深度关联的各种关系,甚至可以找到最优的、人脑都无法企及的智能途径——这就是源于图数据库的高维性。