《知识图谱》-王昊奋-读书笔记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

相关文章

Java中注解与元数据示例详解

《Java中注解与元数据示例详解》Java注解和元数据是编程中重要的概念,用于描述程序元素的属性和用途,:本文主要介绍Java中注解与元数据的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参... 目录一、引言二、元数据的概念2.1 定义2.2 作用三、Java 注解的基础3.1 注解的定义3.2 内

将sqlserver数据迁移到mysql的详细步骤记录

《将sqlserver数据迁移到mysql的详细步骤记录》:本文主要介绍将SQLServer数据迁移到MySQL的步骤,包括导出数据、转换数据格式和导入数据,通过示例和工具说明,帮助大家顺利完成... 目录前言一、导出SQL Server 数据二、转换数据格式为mysql兼容格式三、导入数据到MySQL数据

C++中使用vector存储并遍历数据的基本步骤

《C++中使用vector存储并遍历数据的基本步骤》C++标准模板库(STL)提供了多种容器类型,包括顺序容器、关联容器、无序关联容器和容器适配器,每种容器都有其特定的用途和特性,:本文主要介绍C... 目录(1)容器及简要描述‌php顺序容器‌‌关联容器‌‌无序关联容器‌(基于哈希表):‌容器适配器‌:(

C#提取PDF表单数据的实现流程

《C#提取PDF表单数据的实现流程》PDF表单是一种常见的数据收集工具,广泛应用于调查问卷、业务合同等场景,凭借出色的跨平台兼容性和标准化特点,PDF表单在各行各业中得到了广泛应用,本文将探讨如何使用... 目录引言使用工具C# 提取多个PDF表单域的数据C# 提取特定PDF表单域的数据引言PDF表单是一

一文详解Python中数据清洗与处理的常用方法

《一文详解Python中数据清洗与处理的常用方法》在数据处理与分析过程中,缺失值、重复值、异常值等问题是常见的挑战,本文总结了多种数据清洗与处理方法,文中的示例代码简洁易懂,有需要的小伙伴可以参考下... 目录缺失值处理重复值处理异常值处理数据类型转换文本清洗数据分组统计数据分箱数据标准化在数据处理与分析过

大数据小内存排序问题如何巧妙解决

《大数据小内存排序问题如何巧妙解决》文章介绍了大数据小内存排序的三种方法:数据库排序、分治法和位图法,数据库排序简单但速度慢,对设备要求高;分治法高效但实现复杂;位图法可读性差,但存储空间受限... 目录三种方法:方法概要数据库排序(http://www.chinasem.cn对数据库设备要求较高)分治法(常

Python将大量遥感数据的值缩放指定倍数的方法(推荐)

《Python将大量遥感数据的值缩放指定倍数的方法(推荐)》本文介绍基于Python中的gdal模块,批量读取大量多波段遥感影像文件,分别对各波段数据加以数值处理,并将所得处理后数据保存为新的遥感影像... 本文介绍基于python中的gdal模块,批量读取大量多波段遥感影像文件,分别对各波段数据加以数值处

使用MongoDB进行数据存储的操作流程

《使用MongoDB进行数据存储的操作流程》在现代应用开发中,数据存储是一个至关重要的部分,随着数据量的增大和复杂性的增加,传统的关系型数据库有时难以应对高并发和大数据量的处理需求,MongoDB作为... 目录什么是MongoDB?MongoDB的优势使用MongoDB进行数据存储1. 安装MongoDB

Python MySQL如何通过Binlog获取变更记录恢复数据

《PythonMySQL如何通过Binlog获取变更记录恢复数据》本文介绍了如何使用Python和pymysqlreplication库通过MySQL的二进制日志(Binlog)获取数据库的变更记录... 目录python mysql通过Binlog获取变更记录恢复数据1.安装pymysqlreplicat

Linux使用dd命令来复制和转换数据的操作方法

《Linux使用dd命令来复制和转换数据的操作方法》Linux中的dd命令是一个功能强大的数据复制和转换实用程序,它以较低级别运行,通常用于创建可启动的USB驱动器、克隆磁盘和生成随机数据等任务,本文... 目录简介功能和能力语法常用选项示例用法基础用法创建可启动www.chinasem.cn的 USB 驱动