首页 > 解决方案 > 为什么规范/词汇的 URI 包含日期信息?

问题描述

大多数示例命名空间 URI 似乎在其路径中包含年/月/日的某种组合:

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

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

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

编辑

由于旧的 w3c(以及可能的其他组织)注释仍然存在于语义网络的 SEO 上,因此可能会产生额外的混乱。例如,来自 w3c 用户组的此注释建议在 URI 中使用日期。

可管理性。 以您可以管理的方式发布您的 URI。一种好的做法是在 URI 路径中包含当前年份,这样您就可以每年更改 URI 模式,而不会破坏旧的 URI。

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

标签: urirdfvocabularyrfc3986

解决方案


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

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

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

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

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

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

今天,普遍的看法是在分配 URI 时“尽可能多地省略”。因此,带有类 URI 的 schema.orghttp://schema.org/Person非常完美。

大多数命名空间 URI 似乎在其路径中包含年/月/日的某种组合

这不是真的。如果命名空间 URI 中包含日期,则它可能是 2010 年之前的 W3C URI。大多数命名空间 URI 中没有日期。


推荐阅读