何时使用 rdf:Type 与 rdfs:subClassOf

问题描述 投票:0回答:1

我对本体论和OWL相当熟悉并且一直在使用它们。但我始终没有一个想法,当我试图找到一个好的答案时,总是会出现矛盾。也就是说,何时使用 rdf:Type 与 rdf:subClassOf。

我将 RDF、RDFS 和 OWL 本体绘制为图表,试图理解该模式,并且还阅读了一些解释。让我首先分享一些我制作的图表的链接,以及解释以及为什么它没有对我进行协调。

RDF/RDFS类型图:

RDF/RDFS 类图:

OWL类型图:

OWL班级表:

浏览此文,我发现没有明显的模式可以解释这两个动词的含义。尽管我确实注意到,虽然几乎每个对象都有一个类型,但其中很少有一个对象有一个父类(明确地)。

接下来,当我查找答案时,我得到了很多教程,它们很大程度上将“类型”解释为表示个人。类似的子类化通常被描述为具有被设置的类的子集。因此,例如

cat rdf:subClassOf animal
是有意义的,但对于类型来说,它必须更像
mittens rdf:Type cat
。这一切都很好,但是当我查看上面列出的本体时,这似乎与这个想法不符。

例如,FunctionalProperty 显然不是一个单独的属性,而是一组功能属性(每个对象只能应用一次)。所以人们可能认为它根本没有类型。然而根据模式,FunctionalProperty 是一种 Class 类型,不是 Property 类型,但它是 Property 的子类。为什么?

我的猜测是,个人与集体的解释可能不是一个好的解释。看来它与固有的功能有更多关系?例如,FunctionalProperty 与其父类 Property 具有相同的域和范围,但与其父类型具有不同的域和范围,这只是一个不受限制的类...也许子类继承了子类型所没有的限制?

我还注意到奇怪的事情,有时 subPropertyOf 用于属性,有时使用 subClassOf 。例如,FunctionalProperty 被定义为 Property 的 subClassOf Property,而不是它的 subPropertyOf,这正是我所期望的。

任何帮助我理解何时使用其中一种与另一种的解释将非常感激,谢谢。

rdf owl ontology semantic-web rdfs
1个回答
0
投票

我认为你对继承功能的思考是正确的。

考虑您的

owl:FunctionalProperty
示例。说
owl:FunctionalProperty
是 Class 的类型而不是 Property 的类型,就是说
owl:FunctionalProperty
是 Class 而不是 Property。如果
owl:FunctionalProperty
是一个属性,那么将它用作三重语句中的谓词项是有意义的,对吧?然后,你就可以这样说:

<individualA> owl:FunctionalProperty <individualB>

但是这个三元组没有明确的语义。

由于

owl:FunctionalProperty
是一个类,我们可以说各个实体是该类的成员。例如,我们可以将属性
:hasMother
定义为一种函数属性:

:hasMother rdf:type owl:FunctionalProperty

另一方面,如果

owl:FunctionalProperty
是一个属性,那么这就没有意义。 RDF 中的属性没有成员。只有班级才有成员。

类似地,

owl:FunctionalProperty
是Property的子类,因为它是一类属性(更窄的类),而不是单个属性。

总结一下:

  • owl:FunctionalProperty
    是Property的子类,而不是属性的类型,因为它是属性的类,而不是实际的属性。

  • 我们可以说出以上内容,因为

    owl:FunctionalProperty
    具有实例/成员,即特定的功能属性。类可以拥有这些,但属性不能。此外,使用
    owl:FunctionalProperty
    作为三元组中的主语或宾语是有意义的,但不能用作谓语。这也表明它是一个类而不是一个属性。

希望这是有道理的。

© www.soinside.com 2019 - 2024. All rights reserved.