本文转自公众号PlantData知识图谱实战(ID:KGPlantData),本文摘录自上海海翼知信息科技有限公司胡芳槐博士4月14日在北京理工大学分享的《大规模知识图谱数据存储》PPT。

作者对知识图谱的存储进行了全面的介绍,内容包括:什么是知识图谱,知识图谱的适用场景,知识图谱数据存储的几种常见方式和最佳方案,知识图谱中的时态信息及其存储实现,结合实例说明如何利用图数据库进行数据存储。

1. 什么是知识图谱


我们的现实世界中有多种类型的事物:

事物之间有多种类型的链接:

而知识图谱即用来描述真实世界中存在的各种实体或概念,以及它们之间的关联关系。

其中:

  • 每个实体或概念用一个全局唯一确定的ID来标识,称为标识符;
  • 每个属性—值对用来刻画实体的内在特性,而关系用来连接两个实体,刻画它们之间的关联。

从抽象层面看,本体最抽象,其次是知识库,最后才是知识图谱,因此本体与知识图谱的区别在于以下三点:

  • 知识图谱并不是本体的替代品,它是在本体的基础上进行了丰富和扩充,这种扩充主要体现在实体(Entity)层面;
  • 本体中突出和强调的是概念以及概念之间的关联关系,而知识图谱则是在本体的基础上,增加了更加丰富的关于实体的信息;
  • 本体描述了知识图谱的数据模式(schema),即为知识图谱构建数据模式相当于为其建立本体。

1.1 知识图谱的应用

知识图谱已经在人工和商业智能方面有了一系列的应用,包括聊天机器人,临床决策支持等。

同时为了应对大数据应用的不同挑战,借助知识图谱,实现不同的业务需求。

2. 知识图谱的适用场景


我们看到知识图谱有了如此多的应用,不过它最适合处理还是这些数据:

  • 关系复杂的数据;
  • 类型繁多的数据;
  • 结构多变的数据。

作为数据融合与链接的纽带,知识图谱整合结构化、半结构化和非结构化数据,拥有如下的消费和数据场景。

但知识图谱不是银弹!需要我们依据不同的问题寻找合适的方法,不要为了用知识图谱而用知识图谱。

知识图谱的不适用场景如下:

  • 不适用的数据场景:

    • 通常的二进制数据
    • 日志数据
    • 流式数据
  • 不适用的消费场景:

    • 数据统计
    • 数据计算

这些不适用场景都需要借助其它工具存储和处理,同时结合其它工具和方法使用,最终与知识图谱进行数据链接。

3. 知识图谱的存储


通过上面的内容,我们了解到知识图谱最适合处理关联密集型的数据,因此首先需要存放的是图谱中的节点和边的数据;知识图谱基于图数据库的优点,能够方便的存放这一类关系型的数据,对于大量其他类型的数据我们如何处理呢?

由此可知知识图谱数据的存储不等于图数据库。

接下来本文重点介绍知识图谱数据存储的几种常见方式。

3.1 知识图谱数据存储的几种常见方式

知识图谱的存储并不依赖特定的底层结构,一般的做法是按数据和应用的需求采用不同的底层存储。你甚至可以基于现有关系数据库或NoSQL数据库进行构建。我们来列举一下几种常见做法:

  • 三元组表(S,P,O)

类似RDF存储结构(下文会进行介绍),以元组为单元进行存储。语义较为明确。 
问题:大量自连接操作的开销巨大。

  • 属性表:属性相似的主语聚为一张表

类似关系型数据结构,每一条数据代表一个实体,每一列代表一个属性。 
问题:1.RDF灵活性(高于一阶的关系查询很复杂);2.查询时必须指定属性,无法做不确定属性的查询。

  • 垂直分割:以谓语划分三元组表

根据属性的不同建立数据表,数据结构较为清晰。 
问题:1.大量数据表;2.删除属性代价大。

以上这些方案都会有各自的优缺点,在实现时需要根据不同的应用场景来进行选择,并设计索引、约束等方法来解决查询效率问题。

目前图结构存储有两种通用的存储方案:RDF存储和图数据库(Graph Database)。下图为两种存储在http://db-engines.com/上的发展趋势:

可以明显地看到基于图的存储方式在整个数据库存储领域的发展飞速。

3.1.1 RDF存储

RDF存储亦称三元组存储(triplestore),它是专为存储三元组形式的数据而设计的专用数据库,通过六重索引(SPO、SOP、PSO、POS、OSP、OPS)的方式解决了三元组搜索的效率问题。

其优点是:

  • 三元组模式查询(triple pattern)的高效执行;
  • 任意两个三元组模式的高效归并连接(merge-join)。

但缺点也很明显:

  • 六重索引意味着6倍空间开销,如果是 (S, P, O, C) 四元组呢?
  • 更新维护代价大。

现在越来越多的RDF数据库通过列式存储的方式来对三元组进行存储,进一步提高六重索引下的查询效率。

3.1.2 图数据库

图数据库的结构定义相比RDF数据库更为通用,实现了图结构中的节点,边以及属性来进行图数据的存储,典型的开源图数据库就是Neo4j。

这种做法的优点是数据库本身提供完善的图查询语言、支持各种图挖掘算法,但图数据库的分布式存储实现代价高,数据更新速度慢,大节点的处理开销很高。

3.2 大规模知识图谱存储最佳解决方案

指导思想仍旧是之前提到的“数据思维”和“No Size Fits All”,整体原则归结为以下六点:

1.基础存储

  • 可按数据场景选择使用关系数据库、NoSQL数据库及内存数据库;
  • 基础存储保证可扩展、高可用。

2.数据分割

  • 属性表:依据数据类型划分

    • 基本类型:整数表、浮点数表、日期类型表、…
    • 集合类型:List型表、Range型表、Map型表、…
  • 大属性单独列表:例如数量超过10M的属性单独列表。

3.缓存与索引

  • 使用分布式 Redis 作为缓存,按需对数据进行缓存;
  • 对三元组表按需进行索引,最多情况下可建立九重索。

4.善于使用现有成熟存储

  • 使用ElasticSearch实现数据的全文检索;
  • 结构固定型的数据可使用关系数据库或NoSQL。

5.对于非关系型的数据尽量不入图存储,避免形成大节点

  • 非关系型的数据,使用适合的数据存储机器进行存储,通过实体链接的方式实现与图谱数据的关联。

6.不直接在图存储中进行统计分析计算

  • 对于需要进行统计分析计算的数据,需要导出到合适的存储中进行。

4. 知识图谱时态信息及存储


众所周知,信息是有时态的,时态特性是信息的客观存在,同时知识和数据是不断更新的,这些变化的时间点同样代表了有意义的信息。

时态信息的需求与技术一直伴随着数据库技术的发展而产生和发展。下图为时态数据库与其他类型数据库相比的发展趋势:

可以发现时态数据库的发展趋势远远高于与其他数据存储方式。

知识图谱中的时态信息包含以下四个方面:

  • 事实的生成时间;
  • 某事实的有效时间段;
  • 某一对象在特定历史时刻的状态;
  • 知识图谱在过去特定时间的版本。

下面的视频为利用PlantData知识图谱数据智能平台,查询出的北京小桔科技有限公司(嘀嘀打车)拥有时态信息的企业创投知识图谱。

结合最近很火的一部电视剧《人民的名义》我们来理解一下知识图谱中的时态信息。

知识图谱时态信息存储实现的设计原则如下:

5. 使用图数据库进行数据存储


在选择图数据存储的指标上,需要考虑以下几个方面:

  • 数据存储支持;
  • 数据操作和管理方式;
  • 支持的图结构;
  • 实体和关系表示;
  • 查询机制。

不同的图数据存储之间的区别,可至公众号PlantData知识图谱实战(KGPlantData)回复数据存储获取完整PPT。

此处选择图数据库进行知识图谱数据的存储:

  • 应用场景:创投知识图谱;
  • 数据维度:创投知识图谱描述创业企业与投资机构之间以投资为主线的多种关系,包含:企业产品、创始人、股东、高管、行业、细分行业、新闻、投融资事件、关注度、活跃度、招聘等方面;
  • 应用目标:基于创投知识图谱及平台分析功能,投资机构能够完成创业企业、行业调研及追踪,为投资进行辅助决策;创业企业也可以分析热点投资赛道、关注行业动态及竞争对手动向。

初创企业相关的数据包括:

  • 工商注册信息
  • 企业产品
  • 创始人/股东/高管
  • 所属行业/领域
  • 投融资事件
  • 专利/招聘/诉讼/失信
  • 新闻/社交网络数据
  • 产品活跃数据

关系型数据(通过关系形成网络):

  • 企业与创始人
  • 企业与投资人(机构)
  • 企业与产品
  • 企业与高管
  • 高管与高校

关系型数据的存储方法:作为实体存入知识图谱,通过它们之间的关系形成图谱网络。

结构型数据(与主体进行关联,但不会再续延伸):

  • 企业与专利/招聘/诉讼/失信
  • 企业与新闻
  • 企业与投融资事件
  • 企业产品活跃数据

结构型数据的存储方法:作为记录型数据存入合适的存储中,通过链接与图谱中的实体进行关联。

属性型数据:

  • 企业的工商注册中基本信息
  • 企业的所属行业
  • 创始人的基本信息
  • 产品的基本信息
  • 投资机构基本信息
  • 高校基本信息

属性型数据的存储方法:作为实体的数值属性存入知识图谱。

时态型数据:

  • 企业的成立时间
  • 高管的任职时间
  • 投资关系的发生时间
  • 产品的发布时间

时态型数据的存储方法:使用基于知识图谱上的时间存储中间件进行存储和查询处理。

Schema定义:概念选取

  • 企业

    • 创业企业
    • 投资机构
  • 人物 
    • 投资个人
    • 高管
    • 股东
  • 产品

Schema定义:关系和属性的定义

  • 关系的定义

    • 企业与创始人的关系
    • 企业与投资人(机构)的投资关系
    • 企业与产品的所属关系
    • 企业与高管的任职关系
    • 高管与高校的教育背景关系
  • 属性的定义 
    • 企业的属性
    • 人物的属性
    • 产品的属性

使用图数据库进行数据存储一般过程:

  1. 导入实体,概念(Label)
  2. 导入实体属性
  3. 导入实体间关系

最佳实践过程:

  1. 分批导入,并使用Index提升导入时查询效率
  2. 按数据的类型、属性不同准备导入文件
  3. 数据主键维护,使用Constraints
  4. 尽可能保证导入数据格式正确

最终展示效果体验地址:http://www.plantdata.cn/KGIndex/gallery.html

总结一下,复杂应用场景下知识图谱数据存储的原则:

  • 关系型数据:使用图形数据存储;
  • 关联型数据:作为记录型数据存入合适的存储中,通过实体链接与图谱中实体关联;
  • 属性型数据:作为实体的数值属性存入知识图谱;
  • 时态型数据:使用基础存储上的时态处理中间件进行存储与查询。

PlantData知识图谱数据智能平台以“链接数据 洞察价值”为理念,致力于知识图谱实战技能的挖掘与应用,为数据分析师、数据工程师、行业爱好者等从业人员提供知识图谱数据集及工具,知识图谱文章投稿邮箱:zhujunjie@hiekn.com。

大规模知识图谱数据存储实战解析相关推荐

  1. 图谱实战 | OPPO自研大规模知识图谱及其在小布助手中的应用

    分享嘉宾:李向林 OPPO 编辑整理:吴祺尧 加州大学圣地亚哥分校 出品平台:DataFunTalk 导读:OPPO知识图谱是OPPO数智工程系统小布助手团队主导.多团队协作建设的自研大规模通用知识图 ...

  2. 如何高效地存储与检索大规模的图谱数据?

    本文分享自华为云社区<知识图谱的存储与检索>,原文作者:JuTzungKuei . 1.概述 背景:随着互联网的发展与普及,一个万物互联的世界正在成型.与此同时,数据呈现出爆炸式的指数级增 ...

  3. CAS-KG——知识图谱数据的存储与检索

    说明:CAS是国科大的简称,KG是知识图谱的缩写,这个栏目之下是我整理的国科大学习到的知识图谱的相关笔记. 课程目标 了解以知识图谱为代表的大数据知识工程的基本问题和方法 掌握基于知识图谱的语义计算关 ...

  4. 大规模1.4亿中文知识图谱数据,我把它开源了

    作者 | Just 出品 | AI科技大本营(ID:rgznai100) 人工智能从感知阶段逐步进入认知智能的过程中,知识图谱技术将为机器提供认知思维能力和关联分析能力,可以应用于机器人问答系统.内容 ...

  5. 大规模1.4亿中文知识图谱数据ownthink开源了

    项目地址:https://github.com/ownthink/KnowledgeGraphData 本次ownthink开源了史上最大规模的中文知识图谱,数据是以(实体.属性.值),(实体.关系. ...

  6. 大规模知识图谱的构建

    再次焕发出了活力.除了理论基础层面的发展以外,本轮发展最为瞩目的是大数据基础设施.存储和计算能力增长所带来的前所未有的数据红利. 人工智能的进展突出体现在以知识图谱为代表的知识工程以及以深度学习为代表 ...

  7. 王昊奋:大规模知识图谱技术

    [大数据100分]王昊奋:大规模知识图谱技术 主讲嘉宾:王昊奋 主持人:阮彤 承办:中关村大数据产业联盟 嘉宾简介: 王昊奋,华东理工大学讲师,上海交通大学计算机应用专业博士,对语义搜索.图数据库以及 ...

  8. 万字详解:腾讯如何自研大规模知识图谱 Topbase

    作者:郑孙聪,腾讯 TEG 应用研究员 Topbase 是由 TEG-AI 平台部构建并维护的一个专注于通用领域知识图谱,其涉及 226 种概念类型,共计 1 亿多实体,三元组数量达 22 亿.在技术 ...

  9. 大规模知识图谱预训练模型及电商应用

    点击上方蓝字关注我们 大规模知识图谱预训练模型及电商应用 陈华钧1,2, 张文3, 黄志文4, 叶橄强1, 文博1, 张伟2,4 1 浙江大学计算机科学与技术学院,浙江 杭州 310007 2 阿里巴 ...

  10. 干货 知识图谱研究青年学者研讨会在清华大学顺利召开刘知远 报告题目:大规模知识图谱表示学习的研究趋势与挑战

    2015年6月27日,中国中文信息学会青年工作委员会系列学术活动??知识图谱研究青年学者研讨会在清华大学FIT大楼多功能报告厅召开.本次活动由青工委和中文信息学会语言与知识计算专委会联合举办,旨在推动 ...

最新文章

  1. label swift
  2. mysql查询不到邮件_mysql – sql查询通过电子邮件获取用户列表
  3. 从青铜到王者的路线,java不同系统间数据同步
  4. memcache和memcached区别
  5. [必看]首先要求做到的事情![sumtec]
  6. 开启服务器,自动加载类是否需要开辟新的线程研究
  7. google地图网页版_谷歌收录查询方法大全,如何让Google快速收录网页?
  8. matlab 简单函数拟合(全)
  9. 直觉模糊有计算机知识嘛,直觉模糊集理论及应用 上册
  10. python是一门胶水语言_Python是唯一被称为“胶水语言”的编程语言?事实并非如此!...
  11. 基于itil的it运维管理体系
  12. AD9的pcb 里面怎样才能从TOP层视图换成从BOTTOM层网上面看,相当于把板子翻过来看
  13. 中兴olt xpon开局及业务配置以及原理
  14. 基于ssm 流浪猫狗救助系统
  15. 物联网 DFrobot 掌控版 人工智能测温实验
  16. Codeforces 938C
  17. PostgreSQL开发规范
  18. Spectra Logic的数据备份和归档解决方案推动企业磁带销量增长
  19. 噩梦射手(SurvivalShooter)教程(一)
  20. Django項目部署到Ubuntu服務器

热门文章

  1. 实战:k8s之Longhorn备份恢复-2022.2.26
  2. 笔记本闪屏是怎么回事呢?笔记本闪屏三个原因介绍
  3. 解决windows 下文件名太长无法删除的问题
  4. FileDownloader 库推荐
  5. Jackson初次学习
  6. jmeter(一)-上传图片
  7. vue使用原生高德地图
  8. svg--矢量图和位图
  9. 《胡雪岩·红顶商人》—— 读后总结
  10. 填坑之路 DirectX11(二)使用 DirectXTex 读取 DDS 文件时报错解决方案