海盒图数据库 STGraph与海盒知识图谱分析展示系统SGH 的关系图谱应用


Jun 12, 2019

  随着互联网、社交网络等相关领域的快速发展,图数据量的上升速度加快,图数据库的关注程度也在不断提高。

  现实中很多数据都是用图来表达的,比如社交网络中人与人的关系、地图数据、或是基因信息等等。关系型数据库并不适合表达这类数据,而且由于海量数据的存在,让其显得捉襟见肘。NoSQL数据库的兴起,很好地解决了海量数据的存放问题,图数据库也是NoSQL的一个分支,相比于NoSQL中的其他分支,它很适合用来原生表达图结构的数据。



 目前图数据库的需求应用场景正在不断增多,而从计算和分析数据之间关系的角度来说,图

数据库比传统数据库的性能约有百倍以上的提升,在金融、电信、证券、信用、交通、公安、安全、军工、社交网络、语义Web分析、生物信息网络等一系列领域都面临着巨大的需求。

图数据库是NoSQL数据库的一种类型,是一种非关系型数据库,它应用图理论存储实体之间的关系信息。最常见例子就是社会网络中人与人之间的关系。关系型数据库用于存储“关系型”数据的效果并不好,其查询复杂、缓慢、超出预期,而图数据库的独特设计恰恰弥补了这个缺陷。在一个图数据库中,最主要的组成有两种,结点集和连接结点的关系。结点集就是图中一系列结点的集合,比较接近于关系数据库中所最常使用的表,而关系则是图数据库所特有的组成。图数据库的优势在于,相对于关系数据库中的各种关联表,图数据库中的关系可以通过关系能够包含属性这一功能来提供更为丰富的关系展现方式。因此相较于关系型数据库,图数据库的用户在对事物进行抽象时将拥有一个额外的武器,那就是丰富的关系。

  目前,图数据库的发展仍处于起步阶段,整体市场潜力巨大。在国外图数据库市场上,已经有多家产商开始研发图数据库,国外相关产品已初步进入市场化、产业化阶段。当前国内尚未有成型的商业化的图数据库产品,东方金信科技有限公司决心填补这个空白。图数据库,将是东方金信海盒大数据平台产业链上的重要一环。

  STGraph图数据库是东方金信研发的一个高性能的 NOSQL 图形数据库, 它是一个嵌入式的、 基于磁盘的、 具备完全的事务特性的 Java 持久化引擎, 但是它将结构化数据存储在网络(从数学角度叫做图)上而不是表中。 它也可以被看作是一个高性能的图引擎, 该引擎具有成熟数据库的所有特性。 此外, 它还提供了高效的图算法、 推荐系统和 OLAP 风格的分析。

  STGraph的图数据库存储结构以 Nodes(节点)和 Relationships(关系) 为主, Nodes 通过 Relationships所定义的关系相连起来, 形成关系型网络结构。 并向外提供 Driver 驱动和 API 接口, 方便其它程序访问和操作。 在 API 和中间件的基础上构建了应用系统, 用来对数据进行在线分析处理, 并将处理的结果通过前端页面进行直观的展示。系统架构如下图所示:


  STGraph 图数据库是一个高性能的 NOSQL 图形数据库, 主要提供图数据连接、 图数据管理、 图数据访问、 图数据备份等功能。 旨在方便用户操作, 降低建立图数据的复杂度, 降低对开发人员技术要求门槛, 其主要有以下几个特点:

1.支持图数据的增删改查操作。

2.提供了 REST API 由如 JavaGo 等多种编程语言进行访问。

3.支持完整的 ACID(原子性, 一致性, 隔离性和持久性) 规则。

4.支持将查询的结果导出为 CSV,PNG,SVG 等格式的文件。

5.支持 CSV 格式文件的全量导入和增量导入两种导入方式。

6.内置众多图操作算法如: 最短路算法、 优化图遍历算法、 中心性算法、社区检测算法。

7.通过全文索引和搜索, 可以使用标签, 关系类型和属性值中的文本搜索来快速查询图。

8.支持使用 ORDER BY 对查询结果集进行排序。

9. 底部使用 Apache Lucence, 支持创建索引进行快速查询。

下面是一个基于 STGraph 图数据库所做的“文档信息图数据展示分析”的应用案例, 案例基于STGraph 图数据库实现了“图导航” 、 “图搜索” 、 “图关系查找” 等功能:

  图导航

  图数据导航页加载案例为某文档中人物信息、 事件信息、 地点信息等。 案例适用于文档内部人物、 事件、 关系、 地点等图数据展示分析。 案例加载图数据节点数为 394 个, 图关系 629 条, 查询速度 0.5 秒, 导航页具有图数据节点与图关系格式变化的功能项, 可以通过功能项来改变图数据展示效果。 展示效果如下图所示, 亦可展示全屏效果。


  图搜索

  图数据节点搜索,案例查找指定图数据节点的信息,输入图数据节点名称“贾宝玉” , 查找得到图数据节点的注释信息, 展示与本图数据节点关联的图数据节点, 得到本图数据节点与关联图数据节点之间的关联信息, 展示信息包括: 关系为“母亲” 的图数据节点“王夫人” 、 关系为“原籍” 的图数据节点“金陵” 等信息, 图数据节点与关联节点之间的图关系展示效果如下图所示。


  图关系查找

  图数据关系查找, 案例展示两个图数据节点之间的关系。 设置查找的起始图数据节点“贾宝玉” , 终止图数据节点“林黛玉” , 以及两者之间的查找深度 3(查找深度为 2 到最大关系层数之间任意数, 深度越大, 查找到两者之间的图数据节点越多, 查询速度越慢) , 两者图关系展示如下图所示。 得到在两者之间深度为 3 层关系之内的所有图数据节点, 如: “薛宝钗” 、 “贾政” 等图数据节点,“贾政” 与“贾宝玉” 人物关系“父子” , 以及“贾宝玉” 与“林黛玉” 共同参与事件“共读西厢” 等, 展示效果如下图所示。


  为了让海盒STGraph 图数据库更好的使用,东方金信同时开发了海盒知识图谱分析展示系统(SGH),它可以实现知识图谱的可视化展示、关联分析展示等功能服务。海盒知识图谱分析展示系统(SGH)能够与图数据库进行无缝对接,构建于图数据库之上。主要采用D3.js框架实现数据的图形化展示。D3.js是一个JavaScript库,可以通过使用HTMLSVGCSS把数据鲜活形象地展现出来。D3严格遵循Web标准,因而可以轻松兼容现代主流浏览器并避免对特定框架的依赖。

  海盒知识图谱分析展示系统(SGH)具体架构如下图。


  此外,SGH SchemaW3C RDF/RDFS进行封装,提供支持类继承、属性多态的面向对象描述体系,在此之上,以schema.org为基础修改、扩展定义适合中文环境的词汇体系。该Schema目前主要用来规范内外部合作方的结构化数据交换,以及作为知识图谱构建、知识计算的核心数据结构。


1.结构化数据交换

根据搜索产品需求定制遵循Schema规范的XMLJSON-LD模板,从生态参与方接入结构化数据,根据规范处理后特型展现,提升对参与方的导流。

2.知识计算

对提交至知识图谱的数据转换为遵循Schema的实体对象,并进行统一的数据清洗、对齐、融合、关联等知识计算,完成图谱的构建。

3.知识推理

基于Schema中类间继承、属性类型及约束、关系推理规则,用于知识冲突检测、推断补全等各类推理计算。

  海盒知识图谱分析展示系统(SGH)针对NoSQL图形数据库实现图形化分析与展示服务。不同于传统结构化静态表的存储方式,图数据库提供一种基于图的数据结构,数据由节点(Point)和边(Edge)组成,其中节点即实体,由一个全局唯一的ID标示,关系用于表示两个节点之间的连接关系。图数据库能够进行面向对象的、灵活的网络关系的数据存储、管理与分析,能够提供高度关联的数据的快速查询功能,其中的实体与关系的数据结构能够高度关联的数据。

  海盒知识图谱分析展示系统(SGH)具有图数据节点导航,图数据节点搜索,图关系查找功能。提供了节点图片展示、节点拖动、关系标签、导航显示、搜索显示等操作功能。

海盒知识图谱分析展示系统(SGH)可以通过界面加载GSON代码和文件,来加载图数据节点与图关系。


  海盒知识图谱分析展示系统(SGH)可以通过图数据搜索查找图数据节点,得到图数据节点详细信息,并且展示与图数据节点关联的所有节点的信息。可以通过图关系查找,设定起始图数据节点与终止图数据节点,以及两者的查找深度,展示两节点之间的关系网络,查找深度数值越大,关系网络的搜索范围越广。

  图数据库及其分析展示技术目前可以应用在许多领域,最主要的一个就是知识图谱的构建。根据图数据库的特性,知识图谱就能够把所有不同种类的信息(Heterogeneous Information)连接在一起而得到的一个关系网络,提供了从“关系”的角度去分析问题的能力。

  目前知识图谱等图数据库技术的应用能够在很多场景下实现应用价值:

  图数据库技术与百科知识获取技术、知识融合技术、知识清洗技术、实体链接技术等技术相结合,进行垂直领域知识图谱的构建,并根据知识的表示语言和推理技术进行垂直领域的知识图谱分析。

知识图谱作为一种大规模知识的表示形式,能够和语言的表达与分析紧密结合,使用图数据库的存储与分析技术,能够在会话交互领域产生很大的作用。

  此外,基于图数据库的图搜索和推荐技术在工业等领域也有很大的应用场景。通过图数据库的构建,能够大大提高图搜索的效果和效率。