为什么 specifications/vocabularies 的 URI 包含日期信息?

Why do URIs of specifications/vocabularies contain date information?

大多数示例名称空间 URI 似乎在其路径中包含 year/month/day 的某种组合:

rdf: http://www.w3.org/1999/02/22-rdf-syntax-ns#

rdfs: http://www.w3.org/2000/01/rdf-schema#>

当词汇表中包含的概念不完全是临时的时,(对我而言)为什么在 URI 中包含部分创建日期是有意义的并不明显。

编辑

由于旧的 w3c(和可能的其他组织)注释仍然在语义 Web 的 SEO 上处于高位,因此可能会造成额外的混淆。例如,this note from a w3c users group 建议在 URI 中使用日期。

Manageability. Issue your URIs in a way that you can manage. One good practice is to include the current year in the URI path, so that you can change the URI-schema each year without breaking older URIs.

@cygri 仍然是正确的(link 是 2010 年之前的),只是为遇到冲突信息的人们指出这一点。

It's not obvious (to me) why it makes sense to include part of the created date in the URI when the concepts that are included in the vocabularies are not exactly temporal.

这是个坏主意,不应该这样做。

这些命名空间来自 RDF 的早期阶段,当时还不了解围绕语义 Web 的 URI 管理的良好实践。如今,W3C 使用更短且未注明日期的命名空间,例如 http://www.w3.org/ns/csvw# 用于新词汇表,但考虑到已经使用这些命名空间发布的大量数据和工具,更改旧命名空间实际上是不可能的。

那么为什么 W3C 认为包含当时的日期是个好主意?

因为 W3C 在几乎所有的 URI 中都包含日期信息。这是分配 URI 的日期。这是他们确保 URI 唯一且不会意外冲突的方式。因此,所有在 2000 年分配的 URI 都有一个以 /2000/ 开头的路径,所有从 2001 年开始的都以 /2001/ 开头,依此类推。对于“high-value”文档,如 W3C 标准,它们还分配一个短别名,例如 http://www.w3.org/TR/html.

我想当时他们认为词汇表不需要短别名,因为只有机器才能看到这些 URI,而名称空间前缀将用于隐藏它们。

如今,普遍的智慧是在分配 URI 时“尽可能多地省略”。所以,schema.org 和像 http://schema.org/Person 这样的 class URI 非常完美。

Most namespace URIs seem to contain some combination of year/month/day in their path

事实并非如此。如果命名空间 URI 中有日期,则它可能是 2010 年之前的 W3C URI。大多数命名空间 URI 中没有日期。