我们可以在OWL限制中使用owl:sameAs吗? [英] Could we use owl:sameAs in an OWL restriction?

查看:194
本文介绍了我们可以在OWL限制中使用owl:sameAs吗?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

例如,我有3个班级:羊群,鸟类,速度.我还有两个属性:hasMember(域为Flock,范围为Bird)和hasAttribute(域为Bird,范围为Velocity).现在,我想向Flock类添加一个EquivalentClass限制作为定义.让我们考虑一个非常简单的定义:在一个群中,所有鸟类都具有相同的速度.如何在OWL中表达这一点?

For example, I have three classes: Flock, Bird, Velocity. I also have two properties: hasMember (the domain is Flock, range is Bird), and hasAttribute (the domain is Bird, and the range is Velocity). Now I want to add a EquivalentClass restriction to Flock class as the definition. Let consider a very simple definition: in a flock, all birds have the same velocity. How to express this in OWL?

推荐答案

警告:该答案实际上是错误的,请查看评论以了解原因.

Warning: this answer is in fact incorrect, please look at the comments to see why.

对于问题我们可以在OWL限制中使用owl:sameAs吗?"答案是否定的,不是在OWL(2)本体中.但是,您可以在OWL Full本体(即根据OWL基于RDF的语义来解释的RDF图)中做任何您想做的事情.但是,这与您想对鸡群中的鸟的速度说些什么的问题的细节无关.

To the question "Could we use owl:sameAs in an OWL restriction?" the answer is no, not in an OWL (2) ontology. However, you can do whatever you like in an OWL Full ontology (i.e., an RDF graph interpreted according to the OWL RDF-based semantics). Yet, this is irrelevant to the details of your question where you want to say something about the velocity of the birds in a flock.

在OWL 2 DL的限制内,您可以找到解决问题的方法.引入属性flockVelocity,并使属性链hasMember o hasAttribute成为flockVelocity的子属性.将flockVelocity设置为功能属性,您就完成了.或者,您可以在flockVelocity上定义基数限制.在海龟中:

There is a solution to your problem within the limits of OWL 2 DL. Introduce a property flockVelocity and make the property chain hasMember o hasAttribute a subproperty of flockVelocity. Make flockVelocity a functional property and you're done. Alternatively, you could define a cardinality restriction on flockVelocity. In Turtle:

:hasMember a owl:ObjectProperty;
    rdfs:domain :Flock;
    rdfs:range :Bird .
 :hasAttribute a owl:ObjectProperty; # why not :hasVelocity?
    rdfs:domain :Bird;
    rdfs:range :Velocity .
 :flockVelocity a owl:ObjectProperty, owl:FunctionalProperty;
    owl:propertyChainAxiom (:hasMember :hasAttribute) .

完成.如果您不希望使用OWL DL并拥有完全的OWL完全自由,则可以使用空白节点代替:flockVelocity,这样就不必引入人工属性名称.

Done. If you don't care about being in OWL DL and allow yourself total OWL Full freedom, you could use a blank node instead of :flockVelocity such that you don't have to introduce an artificial property name.

这篇关于我们可以在OWL限制中使用owl:sameAs吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆