使用属性来描述 类
Use properties to describe classes
我认为可以使用属性来描述rdfs classes。然而,就语义而言,这真的是一个好习惯吗?
例如,假设我们有:
: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.
请注意,我说的是描述 class 本身的属性,即不是它的实例。
问题
- 我发现这在语法上没有错。对吗?
- 现在语义上:这是一种常见的做法吗?这种建模方式的含义是什么?
- 现在
:Lion
的实例如何,这些知识是否适用?
- 任何标准的 W3C 资源?
请注意,我正在质疑属性的用法以这种方式描述 classes;不是这种关于狮子牙齿和皮毛的建模知识的方式是不是最好的。
编辑
我是从词汇构建的角度来谈的。解释在很大程度上取决于应用程序方面。因此,使 :Lion
成为匿名限制的子 class 之类的解决方案并不是我所需要的。
回答您的问题,顺序为:
这在语法上确实没有任何错误 - 尽管根据您的意图,它可能 语义 不正确(例如:它可能没有说出您想要的它说);
这并不少见——你会经常在分类模型中看到这种东西(例如,在生物或医学领域,如评论中所述)。当然,这并不意味着在 you 想到的任何用例中它都是正确的建模选择;
在 RDFS 中,class :Lion
具有齿数这一事实与任何 实例 的属性无关class 有。没有推论可以使单个狮子有 30 颗牙齿,也没有任何证据表明添加新的狮子时,它们的牙齿数量是正确的。
在 OWL 中,您通常会使用不同的建模方法,通过引入 属性 限制 而不是公然断言 属性 在 class 级别。老实说,你的警告在这里让我感到困惑:这种事情 是 词汇构建。
OWL 2 Primer 是一个好的开始,特别是关于 属性 限制和“双关语”( = 允许重复使用标识符作为 class 和一个人)。
我认为可以使用属性来描述rdfs classes。然而,就语义而言,这真的是一个好习惯吗?
例如,假设我们有:
: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.
请注意,我说的是描述 class 本身的属性,即不是它的实例。
问题
- 我发现这在语法上没有错。对吗?
- 现在语义上:这是一种常见的做法吗?这种建模方式的含义是什么?
- 现在
:Lion
的实例如何,这些知识是否适用? - 任何标准的 W3C 资源?
请注意,我正在质疑属性的用法以这种方式描述 classes;不是这种关于狮子牙齿和皮毛的建模知识的方式是不是最好的。
编辑
我是从词汇构建的角度来谈的。解释在很大程度上取决于应用程序方面。因此,使 :Lion
成为匿名限制的子 class 之类的解决方案并不是我所需要的。
回答您的问题,顺序为:
这在语法上确实没有任何错误 - 尽管根据您的意图,它可能 语义 不正确(例如:它可能没有说出您想要的它说);
这并不少见——你会经常在分类模型中看到这种东西(例如,在生物或医学领域,如评论中所述)。当然,这并不意味着在 you 想到的任何用例中它都是正确的建模选择;
在 RDFS 中,class
:Lion
具有齿数这一事实与任何 实例 的属性无关class 有。没有推论可以使单个狮子有 30 颗牙齿,也没有任何证据表明添加新的狮子时,它们的牙齿数量是正确的。在 OWL 中,您通常会使用不同的建模方法,通过引入 属性 限制 而不是公然断言 属性 在 class 级别。老实说,你的警告在这里让我感到困惑:这种事情 是 词汇构建。
OWL 2 Primer 是一个好的开始,特别是关于 属性 限制和“双关语”( = 允许重复使用标识符作为 class 和一个人)。