重用财产在我自己的OWL本体,但更改域/范围(reuse property in my own ow

2019-10-21 12:50发布

目前我正在创造我自己的本体,其中重用其他本体的条款。

这使我想到一个简单的问题:我想知道,如果它是允许的(或:最佳实践)重新使用现有的条件(例如ObjectProperties)等词汇,但在同一时间改变自己的领域和范围。

换句话说:通过重新定义/在我自己的本体重新声明外部ObjectProperties,我能够重新使用它们。 在同一时间我正在考虑改变其域/范围更具体的班级比原来的域/范围。 更精确地说,我将域/范围改变到原始域/范围的子类。

最主要的原因,我想这样做,这是我想尽可能地重用现有的条款。 此外,我要缩小一些术语的定义。 比如假设有(在外部本体)的属性ex:hasTimestamp 。 这个属性在原有词汇的范围是一个非常通用的类。 现在,在我自己的词汇,我想重新使用这个属性,并在同一时间,我想定义其范围为类time:TemporalEntity从时间本体。 可我就是这样做是通过改变现有的范围定义ex:hasTimestamp财产在我的本体,或者我应该做不同? 例如,通过定义的子属性ex:hasTimestamp ,比如my:hasTimestamp ,然后提供一个更精确的范围定义?

Answer 1:

声明在OWL属性的领域和范围不“限制什么可以被应用到”,而是告诉你一些有关财产的主体和对象。 举例来说,如果你有一个类层次结构,使得人类⊑哺乳动物 ,那么如果你有结构域的人的属性hasAncestor,那么只要你有一个对象的属性断言hasAncestor(X,Y),就可以推断出 人类(X)。 但由于人类⊑哺乳动物 ,这意味着哺乳动物(X)。 所以,每当你看到hasAncestor(X,Y),则可以推断哺乳动物(X)。 这意味着, 哺乳动物 hasAncestor的一个领域。 属性有一个以上的域和范围。

这意味着,如果你“重新声明”在你的本体论的OBJECTPROPERTY,你没有真正“重新声明”就这么多,说明有关它的事情。 然而,这通常不是你应该做的。 通常它更有意义导入decalres你感兴趣的属性的本体论,宣布它的一个子属性 。 由于的领域和范围的工作方式,你自然继承了超性质的领域和范围,你可以声明额外的域,并在您认为合适的范围。

例如,你可能会宣布有关堆栈溢出本体,并声明属性answeredUser,使得answeredUser(X,Y)X是回答用户Y问题的用户。 你可以导入FOAF词汇,并宣布answeredUser⊑FOAF:知道 ,并添加额外的定义域和值域StackOverflowUser。



文章来源: reuse property in my own owl ontology but change domain/range