《知识图谱》-王昊奋-读书笔记2-知识图谱的数据存储

2023-11-20 15:10

本文主要是介绍《知识图谱》-王昊奋-读书笔记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-知识图谱的数据存储的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/395494

相关文章

Pandas统计每行数据中的空值的方法示例

《Pandas统计每行数据中的空值的方法示例》处理缺失数据(NaN值)是一个非常常见的问题,本文主要介绍了Pandas统计每行数据中的空值的方法示例,具有一定的参考价值,感兴趣的可以了解一下... 目录什么是空值?为什么要统计空值?准备工作创建示例数据统计每行空值数量进一步分析www.chinasem.cn处

如何使用 Python 读取 Excel 数据

《如何使用Python读取Excel数据》:本文主要介绍使用Python读取Excel数据的详细教程,通过pandas和openpyxl,你可以轻松读取Excel文件,并进行各种数据处理操... 目录使用 python 读取 Excel 数据的详细教程1. 安装必要的依赖2. 读取 Excel 文件3. 读

关于MongoDB图片URL存储异常问题以及解决

《关于MongoDB图片URL存储异常问题以及解决》:本文主要介绍关于MongoDB图片URL存储异常问题以及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录MongoDB图片URL存储异常问题项目场景问题描述原因分析解决方案预防措施js总结MongoDB图

一文详解Java异常处理你都了解哪些知识

《一文详解Java异常处理你都了解哪些知识》:本文主要介绍Java异常处理的相关资料,包括异常的分类、捕获和处理异常的语法、常见的异常类型以及自定义异常的实现,文中通过代码介绍的非常详细,需要的朋... 目录前言一、什么是异常二、异常的分类2.1 受检异常2.2 非受检异常三、异常处理的语法3.1 try-

Spring 请求之传递 JSON 数据的操作方法

《Spring请求之传递JSON数据的操作方法》JSON就是一种数据格式,有自己的格式和语法,使用文本表示一个对象或数组的信息,因此JSON本质是字符串,主要负责在不同的语言中数据传递和交换,这... 目录jsON 概念JSON 语法JSON 的语法JSON 的两种结构JSON 字符串和 Java 对象互转

C++如何通过Qt反射机制实现数据类序列化

《C++如何通过Qt反射机制实现数据类序列化》在C++工程中经常需要使用数据类,并对数据类进行存储、打印、调试等操作,所以本文就来聊聊C++如何通过Qt反射机制实现数据类序列化吧... 目录设计预期设计思路代码实现使用方法在 C++ 工程中经常需要使用数据类,并对数据类进行存储、打印、调试等操作。由于数据类

SpringBoot使用GZIP压缩反回数据问题

《SpringBoot使用GZIP压缩反回数据问题》:本文主要介绍SpringBoot使用GZIP压缩反回数据问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录SpringBoot使用GZIP压缩反回数据1、初识gzip2、gzip是什么,可以干什么?3、Spr

SpringBoot集成Milvus实现数据增删改查功能

《SpringBoot集成Milvus实现数据增删改查功能》milvus支持的语言比较多,支持python,Java,Go,node等开发语言,本文主要介绍如何使用Java语言,采用springboo... 目录1、Milvus基本概念2、添加maven依赖3、配置yml文件4、创建MilvusClient

SpringValidation数据校验之约束注解与分组校验方式

《SpringValidation数据校验之约束注解与分组校验方式》本文将深入探讨SpringValidation的核心功能,帮助开发者掌握约束注解的使用技巧和分组校验的高级应用,从而构建更加健壮和可... 目录引言一、Spring Validation基础架构1.1 jsR-380标准与Spring整合1

MySQL 中查询 VARCHAR 类型 JSON 数据的问题记录

《MySQL中查询VARCHAR类型JSON数据的问题记录》在数据库设计中,有时我们会将JSON数据存储在VARCHAR或TEXT类型字段中,本文将详细介绍如何在MySQL中有效查询存储为V... 目录一、问题背景二、mysql jsON 函数2.1 常用 JSON 函数三、查询示例3.1 基本查询3.2