为什么要使用rdf:Seq而不是rdfs:Seq?

4
在《语义Web技术基础》一书中,当它涉及到对RDFS的解释以及为何需要扩展RDF词汇(使其变成本体语言)时,像容器和集合这样的特性被引入了词汇。但是它们被添加为rdf:Seq。为什么决定将SeqListProperty等添加到RDF而不是RDFS中?为什么不使用rdfs:Seq
1个回答

3
RDF和RDFS的起源有些模糊,因为导致这两个规范背后的设计决策的讨论大多对公众隐藏。第一个RDF工作组的邮件列表是仅限成员的列表,这意味着只有在W3C拥有成员账户的人才能看到。
我可以访问这部分W3历史,我可以说 Jeen's account关于为什么会有两个名称空间的解释相当不准确(更新:他已删除回答,请参见评论)。拥有模式语言或其他指定RDF模式或词汇表的方式的想法从RDF工作组的最初开始就存在了。实际上,一个RDF数据模型和语法的工作组启动时就有一个单独的工作组将处理与模式相关的规范。而RDF Schema工作组则在RDF Model & Syntax工作组之后只有2个月开始。
显然,将RDF/RDFS命名空间拆分成两个的决定是有意为之的,其中一些东西被认为是数据模型的组成部分(例如属性、容器、再现),而其他东西则是特定于模式描述的。在1998年2月24日的电子邮件(不公开),Ron Daniel Jr.提出了保留用于RDF模型和语法以及用于RDF架构的单独命名空间的论点,但该电子邮件也表示可以使用相同的命名空间并针对核心模型和RDFS使用不同的术语集。
1998年8月,《RDF模型和语法》和《RDF模式》的早期草案的一篇公共评论说,“定义RDF的术语集不应该被分成RDF和RDFS模式”,但似乎从未解决这个问题。
在21世纪初期,第二个RDF工作组致力于构建更加清晰的模型时,数据模型中核心术语和RDF模式的不可或缺的术语之间的区别变得不那么重要了。现在我们保留这两个命名空间以实现向后兼容性,并需要解释每个人它们的存在是基于历史原因。

谢谢提供这些信息!我之前并不知道这些命名空间背后的争议。我想知道为什么子类 rdf:Bagrdf:Altrdf:Seq 在 rdf 命名空间中,而超类 rdf:Container 在 rdfs 命名空间中。我认为它们应该在同一个命名空间中定义更合理。但如果我们将层次结构(超类、子类)视为模式,则可能有意义。 - Sara
好的,我改正了(这只是表明个人记忆是多么不可靠 - 至少在我的情况下 :))。我已经删除了我的答案。 - Jeen Broekstra
请注意,W3C语义Web邮件列表上有一次讨论,其中Dan Brickley提供了关于这两个命名空间的更多历史信息(https://lists.w3.org/Archives/Public/semantic-web/2019Jul/0013.html),他曾是第一个RDF工作组的成员。 - Antoine Zimmermann

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接