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 版

第 10 章 使用 SPARQL 构建应用程序使用 SPARQL 构建应用程序

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

SPARQL 和 JavaScript 一样,并不是所有网络终端用户都需要学习的东西。它是一种能让你和你的应用程序访问更多数据和元数据的工具。在本章中,我们将学习如何将 SPARQL 融入应用程序,以便让那些不需要了解 SPARQL 或相关标准的用户也能从中受益。

在了解 SPARQL 技术的不同方面如何为应用程序做出贡献之前,让我们退后一步,从更广阔的角度来看问题。查询语言在应用程序中扮演什么角色?在一个典型的场景中,无论使用哪种技术,都可能会有一个中央数据存储库和几个客户端进程,这些客户端进程会向中央存储库发送请求,以交付或更新这些数据。 这些请求通常要求数据的子集满足某些条件,它们可能会指定结果的列要按照特定顺序排列,结果的行要根据一列或多列的值进行排序。接收到这些结果后,客户进程会使用这些信息来实现自己的目标--也许是在显示屏上呈现信息,也许是打开或关闭机器,也许是保存某些数据以备将来计算之用。

使用网络浏览器浏览在线服装零售商的 T 恤或使用手机上的专门应用程序预订酒店房间都属于这种情况。也许服装和酒店数据存储在关系数据库中,而 SQL 查询正在汇集您请求的信息的进程之间发送;也许数据存储在专门的 NoSQL 数据库中,应用程序内的查询使用的是为该实现开发的定制语言。选择由该应用程序的系统架构师决定,而浏览 T 恤或预订酒店房间的最终用户并不关心(也不应该关心)。他们只希望在屏幕上快速显示正确的信息。

随着越来越多的系统架构师认识到 RDF 数据模型在某些应用中的优势,他们开始使用 triplestores 作为后端存储系统,并使用 SPARQL 作为查询语言,供系统内的进程请求和更新信息。这种方法的一个好处是,即使不同的数据格式不是这样设计的,也能灵活地将其视为三元组--例如,通过使用中间件层,可以将 SPARQL 查询发送到关系数据库。正因为如此,利用 SPARQL 的应用程序架构中并不一定需要三元组存储库。尽管如此,SPARQL 最终还是要通过向存储资源发送请求来完成工作。

提示

第 8 章提供了有关使用 SPARQL 进行应用程序开发的其他有用信息。该章介绍了如何将标准化的 XML、JSON、CSV 和 TSV 版本的 SPARQL 查询结果整合到可以读取这些格式的应用程序中--很多应用程序都可以读取这些格式。

综上所述,SPARQL 能为应用程序开发带来的价值远不止作为一种检索符合灵活、标准化数据模型的数据的标准化语法。一些基于 RDF 的应用程序(和应用程序开发工具)在看到某些类型的 RDF 时会带来额外的功能,因此我们也将举例说明。

在本章中,我们将介绍几种与 SPARQL 相关的技术如何为这幅图画的不同部分做出贡献:

应用程序和三元组

有时,谓词不仅仅是对关系的描述;它们还可以是执行某些工作的指令。

SPARQL 和网络应用程序开发

程序或网络表单可以通过 HTTP 向 SPARQL 端点发送查询,并使用返回的结果,而只需编写很少的代码。

SPARQL 处理器

我们已经看到 ARQ 如何读取查询和一些数据,然后在这些数据上运行查询。在第 6 章中,我们看到了 Fuseki 如何存储数据并响应有关数据的查询。还有更强大、可扩展性更强的处理器,通常作为 triplestore 的一部分。还有一些中间件可供选择,让你可以针对关系数据库和其他数据格式运行 SPARQL ...

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