本文主要是介绍《知识图谱》-王昊奋-读书笔记2-知识图谱的数据存储,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
一、知识图谱数据存储工具
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++的运行环境,如果不放心是否安装好,可以用程序测试,具体可以参考这个帖子:
Ubuntu16.04下利用gcc和g++进行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
这篇关于《知识图谱》-王昊奋-读书笔记2-知识图谱的数据存储的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!