gpt4 book ai didi

owl - 为什么没有使用 rdfs :subPropertyOf? 进行属性类型传播

转载 作者:行者123 更新时间:2023-12-04 19:24:56 26 4
gpt4 key购买 nike

假设我有

:hasParent rdfs:subPropertyOf :hasAncestor 。
:hasAncestor rdf:type owl:TransitiveProperty .

这有一个令人满意的结果,即在给定亲子关系的情况下推断所有真正的祖先关系。但我很惊讶它没有使 :hasParent 也有效传递的负面影响。 p rdfs:subPropertyOf q 不是意味着 p “继承” q 的元属性,包括 a owl:TransitiveProperty

看似不对称,我们用 A rdfs:subClassOf BB :hasFriend C 看到 A :hasFriend C 也因为 一个 rdf:type B。为什么子属性也不会发生这种情况?

最佳答案

Stanislav 已经很好地回答了这个问题。我想在这里强调的是评论中提到的“类的继承”与“属性的继承”不对称的观点。

面向对象

(1) 在面向对象的编程语言中,当类A继承自类 B , 这意味着类 A 的所有实例的集合是类 B 的所有实例集合的子集.而且,因为属性属于特定的类,所以表示类A将具有类 B 的所有属性(IE。类 A继承类 B 的所有属性).

(2) 上课时A有一个属性 c类型 C ,它(或多或少)声明存在关联 c课间AC .

OWL/RDFS

(1) 与 OWL/RDFS 的一个很大区别是属性属于一个类。当我们说 A rdfs:subClassOf B , 我们说集合 AB 的子集.它什么也没说。例如,如果我们有

B a rdfs:Class .
B rdfs:label "Label for class B" .
A a rdfs:Class .
A rdfs:subClassOf B .

A不会“继承”类 B 的标签.

(2) OWL/RDFS 中的属性是在实例之间指定的,不是在类之间。我写了关于 this在我的博客上有详细介绍。当你说 P rdfs:subProperty R这意味着 P 中的个体对集合是 R 中成对个体的子集.

但是功能属性是继承的...

不,他们不是。由于功能属性的语义,它看起来确实如此。如果我们有属性(property)R这是功能性的,这意味着 R 的任务令人满意可以是{(a,1), (b,2)} .也就是说,同一个主题不能链接到 2 个不同的对象。 IE。你不能有 {(a,1), (a,2)} .

现在,如果你有 P rdfs:subPropertyOf R , PR 的子集因此 P也将发挥作用。 IE。如果R = {(a,1), (b,2)} R 的任意子集也将发挥作用。

关于owl - 为什么没有使用 rdfs :subPropertyOf? 进行属性类型传播,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51640829/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com