
图数据库是目前国内外数据库和大数据领域的研究热点之一。2021年11月底国家工信部印发《“十四五”软件和信息技术服务业发展规划》,明确提出“突破大规模并行图数据处理关键技术”。“数据库管理系统”也是《科技日报》所罗列的我国目前35项卡脖子技术之一,是自主可控的信息系统中去IOE(IBM,Oracle,EMC)中的关键一环。
近期,一款由北京大学团队研发的面向知识图谱的开源图数据库系统gStore正式入驻OpenI启智社区并开源,为社区的开源技术体系注入了新的活力。
gStore是北京大学邹磊团队历经十余年研发的面向RDF知识图谱的原生图数据库系统,实现知识图谱数据的高效存储与管理。gStore在学术界首次提出子图匹配方法,并发表国际数据库领域顶级期刊会议论文(包括SIGMOD,VLDB等)60余篇,被国内外学术同行引用超过四千次,前期理论成果获得国家教育部自然科学二等奖。gStore图数据库系统十四万行代码均为自主编写,拥有从“论文-专利-软件著作权”整体知识产权体系,系统完全自主可控,全面兼容“飞腾CPU-麒麟OS”国产自控体系。国内外学术同行、多个系统应用方和权威测试机构评测报告均显示:gStore性能明显超越国外同类图数据库产品,在大规模图数据和复杂查询中表现更为突出。
gStore自2017年开源以来,一直坚持持续更新,在开源社区获得了广泛关注,年度开源系统下载量超万次。当前gStore单机版存储容量达到五十亿,分布式版本在百亿规模测试集上可以达到秒级查询响应延迟,数据库的更新性能可以达到每秒十万条以上。gStore于2021年通过中国信通院图数据库基础能力测评认证, 并2023、2024年多次登顶墨天轮国产图数据库流行度排行榜第一名,并入选BenchCouncil 2023年度世界开源系统杰出成果之一。
启智代码仓地址:
https://openi.pcl.ac.cn/PKUMOD/gStore

1、安装gStore
通过静态包安装
# linux x86_64wget -O gstore-x86_64.tar.gz http://file.gstore.cn/f/25bb245837024ee99b90/?dl=1tar -zxvf gstore-x86_64.tar.gz# ubuntu amd64wget -O gstore-amd_64.tar.gz http://file.gstore.cn/f/e217800bc4e74fb78f17/?dl=1tar -zxvf gstore-amd_64.tar.gz#其他平台链接如下Linux-aarch64: http://file.gstore.cn/f/58be3c0e5dc94859b122/?dl=1Ubuntu-aarch64: http://file.gstore.cn/f/55c1c235e7174b949372/?dl=1
通过源码安装
git clone https://openi.pcl.ac.cn/PKUMOD/gStorecd gStore# centossh scripts/setup/setup_centos.sh# ubuntubash scripts/setup/setup_ubuntu.sh# 执行编译make pre && make -j4
2、快速开始
数据格式
gStore是基于RDF模型的图数据库引擎,其数据格式也是遵循RDF模型的。RDF 是用于描述现实中资源的W3C 标准,它是描述信息的一种通用方法,使信息可以被计算机应用程序读取并理解。现实中任何实体都可以表示成RDF 模型中的资源,比如,图书的书名、作者、修改日期、内容以及版权信息。这些资源可以用作知识图谱中对客观世界的概念、实体和事件的抽象。每个资源的一个属性及属性值,或者它与其他资源的一条关系,都被称为一条知识。属性和关系能表示成三元组。
一个三元组包括三个元素:主体(Subject)、属性(Property)1及客体(Object),通常描述的是两个资源间的关系或一个资源的某种属性。当某个三元组描述了某个资源的属性时,其三个元素也被称为主体、属性及属性值(Property Value)。比如,三元组<亚里士多德、出生地、Chalcis>表达了亚里士多德出生于Chalcis 的事实。
利用这些属性和关系,大量资源就能被连接起来,形成一个大RDF 知识图谱数据集。因此,一个知识图谱通常可以视作三元组的集合。这些三元组集合进而构成一个RDF 数据集。知识图谱的三元组集合可以选择关系型数据库或者图数据库进行存储。gStore目前支持N-Triple,Turtle,TriG,RDF/XML,RDFa,JSON-LD等数据格式。
初始化系统数据库
bin/ginit
创建数据库
bin/gbuild -db db_name -f file_path#示例bin/gbuild -db lubm -f data/lubm/lubm.nt
数据库列表
bin/gshow
数据库信息统计
bin/gmonitor -db db_name#示例bin/gmonitor -db lubm
数据库数据查询
bin/gquery -db db_name -q query_file#示例bin/gquery -db lubm -q data/lubm/lubm_q0.sql
数据库导出
bin/gexport -db db_name -f export_path#示例Bin/gexport -db lubm -f ./export
批量新增数据
bin/gadd -db db_name -f rdf_file_path#示例bin/gadd -db lubm -f data/update_test.nt
批量删除数据
bin/gsub -db db_name -f rdf_file_path#示例bin/gsub -db lubm -f data/update_test.nt
删除数据库
bin/gdrop -db db_name#示例bin/gdrop -db lubm
控制台服务
bin/gconsole [-u user_name]#示例bin/gconsoleEnter user name: rootEnter password:Gstore Console(gconsole), an interactive shell based utility to communicate with gstore repositories.Gstore version: 1.2 Source distributionCopyright (c) 2016, 2024, pkumod and/or its affiliates.
HTTP API服务
gStore提供了两套http API服务,分别是grpc和ghttp,用户通过向API服务发送http请求,可以实现对gStore的远程连接和远程操作。
(1)启动http api服务
bin/ghttp [-db db_name] [-p server_port] [-c csr_enable]bin/grpc [-db db_name] [-p server_port] [-c csr_enable]db_name: 需要加载的数据库名称(可选项)server_port:http监听端口(可选项,默认9000)csr_enable:是否加载CSR资源,用于内置高级查询函数(可选项,默认0)#示例(在nohup表示后台运行)nohup bin/ghttp &
(2)关闭http api服务
bin/shutdown
完整的说明文档可访问:
https://openi.pcl.ac.cn/PKUMOD/gStore/src/branch/1.2/docs/en-us/QUICK_START.md
gStore的所有系统核心代码均由北京大学团队独立研发,系统完全自主可控。目前gStore已经适配了多个国产自主可控的计算平台,包括麒麟、UOS 操作系统,支持飞腾、鲲鹏、海光、兆芯等国产处理器。目前gStore已经应用到多个互联网大厂、央企集团、创业公司的项目中,欢迎大家试用并提出宝贵意见。更多gStore使用案例也可访问gStore官网:https://www.gstore.cn/

原文请访问:北京大学开源图数据库系统gStore正式入驻OpenI启智社区

欢迎关注北京大学王选计算机研究所数据管理实验室微信公众号“图谱学苑“
实验室官网:https://mod.wict.pku.edu.cn/
微信社区群:请回复“社区”获取
gStore官网:https://www.gstore.cn/
GitHub:https://github.com/pkumod/gStore
Gitee:https://gitee.com/PKUMOD/gStore





