如何在RDF Schema中声明RDF容器?

时间:2012-09-28 10:52:26

标签: rdf rdfs

在编写RDF模式时,我可以执行以下操作来声明委员会由多个人组成:

<rdfs:Class rdf:ID="Committee" />
<rdf:Property rdf:ID="members">
  <rdfs:domain rdf:resource="#Committee" />
  <rdfs:range rdf:resource="#Person" />
</rdf:Property>

但是,我已经读到,在我将上述个人定义为委员会成员之间存在良好的语义差异,并且只有整个特定人群组成委员会。因此,在这种情况下,应考虑使用RDF容器,例如 rdf:Bag

我的问题是:如何在RDF架构中声明这样一个“人包”?

感谢任何帮助。

1 个答案:

答案 0 :(得分:2)

如果您想声明只有这些人组成委员会,您应该使用Collection,而不是rdf:Bag。 w3schools.com上的RDF教程给出了一个例子:

https://www.w3.org/TR/rdf-schema/#ch_collectionvocab

在RDF架构中,您需要关闭属性“hasMember”或“member”。它的是一个委员会,其范围是一个成员。然后,RDF文件可以描述给定委员会的无限数量的成员。如果在commitee资源中您要指定这些是唯一的memebrs,则使用collection。如果您允许更多成员,请使用rdf:Bag

注意:这并不意味着不可能将“成员包”或“成员集合”定义为财产的范围。您可以查看Web上现有的简单本体(其中有数百个用RDFS编写),并比较它们如何定义类似的概念。