4

在 W3 OWL 规范中,个体的属性分为两组:数据类型属性和对象属性。定义了对象属性(正如我发现的一篇文章所说):

“对象属性 (owl:ObjectProperty) 关联两个 OWL 类的个体(实例)。

所以本质上,对象属性也可以称为“个体属性”,因为它们不仅指向任何类型的通用对象,它们还专门指向个体。

现在,如果这只是一些随机规范,我会假设作者只是选择了他们的名字很糟糕,但这是 W3 规范,并且专门针对知识存储的规范;我不得不假设人们想到了事物的名称!

因此,我希望这里有人可以解释这个看似奇怪的命名选择。毕竟,您可以将任何规范中的任何东西都称为“ObjectFoo”,因为 Object 是一个超通用术语,但通常人们在命名事物时会使用具体的术语,而不是最不重要的。

是否存在其他情况,其中 ObjectProperty 可以指代个人以外的东西,或者我遗漏的任何其他东西可以解释这一点?

4

3 回答 3

7

术语“ObjectProperty”(很可能)是为了将其与“DatatypeProperty”区分开来的,因为后者只能具有(数据类型化的)文字值,而不是完整的对象。是的,不仅仅是个体可以是 ObjectProperty 的值,类也可以是它们的值——尽管如果你这样做,你的本体不再是有效的 OWL DL 而是变成 OWL Full。但从建模的角度来看它是有效的。

于 2012-10-30T07:24:53.600 回答
3

我的回答也是对 Jeen 的评论。OWL DL 和 OWL Full 是两种不同的语言,具有不同的(甚至是不相交的)抽象语法。OWL DL 语法是根据其结构规范定义的。OWL 完整的语法是 RDF。OWL 的结构规范甚至不包含任何 RDF 三元组。

现在,在 OWL DL 中,将两个类与一个对象属性相关联是无效的。对象属性只能关联owl:Thing. 它们也不能关联文字、属性、本体或数据类型。如果你调用这个概念IndividualProperty,你会在命名上造成不一致,因为DatatypeProperty这并不意味着与数据类型相关的属性。它是与文字相关的属性。所以一个更好的名字会是ClassProperty。或者您必须将两者都更改为DatatypePropertyand 。ObjectPropertyLiteralPropertyIndividualProperty

总而言之,有多种方法可以解决这个问题,工作组选择了获得更多选票的方法。这就是它在标准化小组中的工作方式。

于 2012-11-01T08:55:53.283 回答
1

该名称来自“主谓宾”。这些是连接主体和对象的属性,与仅仅是属性的数据类型属性相反。

于 2014-07-18T23:08:16.710 回答