首页 数据库 mysql教程 探究DB2中RDF数据的特征并描述创建优化存储的流程

探究DB2中RDF数据的特征并描述创建优化存储的流程

Jun 07, 2016 pm 05:54 PM
db2 流程 特征

资源描述框架 (Resource Description Framework, RDF) 是一系列 W3 规范标准,主要支持数据和元数据的交换。凭借 IBM DB2 10 for Linux, UNIX, and Windows Enterprise Server Edition,应用程序可以存储和查询 RDF 数据。

本探究 RDF 数据的特征并描述创建优化存储的流程。此外,还将介绍如何使用 DB2 引擎或该应用程序对 RDF 存储提供细粒度访问控制。本文包含一个样例应用程序。

本教程是由三部分组成的系列文章 “RDB2 10 for Linux, UNIX, and Windows 中的资源描述框架应用程序开发” 的第 2 部分,让您在实际操作中体验 DB2 for Linux, UNIX, and Windows 软件和资源描述框架 (RDF) 技术的使用:

  • 本系列 第 1 部分 介绍了一个 RDF 应用程序的示范用用例,引导您完成构建这个应用程序的步骤,包括创建一个 RDF 存储、使用 SPARQL 查询进行数据查询,以及维护统计数据。第 1 部分提供了将 RDF 存储迁移到 DB2 软件的流程。
  • 第 2 部分涵盖以下高级主题:
    • 提供 RDF 数据特性以及 DB2 软件如何优化 RDF 数据存储的概述。
    • 描述创建优化存储的流程。
    • 将优化存储与您在第 1 部分为样例应用程序创建的默认存储进行比较,以便了解优化存储的优势。
    • 描述如何为 RDF 存储提供更细粒度的访问控制。本教程将引导您使用 DB2 引擎和样例应用程执行访问控制。

在第 2 部分中,我们将在第 1 部分的样例应用程序用例基础上进行构建。如果您尚未构建,查阅 第 1 部分 获取相关内容。

第 3 部分将介绍更多特定于 SPARQL 的特性,比如 DESCRIBE 和 CONSTRUCT 查询表单以及指定图表的联合。

默认存储和优化存储

回顾第 1 部分,DB2 软件支持两类 RDF 存储的创建:

  • 默认 RDF 存储 — 如果您没有正在加载的 RDF 数据相关信息或者如果没有合适的样例可用时,创建一个默认 RDF 存储。要创建这类存储,使用 createrdfstore RDF 命令。
  • 优化 RDF 存储 — 如果 RDF 数据集有代表性样例数据时,创建一个优化存储。优化存储可以根据您提供的 RDF 数据集提供一种优化模式。

本教程主要关注优化存储的创建。

RDF 数据的特征

无模式数据模型

RDF 数据模型是无模式的。不同于关系模型,每个表中列的数量是固定的,RDF 数据集没有固定数量的谓词。一个特定 RDF 主题可以有任意数量的谓词。此外,一个 RDF 数据集可以跨任意数量的域来存储数据,这进一步增强了该模型的 “无模式性”。因此,当将 RDF 数据映射到一个关系模式时,必须使用一种机制来支持 RDF 数据的无模式特性。

当映射 RDF 数据到关系模式时,处理无模式特性的最常见的机制是利用一个包含 3 列的表(三个列分别对应主题、谓词和对象)。使用该方法,每个三 元组位于该表中的一个新行中,因此,可以处理数目不定的谓词。然而,该映射伸缩性不是很好,有点性能问题,因为查询数据需要许多自联接以及无用的关系索引应用。例如,检索一个主题的两个谓词的一个简单查询涉及到一个自联接和两行获取。相比之下,同一数据的传统关系建模一行中有两个谓词,不需要任何联接,使用一个 fetch 语句就可以检索到数据。

无模式特性的处理

查询 RDF 数据时,DB2 软件在表中一行或者很少几行中存储关于一个主题的所有谓词和对象,从而减少了大量自联接需求。因为一个关系表必须有固定数量的列(由页面大小和列长度控制),该机制根据表中谓词分配给列的方式处理可变数量谓词。

DB2 软件使用两个机制来将谓词分配给表中的列:

  • 散列法 — 为减少散列冲突,使用一组散列函数而不是一个散列函数。散列法是随机的,尽管使用多个散列函数,仍然很容易出现冲突。如果出现冲突,将在表中创建一个新行。默认存储中使用的是散列机制。
  • 谓词关联 — 如果 RDF 数据的一个代表性样例可用,DB2 软件将计算 RDF 数据集中各种资源类型谓词之间的相关性。该软件使用这种相关性来分配谓词到表中的列。这将使我们能够更好地利用表中的空间,以及减少冲突几率。多个关联函数被用于进一步减少冲突几率。优化存储中使用谓词关联机制。

创建优化存储

使用 DB2 创建优化存储有多种方法。第 1 部分中的迁移场景使用 createrdfstoreandloader 命令创建优化存储。该命令将 RDF 数据批量加载到一个 DB2 。在批量加载情况下,可以料到输入数据是谓词跨不同资源类型相关联的范例。但是,您可能会在没有代表性数据来创建优化存储的情况下开始应用程序开发。在本例中,您有两种选择:

  • 首先开始创建默认存储,正如第 1 部分所述,使用默认存储直至生成足够数据(例如在应用程序系统 QA 周期中)。然后,您可以使用 DB2 数据库引擎计算默认存储的谓词相关性,并使用这些相关性信息来创建一个优化存储用于生产。在第 2 部分中我们将引导您完成这一机制。
  • 首先创建一个默认存储,然后使用 REORG 系列 DB2 RDF 命令将该存储重组为一个优化存储。更多信息,参阅 DB2 Information Center 主题 “Converting a default store to an optimized store”。

要使用谓词关联重新创建您在第 1 部分中创建的默认 staffing 存储作为一个优化存储:

  1. 使用现有存储,生成谓词映射。
  2. 使用谓词映射创建优化存储。

谓词映射 是数据集中的谓词和 DB2 RDF 存储(谓词存储在其中)的底层关系表中的列之间的一个映射。谓词映射是根据其中出现的各个 RDF 资源类型之间的谓词相关性决定的。这样做是为了在最少数量的列中包装 RDF 数据。

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解锁Myrise中的所有内容
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

怎么开多个头条账号?申请头条号小号的流程是什么? 怎么开多个头条账号?申请头条号小号的流程是什么? Mar 22, 2024 am 11:00 AM

随着移动互联网的普及,今日头条已经成为我国最受欢迎的新闻资讯平台之一。许多用户希望在头条平台上拥有多个账号,以满足不同的需求。那么,如何开多个头条账号呢?本文将详细介绍开设多个头条账号的方法和申请流程。一、怎么开多个头条账号?开设多个头条账号的方法如下:在头条平台上,用户可以通过不同的手机号码注册账号。每个手机号只能注册一个头条账号,这意味着用户可以利用多个手机号注册多个账号。2.邮箱注册:使用不同的邮箱地址注册头条账号。与手机号码注册类似,每个邮箱地址也可以注册一个头条账号。3.第三方账号登录

抖音睡眠主播有收益嘛?睡眠直播的具体流程有哪些? 抖音睡眠主播有收益嘛?睡眠直播的具体流程有哪些? Mar 21, 2024 pm 04:41 PM

在当今这个快节奏的社会,睡眠质量问题困扰着越来越多的人。为了改善用户的睡眠质量,抖音平台上出现了一群特殊的睡眠主播。他们通过直播与用户互动,分享睡眠技巧,提供放松的音乐和声音,帮助观众安然入睡。那么,这些睡眠主播是否有收益呢?本文将围绕这一问题展开探讨。一、抖音睡眠主播有收益嘛?抖音睡眠主播确实能够获得一定的收益。首先,他们可以通过直播间的打赏功能获得礼物和转账,这些收益取决于他们的粉丝数量和观众满意度。其次,抖音平台会根据直播的观看量、点赞量、分享量等数据,给予主播一定的分成。一些睡眠主播还会

db2和oracle语法有什么区别 db2和oracle语法有什么区别 Jul 05, 2023 am 10:39 AM

db2和oracle语法区别:1、SQL语法差异,虽然db2和oracle都使用结构化查询语言,但它们在语法方面存在一些差异;2、db2和oracle拥有不同的数据类型;3、外键约束定义,db2可以定义在创建表时或者使用“ALTER TABLE”语句后添加,oracle需要在创建表时一起定义;4、db2和oracle存储过程和函数的语法也存在一些区别。

崩坏星穹铁道行过死荫之地任务攻略流程 崩坏星穹铁道行过死荫之地任务攻略流程 Mar 28, 2024 pm 01:10 PM

崩坏星穹铁道行过死荫之地怎么做?行过死荫之地是主线任务【鸽群中的猫】其中一环,也是主线的最后阶段,下面小编带来崩坏星穹铁道行过死荫之地任务详解,感兴趣的小伙伴们快来看看吧。1.过完上一阶段剧情后,会自动传送到下图位置,和三月七对话后进入副本,记得组好队2.备用方案是要打【石心十人】诡异砂金,队伍四个角色战术和终结技最好都是群攻,最好带上盾和奶,这个【石心十人】诡异砂金不好打,摇骰子的时候,如果你的点数大于砂金就不会被打,并且结束后回满终结技能量,小于就会被打,所以尽量带群攻角色打点数。在boss

崩坏星穹铁道所有悲伤的故事任务攻略流程 崩坏星穹铁道所有悲伤的故事任务攻略流程 Mar 28, 2024 pm 01:26 PM

崩坏星穹铁道所有悲伤的故事怎么做?所有悲伤的故事是主线任务【鸽群中的猫】其中一环,此阶段流程比较长,下面小编带来崩坏星穹铁道所有悲伤的故事任务详解,各位朋友们来看看吧。1.完成前一阶段之后,会自动传送到第2个新地图【克劳克影视乐园】,一路追踪任务从1【弹珠机】去2位置跟着第3位角色发挥,完成剧情后,前往第4位位置和小孩对话,完成小游戏【速度与坚果】,类似天天酷跑的小游戏很简单。3.接着追踪任务从下图1位置【弹珠机】飞到2位置4.到下图位置后,需要走迷宫,从左边进去后,一直靠右走即可到达1任务点5

php-fpm请求处理流程详解与优化策略 php-fpm请求处理流程详解与优化策略 Jul 07, 2023 pm 01:52 PM

php-fpm请求处理流程详解与优化策略一、引言在Web应用开发中,PHP是一种非常流行的服务器端脚本语言。而php-fpm(FastCGIProcessManager)则是PHP的一种管理器,用于处理PHP请求。本文将详细介绍php-fpm的请求处理流程,并探讨如何优化php-fpm,提升Web应用的性能。二、php-fpm请求处理流程客户端发起请求当

如何在Python中将Scikit-learn的IRIS数据集转换为只有两个特征的数据集? 如何在Python中将Scikit-learn的IRIS数据集转换为只有两个特征的数据集? Aug 30, 2023 pm 09:49 PM

Iris,一个多元花卉数据集,是最有用的Pyhtonscikit-learn数据集之一。它分为3类,每类50个实例,包含三种鸢尾花(山鸢尾、维吉尼亚鸢尾和杂色鸢尾)的萼片和花瓣部分的测量值。除此之外,Iris数据集包含这三个物种中每个物种的50个实例,并由四个特征组成,即sepal_length(cm)、sepal_width(cm)、petal_length(cm)、petal_width(cm)。我们可以使用主成分分析(PCA)将IRIS数据集转换为具有2个特征的新特征空间。步骤我们可以按照

Vue开发经验分享:优化开发流程和工作效率的经验 Vue开发经验分享:优化开发流程和工作效率的经验 Nov 22, 2023 am 10:53 AM

Vue.js是一种流行的JavaScript框架,用于构建用户界面和单页面应用程序。其简洁的语法、灵活性和强大的功能使得它成为了许多开发者的首选。在最近的项目开发中,我和我的团队积累了一些优化开发流程和工作效率的经验,特此分享给大家。首先,作为Vue.js开发的基础,我们要充分了解Vue.js的生态系统和核心概念。Vue.js的核心概念包括数据驱动、组件系统

See all articles