当前位置: 首页 > 软件库 > 数据库相关 > 图数据库 >

gStore

图数据库引擎
授权协议 BSD-3-Clause
开发语言 C/C++
所属分类 数据库相关、 图数据库
软件类型 开源软件
地区 国产
投 递 者 杨起运
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

gStore是一个面向RDF知识图谱的图数据库系统(通常称为Triple Store)。

知识图谱数据管理的一个核心问题是如何有效地存储RDF数据集和快速回答SPARQL查询。总的来说,有两套完全不同的思路。其一是可以利用已有的成熟的数据库管理系统(例如关系数据库系统)来存储知识图谱数据,将面向RDF知识图谱的SPARQL查询转换为面向此类成熟数据库管理系统的查询,例如面向关系数据库的SQL查询,利用已有的关系数据库产品或者相关技术来回答查询。这里面最核心的研究问题是如何构建关系表来存储RDF知识图谱数据,并且使得转换的SQL查询语句查询性能更高;其二是直接开发面向RDF知识图谱数据的Native的知识图谱数据存储和查询系统(Native RDF图数据库系统),考虑到RDF知识图谱管理的特性,从数据库系统的底层进行优化。

不同于传统基于关系数据库的知识图谱数据管理方法,gStore原生基于图数据模型(Native Graph Model),维持了原始RDF知识图谱的图结构;其数据模型是有标签、有向的多边图,每个顶点对应着一个主体或客体。gStore系统将RDF和SPARQL分别表示成图的形式,利用子图匹配的方法来回答SPARQL查询,并且利用基于图结构的索引(VS-tree)来加速查询的性能。 例如在RDF中,主体和客体可以分别表示成RDF图中的节点,一条称述(即RDF三元组)可以表示成一条边,其中谓词是边的标签。SPARQL语句同样可以表示成一个查询图。 

image

RDF图和SPARQL查询图

gStore图数据库的优势:

  1. 拥有自主研发的核心图数据库系统技术;
  2. 对RDF知识图谱数据文件原生支持;
  3. 引擎对于图查询/分析的原生支持;
  4. 支持描述性(而非过程化)查询语言;
  5. 性能:秒级多跳查询;
  6. 支持跨复杂数据的关联分析。

性能测试

国家权威的第三方软件测评机构对gStore性能进行了对比测试,测试结果表明在国际通用的图数据评测数据集上,与Neo4j,Virtuoso,Jena,JanusGraph等4种目前市场上主流图数据库进行了对比测试,测试结果表明gStore的数据查询性能具有明显优势

中国软件测评中心对分布式gStore存储容量和gStore的查询性能进行了严格测试,验证了分布式gStore支持百亿规模三元组数据,且平均查询响应时间仅为1.797秒。

gStore 拥有以下特性:

  1. gStore从图数据库角度存储和检索RDF知识图谱数据;
  2. gStore支持W3C定义的SPARQL 1.1标准,包括含有Union,OPTIONAL,FILTER和聚集函数的查询;gStore支持有效的增删改操作;
  3. gStore单机可以支持1Billion(十亿)三元组规模的RDF知识图谱的数据管理任务;

关于gStore的核心学术思路,请参考gStore所发表的论文

gStore 应用案例

1. 金融知识图谱项目——多层股权查询示例

2. 政府大数据——亲属关系检索(用于民政和司法)

 

3. 智能问答机器人

4. 智慧医疗——基于医疗知识图谱的问答

gStore可下载资源

  1. gStore(单机版):http://www.gstore-pku.com/pcsite/download-1.html
  2. gStore Workbench:http://www.gstore-pku.com/pcsite/download-2.html
  3. gStore云端:http://cloud.gstore.cn/
  • gstore源码解析(三):安全机制之日志追踪 ​ 上一章我们介绍了安全机制的黑白名单配置,接下来将对安全机制中日志追踪的源码进行解析。 1.1 简介 ​ 在gstore安全机制中的日志追踪分为三个模块:第一个是操作日志,记录调用接口进行数据库相关操作的信息;第二个是查询日志,记录调用查询接口的相关信息;第三个是事务日志,记录调用事务接口的相关信息。 1.2 操作日志 ​ 在启动ghttp服务后,

  • gstore源码解析(二):SOCKET网络服务源码解析 ​ 上一章我们介绍了基于boost实现的gstore http网络服务,本章将介绍基于TCP协议的socket网络服务。 1.1 简介 ​ gserver模块实现了一个基于TCP协议的socket网络服务,支持socket API双向通信。本章将从服务参数解析、运行机制、请求解析三个方面来展开。 1.2 服务参数解析 ​ gserver提供

  • gStore是由北京大学王选计算机所数据管理实验室(PKUMOD)邹磊教授团队研发的面向知识图谱的高效图数据库系统,用来管理庞大的关联数据(linked data)。图谱学苑weekly作为技术分享专栏在此之前发布了多期关于gStore功能特性、操作指南的系列文章。weekly将从本期开始陆续推出gStore内核源码解析系列文章,带你深入了解gStore各功能模块的源代码逻辑和实现原理。这一系列的

 相关资料
  • 如果不需要打开shell执行create index,直接在程序源代码里就能指定数据库索引,是不是很酷? 是的,利用bugu-mongo,你只需在程序里加上个@EnsureIndex注解,即可实现该功能。 以一个简单的新闻系统为例: @Entity @EnsureIndex("{type:1}") public class News implements BuguEntity{ @Id

  • 推荐: http://tech.meituan.com/mysql-index.html MySQL索引背后的数据结构及算法原理 聚集索引,非聚集索引,B-Tree,B+Tree,最左前缀原理

  • 数据库创建索引能够大大提高系统的性能。 第一,通过创建唯一性的索引,可以保证数据库表中每一行数据的唯一性。 第二,可以大大加快数据的检索速度,这也使创建索引的最主要的原因。 第三,可以加速表和表之间的连接,特别是在实现数据的参考完整性方面特别有意义。 第四,在使用分组和排序子句进行数据检索时,同样可以显著的减少查询中查询中分组和排序的时间。 第五,通过使用索引,可以在查询的过程中,使用优化隐藏器,

  • 基本概念 在数据库中,索引的含义与日常意义上的“索引”一词并无多大区别(想想小时候查字典),它是用于提高数据库表数据访问速度的数据库对象。 索引可以避免全表扫描。多数查询可以仅扫描少量索引页及数据页,而不是遍历所有数据页。 对于非聚集索引,有些查询甚至可以不访问数据页。 聚集索引可以避免数据插入操作集中于表的最后一个数据页。 一些情况下,索引还可用于避免排序操作。 索引的存储 一条索引记录中包含的

  • 更多面试题总结请看:【面试题】技术面试题汇总 存储引擎定义 现代数据库大体可以分为三层。最上层用于连接、线程处理等;中间层提供数据库的核心功能,包括 SQL 解析、分析、优化、视图等;底层就是数据库的存储引擎,负责数据的存储与提取。 简单来说,存储引擎是为数据库提供创建、查询、更新、存储数据的软件模块。不同的存储引擎的主要区别是数据的存储方式,此外功能、特性、速度等也有所差异。 存储引擎为数据库屏

  • 一切正常,但DatabaseReference无法获取数据,这就像是忽略了我的代码运行,就像我的internet无法运行一样,请帮助我,我是这个社区的新手,下面是我的代码和图片。 以前它是工作的,但由于我只是更改了一些代码,使只有currentVersion>=vCode,这样即使数据库中的值是 firebase数据库映像 mainactivity.java manifest.xml 依赖关系