关于 "xsd:date" 的警告

Warning about "xsd:date"

我正在使用 Jena 解析 "TTL" 格式的文件。我在控制台中看到警告

Lexical form '1896-13-04' not valid for datatype http://www.w3.org/2001/XMLSchema#date

我想知道为什么会出现这个警告。

根据 xsd:date 的 XML 架构规范:

The ·lexical space· of date consists of finite-length sequences of characters of the form: '-'? yyyy '-' mm '-' dd zzzzzz? where the date and optional timezone are represented exactly the same way as they are for dateTime

即日期必须遵循先年后月后日的国际惯例。

从给定的示例来看,您的数据似乎具有美国惯例中的日期,即年、日、月。由于 13 不是有效月份,您会收到警告。

根据规范,您的输入数据无效,因此当您尝试根据该数据进行查询时,可能无法正确处理,例如查找日期在感兴趣的特定日期之前或之后的项目。您没有收到警告的日期可能被错误地解释为日期和月份互换。

您需要更正数据,否则以后会出现问题。如果数据来自 public 数据源,你应该让他们知道他们有数据质量问题,如果数据是由你自己创建的,你需要更正你的数据生成,以便日期遵循规范。