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

相关文章

SQL Server修改数据库名及物理数据文件名操作步骤

《SQLServer修改数据库名及物理数据文件名操作步骤》在SQLServer中重命名数据库是一个常见的操作,但需要确保用户具有足够的权限来执行此操作,:本文主要介绍SQLServer修改数据... 目录一、背景介绍二、操作步骤2.1 设置为单用户模式(断开连接)2.2 修改数据库名称2.3 查找逻辑文件名

canal实现mysql数据同步的详细过程

《canal实现mysql数据同步的详细过程》:本文主要介绍canal实现mysql数据同步的详细过程,本文通过实例图文相结合给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的... 目录1、canal下载2、mysql同步用户创建和授权3、canal admin安装和启动4、canal

MySQL存储过程之循环遍历查询的结果集详解

《MySQL存储过程之循环遍历查询的结果集详解》:本文主要介绍MySQL存储过程之循环遍历查询的结果集,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录前言1. 表结构2. 存储过程3. 关于存储过程的SQL补充总结前言近来碰到这样一个问题:在生产上导入的数据发现

使用SpringBoot整合Sharding Sphere实现数据脱敏的示例

《使用SpringBoot整合ShardingSphere实现数据脱敏的示例》ApacheShardingSphere数据脱敏模块,通过SQL拦截与改写实现敏感信息加密存储,解决手动处理繁琐及系统改... 目录痛点一:痛点二:脱敏配置Quick Start——Spring 显示配置:1.引入依赖2.创建脱敏

详解如何使用Python构建从数据到文档的自动化工作流

《详解如何使用Python构建从数据到文档的自动化工作流》这篇文章将通过真实工作场景拆解,为大家展示如何用Python构建自动化工作流,让工具代替人力完成这些数字苦力活,感兴趣的小伙伴可以跟随小编一起... 目录一、Excel处理:从数据搬运工到智能分析师二、PDF处理:文档工厂的智能生产线三、邮件自动化:

Python数据分析与可视化的全面指南(从数据清洗到图表呈现)

《Python数据分析与可视化的全面指南(从数据清洗到图表呈现)》Python是数据分析与可视化领域中最受欢迎的编程语言之一,凭借其丰富的库和工具,Python能够帮助我们快速处理、分析数据并生成高质... 目录一、数据采集与初步探索二、数据清洗的七种武器1. 缺失值处理策略2. 异常值检测与修正3. 数据

pandas实现数据concat拼接的示例代码

《pandas实现数据concat拼接的示例代码》pandas.concat用于合并DataFrame或Series,本文主要介绍了pandas实现数据concat拼接的示例代码,具有一定的参考价值,... 目录语法示例:使用pandas.concat合并数据默认的concat:参数axis=0,join=

C#代码实现解析WTGPS和BD数据

《C#代码实现解析WTGPS和BD数据》在现代的导航与定位应用中,准确解析GPS和北斗(BD)等卫星定位数据至关重要,本文将使用C#语言实现解析WTGPS和BD数据,需要的可以了解下... 目录一、代码结构概览1. 核心解析方法2. 位置信息解析3. 经纬度转换方法4. 日期和时间戳解析5. 辅助方法二、L

使用Python和Matplotlib实现可视化字体轮廓(从路径数据到矢量图形)

《使用Python和Matplotlib实现可视化字体轮廓(从路径数据到矢量图形)》字体设计和矢量图形处理是编程中一个有趣且实用的领域,通过Python的matplotlib库,我们可以轻松将字体轮廓... 目录背景知识字体轮廓的表示实现步骤1. 安装依赖库2. 准备数据3. 解析路径指令4. 绘制图形关键

解决mysql插入数据锁等待超时报错:Lock wait timeout exceeded;try restarting transaction

《解决mysql插入数据锁等待超时报错:Lockwaittimeoutexceeded;tryrestartingtransaction》:本文主要介绍解决mysql插入数据锁等待超时报... 目录报错信息解决办法1、数据库中执行如下sql2、再到 INNODB_TRX 事务表中查看总结报错信息Lock