在《语义Web技术基础》一书中,当切换到RDFS的说明以及必须扩展RDF词汇表(以使其变成本体语言)的原因时,词汇表便引入了容器和集合等功能。但是rdf:Seq
,例如,它们被添加为。
为什么它决定增加之类的东西Seq
,List
,Property
等来RDF和RDFS不是?为什么不rdfs:Seq
呢?
RDF和RDFS的产生有些模糊,因为导致这两个规范背后的设计决策的讨论大部分对公众隐藏。第一个RDF工作组的邮件列表是仅会员列表,这意味着它仅对在W3C拥有会员帐户的人可见。
我可以访问W3历史的这一部分,我可以说Jeen关于为什么有两个命名空间的说法相当不准确(更新:他删除了答案,请参见评论)。从RDF工作组的一开始就存在使用模式语言或其他指定RDF模式或词汇的方式的想法。实际上,RDF数据模型和语法的工作组首先想到了一个单独的工作组将处理与架构相关的规范。RDF架构工作组在RDF模型和语法发布后仅两个月就开始了。
显然,将RDF / RDFS命名空间分成2个的决定是有意的,其中一些被认为是数据模型的组成部分(例如,属性,容器,验证),而另一些则特定于模式描述。在1998年2月24日(非公开)的一封电子邮件中,某位罗恩·丹尼尔(Ron Daniel Jr.)主张为RDF模型和语法以及RDF Schema保留单独的命名空间,但该电子邮件还说可以使用相同的名称空间。命名空间,对于核心模型和RDFS具有一组不同的术语。
1998年8月,对RDF Model&Syntax和RDF Schema的早期草案的公开评论说:“不应将用于定义RDF的术语集分解为RDF和RDFS方案”,但是似乎从未解决过此评论。
在2000年代初后期,当第二个RDF工作组研究一个更清洁的模型时,数据模型核心的术语与RDF架构不可分割的术语之间的区别变得几乎无关紧要。现在,我们保留两个命名空间以实现向后兼容,并且由于历史原因,我们必须向所有人解释它们的存在。
谢谢(你的)信息!我不知道这些名称空间背后的整个争论!我想知道为什么子类rdf:Bag,rdf:Alt,rdf:Seq在rdf名称空间中,而超类rdf:Container是rdfs名称空间。我认为将它们定义在相同的名称空间中会更合理。但是,如果我们将层次结构(超类,子类)视为架构,则可能有意义。
很好的挖掘,我得到了纠正(只是为了证明个人记忆的可靠性如何-至少就我而言:)。我删除了答案。
请注意,在W3C语义Web邮件列表上进行了讨论,其中有关第一个RDF工作组的Dan Brickley提供了有关这两个名称空间的更多历史记录。