首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >OWL:为什么数据属性不能是InverseFunctionalProperty?

OWL:为什么数据属性不能是InverseFunctionalProperty?
EN

Stack Overflow用户
提问于 2017-04-11 10:53:45
回答 1查看 746关注 0票数 3

我试图创建一个猫头鹰本体论使用蛋白酶。我想使用逆函数属性作为关系数据库中的主键的相似之处。例如,我有一个属性,它有一个唯一的id作为对象,从而标识了该实体,并且不允许其他实体使用该属性的值。

由于对象值字符串,所以它必须是数据属性。但是在Protege中,不能将逆函数特征分配给数据属性。

为什么我不能将数据属性声明为逆函数属性,如果不是这样,我应该如何创建“唯一键”逻辑?

提前谢谢你,

弗兰克

EN

回答 1

Stack Overflow用户

发布于 2017-04-11 16:33:39

对数据类型属性的限制纯粹是由于计算复杂性。没有限制,OWL2DL的逻辑就无法判定。然而,在OWL 2中可以表示唯一键的概念:

代码语言:javascript
复制
ex:key  a  owl:DatatypeProperty .
owl:Thing  owl:hasKey  ( ex:key ) .

然而,这与逆函数性质之间有一个微妙的区别。请考虑以下几点:

代码语言:javascript
复制
ex:this  a  [
    a  owl:Restriction;
    owl:onProperty  ex:prop;
    owl:minCardinality  2;
    owl:onClass  [
        a  owl:Restriction;
        owl:onProperty  ex:key;
        owl:hasValue  1
    ]
] .

如果ex:keyowl:Thing的关键,那么这个本体是一致的。但是,如果ex:key可以是一个逆函数属性,那么这个本体就不一致了。原因在于OWL 2中密钥的工作方式。要想识别某个东西,必须显式地命名它。有几个未命名的事物具有相同的密钥(这里的键是数字1),但是,只要它们没有在本体中显式声明,它们就不会被认为是相等的。然而,对于反函数性质,情况并非如此。因此,我们可以推断所有在属性1上具有ex:key值的东西都是相同的,因此,ex:this不能有属性ex:prop的2个值。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43343900

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档