一、知识图谱数据存储工具
1.
开源工具简介
三元组数据库
Apache Jena。Jena 是一个 Java 框架类库。Jena 为了用户使用方便,提供了一个名为 Fuseki 的独立 RDF数据库 Web 应用程序。
本实验使用
Fuseki
作为认识知识图谱数据库的入门工具。
内容包括:
Jena Fuseki
的安装,启动
Fusek,生成知识图谱数据,将知识图谱装载到
Fuseki
,查询知识图谱,更新知识图谱。
2.
其他类似工具
(1)RDF4J
是
Eclipse
基金会旗下的开源孵化项目,其前身是荷兰软件公司
Aduna 开发的Sesame
框架,其功能包括:
RDF
数据的解析、存储、推理和查询等。
RDF4J 提供内存和磁盘两种
RDF
存储机制,支持
SPARQL 1.1
查询和更新语言。
(2)
gStore
是由北京大学开发的基于图的
RDF
三元组数据库。
gStore
是由北京大学计算机科学技术研究所数据管理实验室自
2011年开始研发的面向 RDF
知识图谱的开源图数据库系统。
2013
年
12
月
gStore
的
0.1 版本完全开发完成,并于2014
年开始在
GitHub
上进行开源。目前(
2019
年
5
月),
gStore
版本已经进化到
0.8 版本。在多个国际通行基准测试数据集上,当前版本
gStore
的性能已经得到了测试与验证。
当前版本的
gStore
已经能够支持对包含
40
亿条边的
RDF 图构建数据库并进行秒级的查询响应。
不同于传统基于关系数据库的知识图谱数据管理方法,
gStore 原生基于图数据模型,维持了原始
RDF 知识图谱的图结构;其数据模型是有标签、有向的多边图,每个顶点对应着一个主体或客体。
gStore
将面向
RDF
的
SPARQL
查询,转换为面向
RDF 图的子图匹配查询,利用
gStore
所提出的基于图结构的索引来加速查询的性能。
gStore Workbench
是针对
gStore
设计的图数据库管理工具。在
gStore Workbench 上,用户可以创建新的数据库,载入
RDF
图数据,监控数据库状态和提交
SPARQL 查询请求。此外,
gStore
还支持基于
HTTP
协议的远程图数据库访问。
(3)AllegroGraph
是
Franz
公司开发的
RDF
三元组数据库。
AllegroGraph 对语义推理功能 具有较为完善的支持。除了三元组数据库的基本功能,
AllegroGraph 还支持动态物化的 RDFS++
推理机、
OWL2 RL
推理机、
Prolog 规则推理系统、时空推理机制、社会网络分析 库、可视化
RDF
图浏览器等。
(4)GraphDB
是由
Ontotext
软件公司开发的
RDF
三元组数据库。
GraphDB
实现了 RDF4J 框架的
SAIL
层,可以使用
RDF4J
的
RDF
模型、解析器和查询引擎直接访问
GraphDB。GraphDB
的特色是对于
RDF
推理功能的良好支持。
二、以
gStore为例,进行下面的实验
1.
gStore
以及
gStore Workbench
的安装
(1)引言
注意:目前,
gStore 只能在 Linux 系统上通过命令行来进行部编译、部署与安装。所以使用windows的小伙伴儿们,先去准备一个虚拟机吧。
假设,现在你已经准备好了Linux操作系统。
gStore 官网:
http://www.gstore-pku.com/pcsite/index.html
GitHub地址:
https://github.com/pkumod/gStore
官方使用手册:
http://openkg.cn/tool/gstore
(2)操作系统准备
在安装gStore之前需要安装Linux,这里我用用虚拟机安装Ubuntu
我准备好了Ubuntu系统,进入系统后状态如下图:
(3)软件环境准备(我用的是ubuntu系统,如果下面安装遇到问题,读者可以留言讨论)
1 zip/unzip
安装
判断
zip/unzip
是否安装
yum list installed | grep unzip (centos
系统
)
dpkg -s unzip (ubuntu
系统
)
如果没有安装,则安装
sudo yum install -y unzip zip (centos
系统
)
sudo apt-get install unzip zip (ubuntu
系统
)
2 jdk
安装
判断
jdk
是否安装
java –version
如果没有安装,则安装
sudo yum install java-1.8.0-openjdk-devel.x86_64 (centos
系统
)
sudo apt-get install openjdk-8-jdk (ubuntu
系统
)
3 gc++
安装
判断
gc++
是否安装
yum list installed |grep gcc-c++ (centos
系统
)
dpkg -s gcc-c++ (ubuntu
系统
)
如果没有安装,则安装
sudo yum install gcc-c++ (centos
系统
)
sudo apt-get install gcc (ubuntu
系统
)
sudo apt-get install g++ (ubuntu
系统
)
这是C语言和C++的运行环境,如果不放心是否安装好,可以用程序测试,具体可以参考这个帖子:
4 readline
安装
判断
readline
是否安装
yum list installed |grep readline (centos
系统
)
dpkg -s readline (ubuntu
系统
)
如果没有安装,则安装
sudo yum install readline-devel (centos
系统
)
sudo apt-get install libreadline-dev (ubuntu
系统
)
5 boost
库安装
判断
boost
是否安装
yum list installed |grep boost (centos
系统
)
dpkg -s boost (ubuntu
系统
)
如果没有安装,则安装:
版本
:1.54.0
地址:
https://nchc.dl.sourceforge.net/project/boost/boost/1.54.0/boost_1_54_0.tar.gz