知识存储是针对知识图谱的知识表示形式设计底层存储方式,完成各类知识的存储,以支持对大规模图数据的有效管理和计算。知识存储的对象包括基本属性知识、关联知识、事件知识、时序知识和资源类知识等。知识存储方式的质量直接影响到知识图谱中知识查询、知识计算及知识更新的效率。
知识存储概述
从存储结构划分,知识存储分为基于表结构的存储和基于图结构的存储,如下图所示。
![图片名称](https://img-blog.csdnimg.cn/direct/08b74af7a0c5461aafb3de88287a0344.png)
知识存储方式
基于表结构的存储,是指运用二维的数据表对知识图谱中的数据进行存储。根据不同的设计原则,可以具有不同的表结构,如:三元组表、类型表和关系数据库。三元组表如jena等,优点是简单直接,易于理解。缺点是整个知识图谱都存储在一张表中,导致单表的规模太大。相应的插入,删除,查询,修改的操作开销也大。对实用性大打折扣。复杂查询在这种存储结构上的开销巨大。复杂查询拆分成若干个简单查询的操作,降低了查询的效率。
基于图结构的存储即使用图模型描述和存储图谱数据。这种方式能直接反应图谱的内部结构,有利于知识的查询,结合图计算算法,进行知识的深度挖掘与推理。目前业界公认的图模型有3种,分别是属性图(Property Graph)、资源描述框架(RDF)和三元组超图(HyperGraph),其中属性图和资源描述框架已广泛运用到多个图数据库产品中。
属性图或带标签的属性图(Labeled-Property Graph),由顶点(圆圈)、边(箭头)、属性(key:value)和标签组成,顶点和边可以有标签。属性图的表达很贴近现实生活中的场景,也可以很好地描述业务中所包含的逻辑。常见的属性图结构如下图所示。其中,节点的标签是User,边的标签是FOLLOWS。
![图片名称](https://img-blog.csdnimg.cn/direct/10bb53517bd44186809dac412f04ab20.png)
鉴于传统关系数据库拥有较高的通用性、可靠性、稳定性及成熟的技术,基于RDF的知识形式也广泛使用关系数据库作为其存储方式。目前主要有以下三种存储方案:基于三元组的三列表存储、水平存储、基于类的属性表存储和基于谓词存储等。对于基于RDF知识的三列表存储,该存储方式将关系数据库表的3列分别存储为RDF知识三元组的主语、谓语和宾语,即对应(实体,关系,实体)或者(实体,属性,属性值)。该三列表存储方式与传统的结构化数据存储方式相兼容,通用性好。但面向大规模的知识图谱,其本身包含大量的三元组,从而会造成关系数据库低效的查询性能。
超图概念的提出,是为了解决简单图中的共指消解和分割等问题。对于我们熟悉的图而言,简单图的一个边(edge)只能和两个顶点连接;而对于超图来讲,人们定义它的边(超边hyperedge)可以和任意个数的顶点连接。超图可以完美刻画标签网络中一条边包含多节点的问题。图和超图的示意图如下图所示:
![图片名称](https://img-blog.csdnimg.cn/direct/62c3bed696cb43c5a4e00addd1e2fa62.png)
知识存储基础工具
知识图谱的存储并不依赖特定的底层结构,一般的做法是按数据和应用的需求采用不同的底层存储,甚至可以基于现有关系数据库或NoSQL数据库进行构建。关系型数据库是典型的基于表结构的存储,图数据库是典型的基于图结构的存储。
关系数据库通过属性对现实世界中的事物进行描述,采用关系模型来组织数据的数据库,其以行和列的形式存储数据。一行一个记录,一列表示一个属性。用户通过查询来检索数据库中的数据,而查询是一个用于限定数据库中某些区域的执行代码。根据DB-Engines的统计数据,从2013年到2019年,Oracle、MySQL和Microsoft SQL Server稳居关系型数据库的前三甲,如下图所示。
![图片名称](https://img-blog.csdnimg.cn/direct/d56b24cec16745ffb8dfe8e7716c4ae5.png)
图数据库源起欧拉和图理论(graph theory),也可称为面向/基于图的数据库,图数据库的基本含义是以“图”这种数据结构存储和查询数据。它的数据模型主要是以节点和关系(边)来体现,也可处理键值对,优点是快速解决复杂的关系问题。图数据库是一种非关系型数据库,支持对图结构进行查询、增加、删除、更新等操作。相对传统的关系型数据库,查询速度快、操作简单、能提供更为丰富的关系展现方式。根据DB-Engines的统计数据,列举了一些近几年来常用图数据库的使用热度趋势曲线,如下图所示。
![图片名称](https://img-blog.csdnimg.cn/direct/ca374ff327f942ba95512b25360fad9a.png)
技术发展趋势
知识存储过程完成对各类知识图谱组成元素的存储,以支持对大规模图数据的有效管理,满足快速查询、读取、写入的操作,为知识计算等应用提供服务支撑。针对知识图谱的分布式存储、知识存储的伸缩性和灵活性,以及基于LOD的知识存储,是技术发展的重点方向,同时,超图(Hyper Graph)也是未来知识存储的研究热点。知识存储相关技术发展趋势包括以下几个方面:
随着互联网及各领域数据的持续积累,各个领域方向的知识图谱数量与规模日益增长,单机系统的数据存储能力难以应对知识图谱数据的大规模增长。同时,基于资源描述框架(RDF)存储的知识图谱更便于知识推理和计算,符合知识图谱应用的未来需求。但RDF存储模式所含有大量三元组的数据,使其索引效率与更新维护成本大于其它图存储模式。因此,未来知识存储的一种研究趋势为如何利用分布式数据库系统来解决RDF数据的大规模增长问题。
随着知识图谱的规模越来越庞大、知识的表示方式越来越复杂,这对目前的知识存储方式提出了挑战。如何设计出可支持对复杂节点的定制、具有良好可伸缩性和灵活性的知识存储模式,满足复杂的查询、读取、计算和应用需求成为面向知识图谱的知识存储的迫切要求。
由于知识表示RDF模型的通用性和灵活性,知识图谱供应方越来越倾向将自身的知识图谱数据表示成RDF格式并发布到互联网上。通过URI相互链接起来,这些发布在互联网上的RDF数据共同构成了一个覆盖整个互联网的庞大知识图谱。为了让这个庞大知识图谱网络更加丰富和完善,W3C积极推进LOD项目。LOD已成功将数百个RDF数据集相互链接在一起以增强数据的可用性。
超图所拥有的简单图无可比拟的复杂关系表示方式,能更加全面详尽地描述业务、还原场景。但目前对超图的可视化表示方法还没有理想方案,对于超图的划分方式、深度学习及应用,大部分仍处于实验室研究阶段。推广到各领域进行工程化运用,无论在计算效率和成本上都存在较大问题。但随着知识图谱的普及,未来对于复杂关系的表示的需求,将逐步增多,超图技术的研究和应用探索将是知识图谱的下一个方向。