Rdf 本体属性之间的平等关系

Rdf 本体属性之间的平等关系,rdf,owl,ontology,rdfs,description-logic,Rdf,Owl,Ontology,Rdfs,Description Logic,我有两个属性,例如“hasColor”和“hasFinish”。我想用本体来表示,在本体类A的情况下,属性“hasColor”和“hasFinish”相等(owl:equivalentProperty)。但在本体类B的情况下,属性“hasColor”和“hasFinish”不相等 我怎样才能做到这一点 一种方法可能是创建“hasColor”和“hasFinish”属性,将类A作为一个范围,并将它们设置为相等。然后创建另一个“hasColor”和“hasFinish”属性,以B类为范围,没有相等的

我有两个属性,例如“hasColor”和“hasFinish”。我想用本体来表示,在本体类A的情况下,属性“hasColor”和“hasFinish”相等(owl:equivalentProperty)。但在本体类B的情况下,属性“hasColor”和“hasFinish”不相等

我怎样才能做到这一点


一种方法可能是创建“hasColor”和“hasFinish”属性,将类A作为一个范围,并将它们设置为相等。然后创建另一个“hasColor”和“hasFinish”属性,以B类为范围,没有相等的关系。但这是正确的方法吗?

让两个属性不相等是什么意思还不完全清楚。默认情况下,两个属性可以是不同的,所以您实际上不必做任何特殊的事情来让它们不相等。不过,如果问题得到澄清,或许可以补充更多有关这方面的信息

这样说并不完全是无足轻重的,例如

∀a、 x。A(A)→ (hasFinish(a,x)和hasColor(a,x))

在猫头鹰,但你可以做到。如果您想对所有类都这样说,那么正如您所指出的,可以使用
owl:equivalentProperty
。现在,当你说
p
r
的等价属性时,你也可以这样说

p&SQQ子条款;r
r&SQQ子部分;p

也就是说,
p
r
中的每一个都是另一个的子属性。在OWL 2中(但不幸的是,不是如Antoine Zimmermann在评论中指出的OWL 2 DL),您可以断言给定的属性是属性链的超属性,例如

HasDather•hasBrother&SqSubsetq;孩子气

也就是说,如果一个人的父亲有一个兄弟,那么这个父亲的兄弟就是这个人的叔叔

还有一个称为角色化的概念,在中有详细描述,它是创建与类相对应的属性的过程,该属性将该类中的每个个体与其自身联系起来。对于类A,将有一个关系RA,它将每个A与自身关联,并且只关联这些实例。如果你再看看像这样的产业链

RA•粗加工

您会注意到它实际上是hasFinish的子属性,其中第一个参数是A。这意味着您可以通过两个子属性断言来说明hasFinish和hasColor对于类A是相同的:

RA•hasColor&sqsubsetq;hasfish
RA•hasFinish&SqSubsetq;哈斯克罗

这些假设是A型个体是这些陈述的主体。如果A实际上是这里的范围,那么您只需使用

∀a、 x。A(A)→ (hasFinish(x,a)⇔hasColor(x,a))
hascool•RA和SQQ子部分;hasfish
hassfinish•RA和SQQ子部分;哈斯克罗

要获取属性RA,需要添加定义

A≡ ∃雷·赛尔夫

你的本体论。在Protégé中,这看起来像:

生成的本体看起来像(在RDF/XML中):


真的
在《海龟》中:

@前缀:。
@前缀rdfs:。
@前缀owl:。
@前缀xsd:。
@前缀rdf:。
:hassfinisha owl:ObjectProperty;
猫头鹰:属性chainaxiom(:R_A:hascaolor)。
:猫头鹰:类;
owl:等价类[a owl:限制;
猫头鹰:真的;
owl:onProperty:R_A
] .
:hascaolor owl:ObjectProperty;
owl:propertyChainAxiom(:R_A:hasfish)。
猫头鹰:本体论。
:R_A owl:ObjectProperty。

当你说它们对于B类不相等时,你的意思是它们不能有相同的值(例如,你不能有
b1 hasFinish x;hasColor x
),或者只是它们不一定有相同的值(例如,
b2 hasFinish x;hasColor y
(允许有
x!=y
)?这两种关系可以是不同的,但仍然有重叠。最重要的是,你可能不要求两个关系是相同的,但事实上,它们可能最终具有相同的扩展。嗨,Joshua,谢谢你的回答,我将研究它以了解更多关于本体论的知识。然而,我意识到我的问题并不清楚。元素属性相等(owl:sameAs构造),而不是等价(owl:equivalentProperty构造)。所以我想说,如果实例是类A,那么属性hasColor和hasFinish是相等的(owl:sameAs)-我将它们视为具有相同含义的属性,但如果这些属性与类B的单个属性一起使用,那么我想将它们视为具有不同含义的不同属性。我认为这可能与owl语法无关?Joshua,回答得很好。但是,请注意,您使用的构造不在OWL2DL中。因此,一些推理者可能无法用它进行推理(例如,佩莱、隐士)。其他推理者可能能够处理这种构造,但只是不完整。user3024710,从你在这里的评论来看,我的印象是你误解了owl:sameAs的概念。事物
x
owl:sameAs
A thing
y
如果
x
y
在所有可能的情况下都是一个事物的可互换名称。“没有上下文相关的samea。@AntoineZimmermann嗯,我一直在努力保持在owl2dl中;你能详细说明哪些部分不在OWL2DL中吗?这是因为财产链中财产的复杂性吗?难道不是吗⊑ hasFather•hasBrother向后?我读过的所有其他东西都显示它是
父亲•兄弟⊑ hasbulf
。我错过什么了吗?