uri - 为什么规范/词汇表的 URI 包含日期信息?

标签 uri rdf vocabulary rfc3986

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

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

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

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

编辑

由于旧的 w3c(以及可能的其他组织)注释仍然存在于语义网络的 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 仍然是正确的(链接是 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.

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

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

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

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

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

今天,一般的智慧是在分配 URI 时“尽可能多地省略”。因此,带有 http://schema.org/Person 类 URI 的 schema.org 非常完美。

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

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

关于uri - 为什么规范/词汇表的 URI 包含日期信息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56498291/

相关文章:

日历的 HTML anchor ?

android - 调用 RECORD_SOUND_ACTION 时如何指定输出文件的文件夹?

url - 将 java.net.URI 转换为 org.eclipse.emf.common.util.URI

Tensorflow 词汇处理器

android - 如何使用getCropAndSetWallpaperIntent?

database - 如何进行 SPARQL 查询以查找属性的最高值?

database - 我可以在 SPARQL 查询中组合本地和远程数据集吗?

java - 从 ANTLR 中的语法规则调用方法?

c++ - 函数成员声明中各部分的名称

ruby - "pythonic"的 Ruby 等价物是什么?