virtuoso数据库介绍

news/2024/5/16 20:51:10/文章来源:https://blog.csdn.net/qq_40671063/article/details/129049198

        在国内,对海量 RDF 数据的管理有着迫切的实际需求;

                RDF:Resource Description Framework,是一个使用XML语法来表示的资料模型(Data model),用来描述Web资源的特性,及资源与资源之间的关系。

Virtuoso可以对 RDF 数据进行有效的存储和管理;

        基于Virtuoso 进行 RDF 数据存储的应用也越来越多,BioGateway、Bio2RDF、DBpedia-live 和 Neurocommons;

        Virtuoso 提供的开源版本能支持数十亿规模的三元组存储和管理;

系统架构

        Virtuoso 是 OpenLink 公司开发的一款跨平台的对象关系数据库、虚拟 / 通用数据库,拥有强大的过程语言,支持 Java 和.Net 语言的内嵌,可以通过 Web、Web Services、ODBC 和 JDBC 等 进 行 数 据 的 访 问;

        JDBC 指 Java 数据库连接,是一种标准Java应用编程接口( JAVA API),用来连接 Java 编程语言和广泛的数据库;

        Virtuoso在现有( 对象) 关系数据库上增加了对 RDF 数据的支持,一方面可以充分利用传统数据库的事务处理、查询优化、访问控制、日志和数据恢复等功能,技术成熟度高、系统稳定,另一方面可以实现语义数据和其他数据的无缝连接

        

存储模式

        Virtuoso 的 RDF 存储机制则是对三元组表模式的一种扩展形式,增加了一列 G 用于对命名图( name graph) 的支持,把所有的三元组连同命名图信息存放在四元组表 DB.DBA.RDF_QUAD 中 

        (表中的 G、S、P 和 O 列分别对应命名图、主语、谓语和宾语,为了减少存储空间,将 IRI ( 或URI) 和一些长的 Literal 存放在一些辅组表中,增加两种新的数据类型 IRI_ID 和 ANY 来支持不同表中的数据映射,IRI_ID 为一个 32 位的无符号整数,允许 4G 个不同的 IRI,可以支持数十亿三元组的数据规模,如果数据集规模较大,还可以将 IRI_ID 动态升级到 64 位。) 

        Virtuoso 不建议用户直接去操作这些表,因为系统通过一种特殊的方式对这些表中的数据进行了索引和缓存,而这些索引和缓存不会随着这些表中的数据的变化而自动进行更新,如果直接对这些表进行数据更新,将会造成数据的不一致性,形成一些脏数据,对这些表中的操作则可通过系统提供的 ISQL、SPARQL 或 HTTP 等方式进行。

查询策略

        SPARQL 是 W3C 提出的针对 RDF 数据的查询语言标准,为了利用( 对象) 关系数据库成熟的查询处理技术来支持 SPARQL 查询,流行的方式采用将 SPARQL 直接映 射 到 SQL 的 方 式 来实现,这 样 仅 需 编 写SPARQL 编译器,简化了实现 SPARQL 查询执行引擎的工作量。

        Virtuoso 采用了一种更加高效的方式 ,其对原有的 SQL 编译器进行了函数扩充,像 GROUP BY 和其他聚合函数子句一样,Virtuoso 将 SPARQL 查询模式当成一个子查询( 派生表) 内嵌在 SQL 中,这样就避 免 了 编 写 SPARQL 编 译 器 的 工 作,还 可 以 避 免SPARQL 与 SQL 转换后可能出现的 SQL 语句代价过高的问题。
 

参考论文:http://exhib.nstl.gov.cn/files/3/lw/2011BAH10B03+%E9%82%B9%E7%9B%8A%E6%B0%91+1.pdf

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_258360.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

LINUX内核链表

LINUX内核链表 一、传统链表的缺陷 传统的双向循环链表概念简单,操作方便,但存在有致命的缺陷,用一句话来概括就是: 每一条链表都是特殊的,不具有通用性。换句话说,对于每一种不同的数据,所构…

VMware安装Linux虚拟机后忘记root密码处理方法

OS版本:Red Hat 7.7 问题说明: 之前用VMWare安装了一台Linux虚机,由于长期没使用,导致忘记了root密码。所以需要修改root密码。 Root密码修改 现将修改root密码的操作步骤记录如下。 1.启动虚拟机,出现启动倒计时…

Git 基本操作之Git GUI界面和git命令行如何选择

1. 为啥推荐使用git命令行 我发现公司有很多的同事都喜欢使用git的GUI界面工具,喜欢鼠标点点点就完成了代码的提交,这种方式的确是比较简单便捷,但是却存在风险。先上一个事故给大家醒醒脑。 VScode Git 界面操作引发的惨案 上面的惨案是VS…

一种基于加密域的数字图像水印算法的设计与实现(附Matlab源码)

一种基于加密域的数字图像水印算法的设计与实现 项目介绍 毕设项目 题目:一种基于加密域的数字图像水印算法的设计与实现 随着数字媒体技术的发展,数字媒体版权的保护得到了越来越多人的重视,数字水印技术作为数字媒体版权保护的有效手段…

JavaScript 教程导读

JavaScript 是 Web 的编程语言。所有现代的 HTML 页面都使用 JavaScript,可以用于改进设计、验证表单、检测浏览器、创建cookies等。JavaScript 非常容易学。本教程将教你学习从初级到高级JavaScript知识。JavaScript 在线实例本教程包含了大量的 JavaScript 实例&a…

如何用P6软件编制项目进度计划(下)

卷首语 根据项目合同包含的工作范围进行工作分解(WBS),按照业主的要求及项目管理的需要,考虑不同阶段和层次,适时编制出项目管理所要求的的各级进度计划。 4搜集项目计划与进度控制相关信息 搜集与项目计划编制与进…

计算机SCI期刊审稿人,一般关注论文的那些问题? - 易智编译EaseEditing

编辑主要关心: (1)文章内容是否具有足够的创新性? (2)文章主题是否符合期刊的受众读者? (3)文章方法学是否合理,数据处理是否充分? (…

谷歌seo快速排名优化方法?谷歌seo排名技巧

本文主要分享关于谷歌seo排名如何快速提升的一些技巧。 本文由光算创作,有可能会被修改和剽窃,我们佛系对待这种行为吧。 谷歌seo快速排名优化方法?谷歌seo排名有什么技巧? 答案是:持续建设GPB外链可有效提升谷歌排…

TCP的拥塞控制算法之一:慢启动算法、拥塞避免算法

目录 什么是拥塞控制,为什么需要拥塞控制 慢启动 拥塞避免 什么是拥塞控制,为什么需要拥塞控制 拥塞通常是指从随着网络中的主机增加其发送速率并因为网络的原因使网络变得十分拥挤,此时会经常发生丢包现象,导致网络的传输效率…

Spring Boot集成Quartz实现定时任务的动态创建、启动、暂停、恢复、删除

一、整个 Quartz 的代码流程基本基本如下:首先需要创建我们的任务(Job),比如取消订单、定时发送短信邮件之类的,这是我们的任务主体,也是写业务逻辑的地方。创建任务调度器(Scheduler),这是用来调度任务的,主要用于启动…

【数据结构与算法】二分查找 移除元素

今日任务 数组理论基础 704.二分查找 27.移除元素 1.数组理论基础 (1)数组是存放在连续内存空间上的相同类型数据的集合。 注意: 数组下标都是从0开始的数组内存空间的地址是连续的 (2)正因为数组在内存空间的…

(考研湖科大教书匠计算机网络)第四章网络层-第四节:IP数据报的发送和转发过程

获取pdf:密码7281专栏目录首页:【专栏必读】考研湖科大教书匠计算机网络笔记导航 文章目录一:概述二:举例三:路由器可以隔离广播域本节对应视频如下 【计算机网络微课堂(有字幕无背景音乐版)】&…

记一次OOM

1,问题描述: 新上了一版代码之后,上游服务请求我们服务失败,报错:“服务不可用”,发现注册中心上服务掉线,查询日志:发现oom:Java heap space,GC overhead limit exceeded。 容易…

【R语言(二):Nomogram(诺莫图/列线图)绘制 / R语言逻辑回归分析】

R语言(二):Nomogram(诺莫图/列线图)绘制 1、基本概念 Nomogram,中文常称为诺莫图或者列线图。简单的说是将Logistic回归或Cox回归的结果进行可视化呈现。它根据所有自变量回归系数的大小来制定评分标准,给每个自变量的每个取值水平一个评分&…

Mysql使用规范(纯技术和实战建议)

1、事务隔级别: (强制):Repeatable-Read(重复读),且不能在会话操作时临时开启隔离级别。 注: Repeatable-Read(重复读)隔离级别解决不了幻读。 可用 show variables l…

内存泄漏检测组件 -- hook

目录 hook malloc与free出现的问题 builtin_return_address(N) C/CLinux服务器开发/后台架构师【零声教育】-学习视频教程-腾讯课堂 hook malloc与free出现的问题 #define _GNU_SOURCE #include <stdio.h> #include <dlfcn.h> #include <stdlib.h> /****…

上采样学习

最近邻 简单来说就是x方向和y方向分别复制 #!/usr/bin/env python # _*_ coding:utf-8 _*_ import numpy as np import torch from cv2 import cv2 from torch import nndef numpy2tensor(x: np.ndarray) -> torch.Tensor:"""(H,W) -> (1, 1, H, W)(H,W…

迁移案例实操:MySQL迁移到DM8由于有248张表存在datetime字段类型,使用dts迁移到达梦报不支持数据类型【附数据对比工具】

本文主要记录MySQL数据迁移到DM8上遇到MySQL源端表存在datetime数据类型时&#xff0c;并且包含datetime数据类型的表达上百张的的情况下&#xff0c;如何完成数据迁移的完整步骤。 1. 解决方法 将MySQL源端表的是datetime数据类型的字段修改为varchar(30)。 2. 处理步骤 &a…

以before为例 完成一个aop代理强化方法案例

观看本文 首先 您需要做好Spring aop的准备工作 具体可以参考我的文章 java Spring aop入门准备工作 首先 我们创建一个包 我这里叫 Aop 然后在Aop包下创建一个类 叫 User 参考代码如下 package Aop;public class User {public void add(){System.out.println("add....…

javaEE 初阶 — 流量控制与拥塞控制

文章目录1. 流量控制2. 拥塞控制TCP 工作机制&#xff1a;确认应答机制 超时重传机制 连接管理机制 滑动窗口 1. 流量控制 流量控制是一种干扰发送的窗口大小的机制&#xff0c;滑动窗口&#xff0c;窗口越大&#xff0c;传输的效率就越高&#xff08;一份时间&#xff0c;…