데이터 베이스 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 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

여러 개의 Toutiao 계좌를 개설하는 방법은 무엇입니까? Toutiao 계정을 신청하는 절차는 무엇입니까? 여러 개의 Toutiao 계좌를 개설하는 방법은 무엇입니까? Toutiao 계정을 신청하는 절차는 무엇입니까? Mar 22, 2024 am 11:00 AM

모바일 인터넷의 인기로 인해 Toutiao는 우리나라에서 가장 인기 있는 뉴스 정보 플랫폼 중 하나가 되었습니다. 많은 사용자는 다양한 요구 사항을 충족하기 위해 Toutiao 플랫폼에 여러 계정을 갖고 싶어합니다. 그렇다면 여러 개의 Toutiao 계정을 개설하는 방법은 무엇입니까? 이번 글에서는 터우탸오(Toutiao) 계좌를 여러 개 개설하는 방법과 신청 과정을 자세히 소개하겠습니다. 1. Toutiao 계정을 여러 개 개설하는 방법은 무엇입니까? 여러 개의 Toutiao 계정을 개설하는 방법은 다음과 같습니다. Toutiao 플랫폼에서 사용자는 다양한 휴대폰 번호를 통해 계정을 등록할 수 있습니다. 각 휴대폰 번호는 하나의 Toutiao 계정만 등록할 수 있습니다. 즉, 사용자는 여러 휴대폰 번호를 사용하여 여러 계정을 등록할 수 있습니다. 2. 이메일 등록: 다른 이메일 주소를 사용하여 Toutiao 계정을 등록하세요. 휴대폰 번호 등록과 마찬가지로 각 이메일 주소도 Toutiao 계정을 등록할 수 있습니다. 3. 타사 계정으로 로그인

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 저장 프로시저 및 함수의 구문에도 약간의 차이가 있습니다.

Douyin 수면 앵커가 되는 것이 수익성이 있습니까? 수면 라이브 스트리밍의 구체적인 절차는 무엇입니까? Douyin 수면 앵커가 되는 것이 수익성이 있습니까? 수면 라이브 스트리밍의 구체적인 절차는 무엇입니까? Mar 21, 2024 pm 04:41 PM

오늘날 빠르게 변화하는 사회에서 수면의 질 문제는 점점 더 많은 사람들을 괴롭히고 있습니다. 사용자의 수면 품질을 향상시키기 위해 Douyin 플랫폼에 특수 수면 앵커 그룹이 등장했습니다. 라이브 방송을 통해 사용자와 소통하고, 수면 팁을 공유하며, 편안한 음악과 사운드를 제공하여 시청자가 편안하게 잠들 수 있도록 도와줍니다. 그렇다면 이러한 수면 앵커는 수익성이 있습니까? 이 기사에서는 이 문제에 중점을 둘 것입니다. 1. Douyin 수면 앵커는 수익성이 있습니까? Douyin 수면 앵커는 실제로 특정 이익을 얻을 수 있습니다. 첫째, 생방송실 내 팁 기능을 통해 선물과 양도를 받을 수 있으며, 이러한 혜택은 팬 수와 시청자 만족도에 따라 달라집니다. 둘째, Douyin 플랫폼은 생방송의 조회수, 좋아요, 공유 및 기타 데이터를 기반으로 앵커에게 특정 공유를 제공합니다. 일부 수면 앵커는 또한

죽음의 그림자를 통과하는 무너진 스타돔 철도의 임무 전략 가이드 죽음의 그림자를 통과하는 무너진 스타돔 철도의 임무 전략 가이드 Mar 28, 2024 pm 01:10 PM

무너진 스타돔 철도를 타고 죽음의 그림자 속을 여행할 때 무엇을 해야 하나요? 죽음의 그림자를 걷다(Walking through the Shadow of Death)는 메인 퀘스트 중 하나인 [Cat between Doves]이며, 메인 퀘스트의 마지막 단계이기도 합니다. 무너진 스타돔 철도, 관심 있는 분들은 꼭 구경해보세요. 1. 플롯의 이전 단계를 완료한 후 자동으로 아래 그림의 위치로 이동하게 되며, 3월 7일에 던전에 입장하게 됩니다. 2. 백업 계획은 전투입니다. [스톤하트텐] 위어드 플레이서 골드, 4개의 팀으로 구성된 최고의 캐릭터 전술과 마무리 스킬은 집단 공격이며, 때리기 어려운 방패와 우유를 가져오는 것이 가장 좋습니다. 주사위를 굴려 포인트가 샌드 골드보다 크면 패배하지 않으며, 종료 후에는 마무리 스킬의 양이 완전히 회복되므로 패배합니다. 그룹 공격 캐릭터를 데려와 포인트를 얻으세요. 상사에서

php-fpm 요청 처리 프로세스에 대한 자세한 설명 및 최적화 전략 php-fpm 요청 처리 프로세스에 대한 자세한 설명 및 최적화 전략 Jul 07, 2023 pm 01:52 PM

php-fpm 요청 처리 프로세스에 대한 자세한 설명 및 최적화 전략 1. 소개 웹 애플리케이션 개발에서 PHP는 매우 널리 사용되는 서버 측 스크립팅 언어입니다. 그리고 php-fpm(FastCGIProcessManager)은 PHP 요청을 처리하는 데 사용되는 PHP 관리자입니다. 이번 글에서는 php-fpm의 요청 처리 과정을 자세히 소개하고, php-fpm을 최적화하고 웹 애플리케이션의 성능을 향상시키는 방법에 대해 논의하겠습니다. 2. php-fpm 요청 처리 과정 클라이언트가 요청을 시작할 때

무너진 스타돔 철도 미션 전략 가이드의 모든 슬픈 이야기 무너진 스타돔 철도 미션 전략 가이드의 모든 슬픈 이야기 Mar 28, 2024 pm 01:26 PM

무너진 스타돔 철도에 얽힌 슬픈 이야기를 어떻게 처리해야 할까요? 모든 슬픈 이야기는 메인 퀘스트 [비둘기 사이의 고양이]의 일부입니다. 이 단계의 과정은 비교적 길며, 아래에서는 무너진 스타돔 철도의 모든 슬픈 이야기 퀘스트에 대해 자세히 설명하겠습니다. 봐. 1. 이전 스테이지를 완료하면 두 번째 신규 맵인 [망토영화TV공원]으로 자동 이동됩니다. 1개의 [핀볼 머신]에서 2개의 위치까지 미션을 모두 수행한 후 세 번째 캐릭터를 따라가세요. 줄거리, 4번째 위치에 있는 아이에게 말을 걸어 미니게임 [스피드 앤 너트]를 완료하세요. Tiantian Cool Run과 유사한 미니게임은 매우 간단합니다. 3. 그러면 추적 작업은 아래 그림의 위치 1[핀볼 기계]에서 위치 2로 날아가는 것입니다. 4. 아래 그림의 위치에 도착한 후 왼쪽에서 진입한 후 계속해서 미로를 통과해야 합니다. 작업 지점 15에 도달하기 위해 오른쪽으로 걸어갑니다.

Scikit-learn의 IRIS 데이터 세트를 Python에서 두 가지 기능만 있는 데이터 세트로 변환하는 방법은 무엇입니까? Scikit-learn의 IRIS 데이터 세트를 Python에서 두 가지 기능만 있는 데이터 세트로 변환하는 방법은 무엇입니까? Aug 30, 2023 pm 09:49 PM

다변량 꽃 데이터세트인 Iris는 가장 유용한 pyhtonscikit-learn 데이터세트 중 하나입니다. 이는 각각 50개의 인스턴스로 구성된 3개 범주로 나누어지며 세 가지 유형의 붓꽃(Iris Mountaina, Iris virginia 및 Iris versicolor)의 꽃받침과 꽃잎 부분에 대한 측정값을 포함합니다. 이 외에도 Iris 데이터세트에는 세 가지 종 각각에 대한 50개의 인스턴스가 포함되어 있으며 sepal_length(cm), sepal_width(cm), Petal_length(cm), Petal_width(cm)의 4가지 특성으로 구성됩니다. PCA(주성분 분석)를 사용하여 IRIS 데이터 세트를 2가지 기능이 있는 새로운 기능 공간으로 변환할 수 있습니다. 우리가 따를 수 있는 단계

Vue 개발 경험 공유 : 개발 프로세스 및 업무 효율성 최적화 경험 Vue 개발 경험 공유 : 개발 프로세스 및 업무 효율성 최적화 경험 Nov 22, 2023 am 10:53 AM

Vue.js는 사용자 인터페이스 및 단일 페이지 애플리케이션을 구축하는 데 널리 사용되는 JavaScript 프레임워크입니다. 간결한 구문, 유연성 및 강력한 기능으로 인해 많은 개발자가 가장 먼저 선택합니다. 최근 프로젝트 개발에서 저희 팀과 저는 개발 프로세스와 작업 효율성을 최적화하는 데 있어 어느 정도 경험을 축적했으며, 이를 여러분과 공유하고 싶습니다. 우선, Vue.js 개발의 기초로서 Vue.js의 생태계와 핵심 개념을 완전히 이해해야 합니다. Vue.js의 핵심 개념에는 데이터 기반 및 구성 요소 시스템이 포함됩니다.

See all articles