例如,我有三个类:Flock,Bird,Velocity。我也有两个属性:hasMember(域是Flock,范围是Bird)和hasAttribute(域是Bird,范围是Velocity)。现在我想添加一个EquivalentClass限制到Flock类作为定义。让我们考虑一个非常简单的定义:在一群中,所有的鸟都有相同的速度。如何在OWL中表达这一点?我们可以在OWL限制中使用owl:sameAs吗?
回答
警告:这个答案实际上是不正确的,请看看评论,看看为什么。
问题:“我们可以在OWL限制中使用owl:sameAs
吗?”答案是否定的,不在OWL(2)本体中。但是,您可以在OWL Full本体中执行任何您喜欢的操作(即,根据基于OWL RDF的语义解释的RDF图)。然而,这与你的问题的细节无关,你想谈谈鸡群中鸟类的速度。
在OWL 2 DL的限制范围内,您的问题有一个解决方案。引入财产flockVelocity
并使财产链hasMember o hasAttribute
成为flockVelocity
的子财产。使flockVelocity
成为一个功能属性,你就完成了。或者,您可以在flockVelocity
上定义基数限制。在乌龟:
: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
,这样就不必引入假的属性名称。
谢谢安托万。我尝试了财产链。但是,如果我将flockVelocity作为功能属性运行HermiT,则会发生内部推理错误:“推理期间发生错误:非简单属性'<...#flockVelocity>'或其相反出现在基数限制'ObjectMaxCardinality (1 <...#flockVelocity><...#Velocity>)''“所以我将基数限制添加到Flock类,但它没有帮助。 – deerls
@deerls,请参见[11.2关于公理关闭的限制](https://www.w3.org/TR/owl2-syntax/#The_Restrictions_on_the_Axiom_Closure),“对简单角色的限制”和“对属性层次结构的限制”段落。 –
Aaaah,你是对的,我错了!由于斯坦尼斯拉斯提到的原因,我的本体论不在OWL 2 DL中。但是,有可能通过基数限制来获得期望的结果。让我编辑我的答案。 –
- 1. 如何/我们可以在Cloudant中使用复制时应用“限制”吗?
- 2. 我们可以限制MySQL中表中的行数吗?
- 3. 我们可以在控制器laravel中使用helper吗?
- 4. 我们可以使用itext Android在PDF中绘制PieChart吗?
- 5. 我们可以限制SQL Report Builder中的某些功能吗?
- 6. 我们可以限制luigi任务的吞吐量吗?
- 7. 我们可以限制APScheduler只运行100次吗?
- 8. 我们可以限制后台按钮的功能吗?
- 9. 我们可以使用AJAX和XHTML吗?
- 10. 我们可以使用RadControles在Asp.net MVC中使用吗?
- 11. 我们可以授予在Oracle中查看SELECT权限吗?
- 12. 我们可以在php中创建无限的会话吗?
- 13. 我们可以自动复制* .dll.config吗?
- 14. 现在我们可以在DjEng中使用GAE中的ORM吗?
- 15. 限制人们可以在foswiki中使用的变量数量
- 16. 我们可以在android中使用svg图像吗?如果我们可以使用然后如何在android
- 17. 我们可以在Kotlin中使用infix通用方法吗?
- 18. 我们可以使用语音在iOS中打开应用吗?
- 19. 我们可以在PayPal REST API中使用引用事务吗?
- 20. 我们可以在android应用程序中使用UIAutomator吗?
- 21. 我们可以在angularjs应用程序中使用event.preventDefault()吗?
- 22. 我们可以在C中的数组中使用数组吗?
- 23. 我们可以使用OBD-II端口来控制汽车吗?
- 24. 我们可以在我们的代码中使用@MagicConstant注释吗?
- 25. 我们可以像我们在名称空间中那样使用类名吗?
- 26. 我们可以在我们的html页面中使用Qlikview图表吗?
- 27. 我可以使用CSP将请求限制为https:AND'self'吗?
- 28. 我可以使用Wix IIS扩展来设置IP限制吗?
- 29. 我可以使用IP地址来限制API访问吗
- 30. 我们可以在ANT中使用pom.xml
作为一种解决方法,您可以将'Flock'属性'hasAttribute'声明为域,并编写简单的SWRL规则。 –
谢谢斯坦尼斯拉夫。我知道它可以用规则来表达。我只是想知道,如果只有OWL公理可以做到这一点。 – deerls
OWL是无变量的,也就是说,除非具有可以使用的特定值,否则无法对特定类的所有个体的速度做出声明。因此,SWRL存在。 – AKSW