第 8 章 使用 SPARQL 查询结果使用 SPARQL 查询结果格式
本作品已使用人工智能进行翻译。欢迎您提供反馈和意见:translation-feedback@oreilly.com
SPARQL 引擎通常可以用一系列不同的语法返回查询结果。从专业软件工程师到最喜欢使用 Excel 电子表格的业务分析师,都可以选择不同的语法。幸运的是,这些语法都是 SPARQL 系列标准的一部分,因此,当你开发出可以处理某个特定查询引擎的查询结果格式时,就可以将其用于其他查询引擎。
在本章中,我们将介绍标准化格式:
- SPARQL 查询结果 XML 格式
这是一种简单明了的 XML 格式,可以方便地在基于 XML 的系统(如发布工作流)中使用查询结果。在本节中,我们将介绍如何将这种格式转换成另一种标准化的 XML,然后使用开源工具将其转换成 PDF 文件。
- SPARQL 查询结果 JSON 格式
JavaScript Object Notation 是一种越来越流行的格式,用于在本地和远程进程之间传递数据,为您提供了将 SPARQL 工具与其他系统集成的新机会。
- SPARQL 查询结果 CSV 和 TSV 格式
您可以将逗号分隔值(Comma-Separated Value)和制表符分隔值(Tab-Separated Value)文本文件中的数据直接导入 Excel 和 OpenOffice 等电子表格程序。我们将看到,这两种格式之间的区别不仅仅在于分隔返回值的分隔符。
每种格式的一个重要问题,除了它用来表示查询结果的实际语法之外,就是它为查询结果提供的元数据量。例如,格式可能指明也可能不指明返回信息的数据类型,或者它是字面信息还是 URI,如果是前者,是否有与之相关的数据类型或口语。
注释
不同的 SPARQL 引擎有不同的方法让你告诉它们你想要特定的结果格式。使用 ARQ 时,添加一个 XML, JSON, CSV或 TSV--results 参数。
为了了解各种可能性,我们来看看每种格式是如何表示对该数据集三元组的主题和对象进行简单查询的结果的:
# filename: ex409.ttl @prefix dm: <http://learningsparql.com/ns/demo#> . @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . @prefix d: <http://learningsparql.com/ns/data#> . d:id1 rdfs:label "book" . d:id2 rdfs:label "5 bucks"@en-US . d:id3 dm:shipped true . d:id4 dm:location _:b1 . d:id5 dm:amount 3 .
查询主题将向我们展示查询结果是如何表示 URI 的,查询对象将向我们展示各种元数据是如何表示的。
注释
有关语言标记的背景信息,请参阅 "使用语言标记和标签使 RDF 更易于阅读";有关空白节点(Blank Nodes and Why They're Useful)的更多信息,请参阅 "空白节点及其有用性"(如上文示例数据中显示的d:id4 节点);有关数据类型以及 Turtle 如何表示数据类型的更多信息,请参阅第 5 章。
下面是我们的简单查询、
# filename: ex408.rq
SELECT ?s ?o
WHERE
{ ?s ?p ?o }下面是 ARQ 在未指定结果格式的情况下对 ex409.ttl 数据集应用查询 ex408.rq ...
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