第 5 章 数据类型和函数数据类型和函数
本作品已使用人工智能进行翻译。欢迎您提供反馈和意见:translation-feedback@oreilly.com
在前面几章中,我们已经看到了数据类型和函数在 SPARQL 查询中的一些用法。这两个主题是重叠的,因为查询经常使用函数来获取数据类型的最大价值。在本章中,我们将全面了解这些主题在 SPARQL 中的作用,以及它们能让你做的事情的范围:
数据类型和查询
20022 "代表的是一个数量、华盛顿特区邮政编码,还是金融服务信息传递的 ISO 标准?如果我们知道它是一个整数,我们就知道它更有可能代表一个数量。另一方面,如果我们知道它是一个字符串,那么它更有可能是一个标识符,如邮政编码、ISO 标准的标识符或零件编号。
在语义网出现的几十年前,存储数据类型元数据是记录语义信息的最早方法之一。知道了关于数据的这些额外信息,就能更好地了解如何处理这些数据,从而构建更高效的系统。
不同的编程语言、标记语言和查询语言提供了不同的数据类型供您选择。万维网联盟(W3C)在制定 XML Schema 规范时,将指定元素和属性数据类型的部分与指定元素结构的部分分开,以防人们想将数据类型规范与结构部分分开使用。数据类型部分被称为 "XML Schema 第 2 部分:数据类型",通常缩写为 "XSD",它比规范的第 1 部分 "结构 "更受欢迎。RDF 使用第 2 部分。或者,用 W3C 的《RDF 概念和抽象语法建议》中更深奥的措辞来说,"RDF 中使用的数据类型抽象与 XML Schema 第 2 部分:数据类型中使用的抽象兼容"。
RDF 图中的节点可以是以下三种情况之一:URI、空白节点或字面意义。如果为字面值指定了数据类型,我们就称其为类型化字面值;否则,就是普通字面值。
警告
万维网联盟(W3C)目前正在讨论是否有可能取消普通字面的概念,而只将xsd:string 作为默认数据类型,这样"this" 和"this"^^xsd:string 的含义就相同了。
根据 SPARQL 规范,以下是 SPARQL 为类型化字面量支持的基本数据类型:
xsd:integerxsd:decimalxsd:floatxsd:doublexsd:stringxsd:booleanxsd:dateTime
从这些数据类型派生出来的其他类型也可用。最重要的派生类型是xsd:date (在 XML Schema 第 2 部分:数据类型规范中,这也是一种原始类型。)顾名思义,它与xsd:dateTime 相似,但它用于不包含时间值的值--例如,"2014-10-13 "而不是 "2014-10-13T12:15:00"。
下面是我们在第 2 章中看到的一些键入数据的示例:
# filename: ex033.ttl @prefix xsd: <http://www.w3.org/2001/XMLSchema#> . @prefix d: <http://learningsparql.com/ns/data#> . @prefix dm: <http://learningsparql.com/ns/demo#> ...
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