gStore的优势
专门为处理高度连接的数据而构建的,支持分布式的开源图数据库系统
可扩展
单机可支持五十亿三元组的知识图谱图数据管理任务;分布式企业版支持横向可扩展的部署模式,和可配置的图数据划分策略器。
高性能
支持百亿边规模下的复杂图查询的秒级系统响应;支持大规模读写并发操作,系统可达到每秒10万的三元组增删性能。
灵活性
支持标准SPARQL语法,灵活表达各种图查询和数据管理语义;同时企业版支持用户在SPARQL中自定义图算子,统一表达复杂需求。
敏捷性
提供“开箱即用”的云端系统和一键安装的可下载版本;企业版提供与之配套的gStore系统管理工具和知识图谱自动化构建工具,实现知识图谱项目的敏捷开发。
gStore的使用
只需要按照SPARQL定义的语法规则去描述其想查询的信息即可,不需要关心数据结构关系
简单查询
简单查询指的是在图模型上通过图匹配等方式查找满足条件的相关节点和边,gStore基于原生图模型,提出了基于子图匹配的方式实现高效图检索,支持W3C定义的SPARQL1.1查询语言。
多跳查询
多跳查询是一种常见的简单查询形式,通过图检索算法进行路径检索,相比于传统关系型数据库的海量数据联接查询,基于深度优先和广度优先等图遍历算法具有得天独厚的性能优势,如下面语句表达的涵义为“查询公司A的持股公司中行业为互联网、规模大于100人的公司法人代表姓名及年龄”。
 
  • SELECT ?name ?age
  • WHERE
  • {
  • ?company <持股> <公司A>.
  • ?company <行业> <互联网>.
  • ?company <规模> ?scale.
  • ?company <法人代表> ?person.
  • ?person <姓名> ?name.
  • ?person <年龄> ?age.
  • filter(?scale>100)
  • }
查看开发文档
gStore还可以通过Union方式将多个查询结果进行合并,如下SPARQL语句表达的涵义为:“查询A公司2跳内股东信息”。
 
  • select ?y where
  • {
  • {
  • #查询直接持股A公司的股东信息
  • ? y <持股> <A>.
  • }
  • union
  • {
  • #查询持股了P公司的股东,而P公司又是A公司的股东,从而实现2跳查询
  • ?p <持股> <A>.
  • ?y <持股> ?p.
  • }
  • }
查看开发文档
复杂查询
gStore在支持SPARQL1.1的基础功能之外,还针对常见的图分析问题和场景(如环路检测、三角形计数、K跳可达性等),研发了一些内置函数,并在后续版本中将支持用户自定义函数开发。
环路查询
环路查询主要用于查询两个节点A,B之间是否存在“环路”,即存在一条路径从A到B,也存在一条路径从B到A。如下面的查询语句表达的是“查询所有规模大于100人的互联网公司之间是否存在循环持股关系”。(gStore 0.9新增功能)
 
  • SELECT (cyclePath(?x,
  • ?y,
  • true,
  • {<持股>}) as ?y)
  • WHERE {
  • ?x <行业> "互联网".
  • ?y <行业> "互联网".
  • ?x <规模> ?scale_x.
  • ?y <规模> ?scale_y.
  • filter(?scale_x>100 && ?scale_y>100)
  • }
查看开发文档
K跳可达性查询
K跳可达性查询是查询两个节点在K跳内是否存在符合条件的路径。如下面的查询语句表示的是:“查询所有规模大于100人的互联网公司在5跳内存在交易或持股的关系的路径信息”。
 
  • SELECT (kHopReachablePath(?x,
  • ?y,
  • false,
  • 5,
  • {<持股>, <交易>}) AS ?y)
  • WHERE {
  • ?x <行业> "互联网".
  • ?y <行业> "互联网".
  • ?x <规模> ?scale_x.
  • ?y <规模> ?scale_y.
  • filter(?scale_x>100 && ?scale_y>100)
  • }
查看开发文档
适配主流语言
专门为处理高度连接的数据而构建的,支持分布式的开源图数据库系统
适配主流语言:JAVA,C++,Python,PHP,Nodejs gStore支持C++、JAVA、Python、PHP和nodejs APl。并有配套的example示例程序和说明文档。同时可以启动ghttp服务方便网页端调用展示。
查看开发文档
JAVA
Python
C++
PHP
Nodejs
 
  • String IP = "127.0.0.1";
  • int Port = 9000;
  • String username = "root";
  • String password = "123456";
  • String sparql = "select ?x ?y ?z where"
  • + "{"
  • + ” ?x ?y ?z. “
  • + "}";
  • String filename = "res.txt";
  • // start a gc with given IP, Port, username and password
  • GstoreConnector gc = new GstoreConnector(IP, Port, username, password);
  • // query
  • res = gc.query("lubm", "json", sparql);
  • System.out.println(res);
  • // query and save the result in a file
  • gc.fquery("lubm", "json", sparql, filename);
应用案例
由gStore提供支持的应用
智能问答机器人
gStore的活动
由gStore官方举办的数据库活动
祝贺!邹磊教授项目入选2024年“CCF十大优秀技术公益案例”
为表彰极具价值且具有示范性的技术公益年度案例,大力推动公益领域的技术发展与突破,广泛传播技术赋能公益的宝贵经验,中国计算机学会(CCF)在对函评入围项目进行深入考量的基础上,经过线下会评投票评选出了2024年“CCF十大优秀技术公益案例”,北京大学王选计算机研究所邹磊教授的“gStore在知识图谱技术开源推广和教育中的创新项目”成功入选,展示了团队、研究所在教育普及、开源技术领域的技术积累与丰富实践经验。
PKUMOD同学又双叒获奖啦~
近期王选所数据管理研究室的同学们 凭借在各自领域的卓越表现 获得了多项荣誉和奖励 让我们共赏风采~ 期待他们在未来的科研道路上 取得更加辉煌的成就
gStore入选BenchCouncil年度世界开源系统杰出成果
gStore入选BenchCouncil年度世界开源系统杰出成果
讲座录播 | 邹磊教授:图数据库的概念和应用
2023年10月16日 由中国计算机学会主办的 “CCF Talk”直播间 进行了题目为 术语解读:“图计算”的内涵与应用 主题直播活动 讲座吸引7708人观看
更多交流 进入社区
联系我们:
北京市海淀区
成府路298号 方正大厦
邮政编码: 100871
邮箱:
gstore@pku.edu.cn
下载单机版
官方微信
© 2019 北京大学王选计算机研究所 京ICP备2023036488号-2