Rdf 使用属性来描述类
我认为可以使用属性来描述rdfs类。然而,就语义而言,这真的是一个很好的实践吗Rdf 使用属性来描述类,rdf,owl,rdfs,Rdf,Owl,Rdfs,我认为可以使用属性来描述rdfs类。然而,就语义而言,这真的是一个很好的实践吗 作为一个例子,考虑到我们有: :Animal a rdfs:Class. :Lion a rdfs:Class. :Lion rdfs:subClassOf :Animal. 现在我们想对所有的狮子说些什么;例如,它们有30颗牙齿并覆盖着毛发: :countOfTeeth a rdf:Property. :Lio
作为一个例子,考虑到我们有:
:Animal a rdfs:Class.
:Lion a rdfs:Class.
:Lion rdfs:subClassOf :Animal.
现在我们想对所有的狮子说些什么;例如,它们有30颗牙齿并覆盖着毛发:
:countOfTeeth a rdf:Property.
:Lion :countOfTeeth "30"^^xsd:Integer.
:coveredWith a rdf:Property.
:Lion :coveredWith :fur.
请注意,我正在声明描述类本身的属性,即,不是它的实例
问题
:Lion
的例子,这些知识是否适用我是从建立词汇的角度讲的。解释在很大程度上取决于应用程序端。因此,我并不需要像使
:Lion
成为匿名限制的子类这样的解决方案。回答您的问题,顺序如下:
:Lion
具有齿数这一事实与该类的任何实例具有的属性无关。没有任何推论可以让每只狮子拥有30颗牙齿,也没有任何证据表明,当添加一只新狮子时,它们的牙齿数量是正确的
在OWL中,您通常会使用不同的建模方法,通过引入属性限制,而不是在类级别公开声明属性。老实说,你的警告让我很困惑:这种事情就是词汇积累
这并不少见,在生物学和医学领域也很常见。那为什么不呢。在OWL2中,它将被称为双关语,即对个人和类使用相同的URI。3)不,它只适用于实例
:Lion
,而不适用于类:Lion:
的个人。或者至少不是通过RDFS或OWL语义。使用OWL类表达式,然后执行:Lion subassof::countOfTeeth value 30
,即使用hasValue
限制作为超类,可以清楚地对个人进行陈述。但是你说你不想要这个。。。