我正在阅读RDF模式1.1建议,其中包括以下内容(重点是添加的):
5.1.2 rdf:Bag rdf:Bag类是RDF‘袋’容器的类。它是rdfs:容器的子类。虽然形式上与rdf:Seq或rdf:Alt没有什么不同,但rdf:袋类通常用于向人类读者表明容器的意图是无序的。 5.1.3 rdf:Seq rdf:Seq类是RDF 'Sequence‘容器的类。它是rdfs:容器的子类。在形式上与rdf:或rdf:Alt没有什么不同,rdf:Seq类通常用于向人类读者表明容器的容器成员属性的数字排序是有意义的。 5.1.4 rdf:备选案文 rdf:Alt类是RDF 'Alternative‘容器的类。它是rdfs:容器的子类。在形式上与rdf:Seq或rdf:没有什么不同,rdf:Alt类通常用于向人类读者表示典型的处理将选择容器的一个成员。容器的第一个成员,即rdf:_1属性的值,是默认的选择.
我试着理解他们每一行的最后一行(用黑体显示)。谷歌也能很好地理解它。但是他们无法在人/逻辑级别上区分所有3个容器()。还有如何在rdf:Seq中维护订单。
为了理解排序,我还尝试使用rdf解析器从rdf文件中读取它们,如下所示:
<rdf:Alt rdf:about="http://eresources.nlb.gov.sg/ID/NLBDM/entity/XYZContainer">
<rdf:li>http://eresources.nlb.gov.sg/ID/NLBDM/resource/c85a5e82-b357-4168-a31e-1c8fd7f46101</rdf:li>
<rdf:li>http://eresources.nlb.gov.sg/ID/NLBDM/vocab/tqS1cM1h</rdf:li>
<rdf:li>http://eresources.nlb.gov.sg/ID/NLBDM/vocab/rQhlIgDw</rdf:li>
<rdf:li>http://eresources.nlb.gov.sg/ID/NLBDM/vocab/AaNRoEP6</rdf:li>
</rdf:Alt>使用rdf:Bag或rdf:Seq或rdf:Alt,都为rdf:li提供了相同的有序Uris。
例如:Www.w3.org/1999/02/22-RDF-语法-ns#1,www.w3.org/1999/02/22-RDF-语法-ns#2,www.w3.org/1999/02/22-RDF-语法-ns#3等等
我想通过明确的例子来理解,如何在不同的场景中以不同的方式使用这些容器,以及什么是维护rdf顺序的特殊条件:Seq。
发布于 2015-03-12 14:48:43
规范还说:
D.2 RDF集装箱 容器词汇表没有特殊的语义条件: RDF假定容器具有的唯一结构是从使用这个词汇表和一般的RDF语义条件中可以推断出什么。这等于知道容器的类型,并对容器中的项进行部分枚举。预期的使用模式是,rdf:Bag类型的东西被认为是无序的,但允许重复的;rdf:Seq类型的东西被认为是有序的,而rdf:Alt类型的东西被认为是一组可供选择的东西,可能带有偏好排序。如果容器是有序类型的,那么容器中项的排序将由容器成员属性的数值排序来表示,这些属性假定为单值。然而,这些非正式条件没有反映在卢旺达国防军的任何正式要求中。
使用rdf:Bag或rdf:Seq或rdf:Alt,都为rdf:li提供了相同的排序Uris。 例如:Www.w3.org/1999/02/22-RDF-语法-ns#1,www.w3.org/1999/02/22-RDF-语法-ns#2,www.w3.org/1999/02/22-RDF-语法-ns#3等等
是的,这些集装箱之间没有形式上的区别。注意,rdf:li不是RDF属性。它是在RDF/XML序列化中使用的一个特殊URI,当从RDF/XML文档中提取三元组时,它们实际上使用了rdf:_n属性,即RDF属性。您可以得到相同的rdf:_n属性序列,因为这是它们在RDF/XML文档中出现的顺序。
对于Bag,订单并不重要,这意味着您忽略了rdf:_i中i的特定值,而只是将它们作为成员来处理。对于Seq,顺序确实很重要,因此您应该注意rdf:_i中I的值。order在Alt中可能很重要;它将取决于应用程序。
我想通过一个明确的例子来理解,如何在不同的场景中以不同的方式使用这些容器,以及什么是维护rdf顺序的特殊条件:Seq。
不同之处在于消费者打算如何处理数据。实际数据并没有真正改变,但目的是:
现在假设我们使用的不是RDF,而是一种带有数组的编程语言。我可以使用数组来表示所有这些结构。不同之处在于使用者如何处理数组。但在形式上,它们都只是数组。
尽管如此,人们似乎并没有那么多地使用这些收藏品。它们没有明确的语义,因此它们没有明确的用例。如果您需要它们,您可以使用它们,但是工具通常不会对它们做什么特别的事情;您可能需要考虑其他的选择。
相关
这些不是重复的问题,但它们是相关的,可能是有用的或有趣的阅读:
D.2 RDF集装箱和D.3 RDF收藏的RDF语义W3C推荐部分也是很好的资源。
https://stackoverflow.com/questions/29001433
复制相似问题