Skip to Content
学习 SPARQL,第 2 版
book

学习 SPARQL,第 2 版

by Bob DuCharme
July 2025
Beginner to intermediate
386 pages
5h 25m
Chinese
O'Reilly Media, Inc.
Content preview from 学习 SPARQL,第 2 版

第 4 章 复制、创建和转换复制、创建和转换数据(以及查找不良数据

本作品已使用人工智能进行翻译。欢迎您提供反馈和意见:translation-feedback@oreilly.com

第 3 章介绍了从数据集中提取三元组并显示这些三元组值的多种方法。在本章中,我们将学习如何在显示这些值之外做更多事情。我们将学习

查询形式:SELECT、DESCRIBE、ASK 和 CONSTRUCT

使用图形模式从数据集中提取三元组在整个 SPARQL 中都是一样的,你已经知道了几种方法。除了 SELECT 之外,还有三个关键字可以用来表示要如何处理这些提取的三元组。

复制数据

有时,你只是想从一个集合中提取一些三元组,然后存储到另一个集合中。也许你正在从多个来源聚合关于某个特定主题的数据,也许你只是想在本地存储数据,以便你的应用程序可以更快、更可靠地处理这些数据。

创建新数据

在执行了我们在上一章中学到的图形模式逻辑后,有时你会得到可以存储的新事实。从现有数据创建新数据是 SPARQL 和 RDF 技术最令人兴奋的方面之一。

转换数据

如果您的应用程序希望数据符合某个模型,而您的数据几乎但不完全符合该模型,那么将其转换为符合模型的三元组就很容易。如果目标模型是一个既定的标准,这就为您提供了将数据与其他数据和应用程序集成的新机会。

查找错误数据

如果你能描述你不想看到的数据,你就能找到它。当从多个来源收集数据时,这一点(以及转换数据的能力)对于将数据加工成形以便更好地服务于你的应用程序来说是非常宝贵的。除了检查约束条件(如使用适当的数据类型),这些技术还能让您检查数据集是否符合业务规则。

询问资源描述

通过 SPARQL 的 DESCRIBE 操作,您可以询问特定 URI 所代表资源的相关信息。

查询形式:SELECT、DESCRIBE、ASK 和 CONSTRUCT

与 SQL 一样,SPARQL 最常用的动词是 SELECT 。它可以让您从一个集合中请求数据,无论您想要的是一个电话号码,还是 1 月 1 日之后雇佣的员工的名字、姓氏和电话号码(按姓氏排序)的列表。 SPARQL 处理器(如 ARQ)通常会将 SELECT 查询的结果显示为行和列的表格,其中每一个 SELECT 变量名都有一列,SPARQL API 会将这些值加载到适合编程语言的数据结构中,该结构构成了该 API 的基础 。

在 SPARQL 中,SELECT 被称为一种查询形式,另外还有三种:

  • CONSTRUCT 返回三元组。您可以直接从数据源中提取三元组,而无需对其进行更改,也可以提取值并使用这些值创建新的三元组。这样就可以复制、创建和转换 RDF 数据,而且可以更容易地识别不符合特定业务规则的数据。

  • ASK 询问查询处理器给定的图形模式是否描述了特定数据集中的三元组,处理器会返回布尔值 true 或 false。这非常适合用于表达有关数据中应该或不应该成立的条件的业务规则。您可以使用这些规则集在数据处理管道中自动进行质量控制。

  • DESCRIBE 询问描述特定资源的三元组。SPARQL 规范让查询处理器自行决定返回哪些三元组作为指定资源的描述。这导致 DESCRIBE 查询的实现不一致,因此这种查询形式并不流行,但值得一试。

本章大部分内容涉及 CONSTRUCT 查询表单的广泛用途。我们还将举例说明如何使用 ASK,并尝试使用 DESCRIBE 。

复制数据

CONSTRUCT ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

向量数据库 (Chinese Edition)

向量数据库 (Chinese Edition)

Nitin Borwankar
Python文本分析

Python文本分析

Jens Albrecht, Sidharth Ramachandran, Christian Winkler

Publisher Resources

ISBN: 9798341663039