在编写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架构中声明这样一个“人包”?
感谢任何帮助。
答案 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编写),并比较它们如何定义类似的概念。