这可以在RDFS中设计单例吗?

时间:2012-08-13 12:21:23

标签: rdf rdfs

我实际上是在尝试创建一个RDFS模型,并想知道是否有办法声明一个类有一个实例。

设计的方案是针对某种图形而我想将单个节点设计为“根”。我应该使用子类还是属性?我知道OWL提供了更多的语义词汇,但我打算保持“基本”。

2 个答案:

答案 0 :(得分:4)

不,你不能在RDFS中这样做。我也不确定这是否有用。只需定义您的类并将单个资源声明为将该类作为其类型。声称没有其他资源具有该类型的好处是什么?

答案 1 :(得分:3)

我的印象是,阅读您的“用例”,您更喜欢功能属性:hasRoot,这样一个东西只能有一个根。正如cygri所说,这不能在纯RDFS中完成,但OWL的简单片段就足够了:

:hasRoot  a  owl:FunctionalProperty .

然后,对于给定的实体x,只能存在单个实体y,以便关系x :hasRoot y成立。然后,如果您有以下数据:

:x  :hasRoot  :y .
:x  :hasRoot  :z .

你可以得出结论:

:y  owl:sameAs  :z .

然而,在大多数情况下,不需要这种推理,只要您的应用程序确保定义了单个根,cygri建议​​的内容就足够简单了。