最近在学习知识图谱相关知识,其中知识图谱一个关键问题是如何高效的存储数据集以及快速的进行查询。图数据库的出现很好的解决了该问题,当前市面上主流采用的为开源的Neo4j图数据库。经过调研查阅发现了一款具有更高性能的国产图数据库gStore。为了便于大家了解和使用gStore,接下来就对gStore的安装过程进行梳理。
1. gStore简介
在进行安装教程之前,对gStore进行简单的介绍。gStore是由北京大学王选所数据管理实验室研发面向RDF知识图谱的开源图数据库系统(通常称为Triple Store)。不同于传统基于关系数据库的知识图谱数据管理方法,gStore原生基于图数据模型(Native Graph Model),维持了原始RDF知识图谱的图结构;其数据模型是有标签、有向的多边图,每个顶点对应着一个主体或客体。gStore将面向RDF的SPARQL查询,转换为面向RDF图的子图匹配查询,利用基于图结构的索引(VS-tree)来加速查询的性能。
2. gStore安装教程
因为gStore目前只支持在Linux系统上安装,本人采用Ubuntu16.04系统进行安装实践。
2.1 安装前准备
必须安装glibc、gcc、g++、make、cmake、pkg-config、uuid、boost、readline、readline-devel、libcurl-devel等依赖,同时根据使用不同编程语言的API根据情况可选择安装对应的依赖,本人后续使用Java API,因此安装openjdk,其他的可见官网安装指南(http://www.gstore.cn/pcsite/index.html#/documentation)。
2.1.1 gcc、g++、JDK、readline安装
先查看是否已安装,若未安装输入如下命令
sudo apt-get install gcc g++ openjdk-8-jdk libreadline-dev
注意:gcc和g++需要安装5.0及以上版本
2.1.2 boost库安装
boost库安装1.56.0及以上版本。请在确保 g++ 版本高于 5.0 后安装 boost,否则后续gStore编译时会出现boost 链接错误。
wget http://sourceforge.net/projects/boost/files/boost/1.56.0/boost_1_56_0.tar.gz
tar -xzvf boost_1_56_0.tar.gz
cd boost_1_56_0
./bootstrap.sh
sudo ./b2
sudo ./b2 install
此外还需要在/etc/profile 文件最后加上exportLD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH,之后执行 source /etc/profile 更新环境。
2.1.3 curl库安装
curl库安装7.55.1版本。
安装脚本:
wget https://curl.haxx.se/download/curl-7.55.1.tar.gz
tar -xzvf curl-7.55.1.tar.gz
cd curl-7.55.1
./configure
make
make install
2.1.4 UUID安装
先查看是否已安装,若未安装在后续gStore编译过程中会不通过。
sudo apt-get install uuid-dev
2.2 gStore安装
2.2.1 下载gStore
gStore已在github上开源,详情可见https://github.com/pkumod/gStore。
git clone https://github.com/pkumod/gStore.git
若出现如下错误:
可采用git代替https获得gStore
git clone git://github.com/pkumod/gStore.git
2.2.2 编译
cd gStore
依次执行如下命令
sudo make pre
sudo make
编译成功如下图所示:
初始化:
sudo bin/ginit
如果正确如下图所示:
至此gStore就安装完成了,可以去探索gStore的奥妙了。虽然安装过程很简单,但是一定要注意在安装前的准备阶段是否所有依赖都安装完全以及版本是否符合要求。
在安装过程中有问题也可以加入gStore图谱社区咨询。
请在微信公众号图谱学苑发送“社区”入群~