首页 > 解决方案 > OWL 限制值 vs 仅 vs 完全在 dataProperty

问题描述

假设我们有一个名为 的类A和一个名为的DataPropertyhasRestriction。这些陈述之间有什么区别:

A SubClassOf (hasRestriction value 2)   
A SubClassOf (hasRestriction exactly 2)  
A SubClassOf (hasRestriction only 2) 

标签: owlsemantic-webprotege

解决方案


TL;DR:阅读 AKSW 的评论,它们既好又简洁。

长版: 您的问题是询问如何在 Protégé 中解释类表达式。Protégé 使用 OWL 2 Manchester 语法来描述类,并且 Protégé 假设本体是根据OWL 2 Direct Semantics解释的。如果属性hasRestriction是 Protégé 中的 DataProperty,则它表示hasRestriction表示一组对 ( x , y ),其中x是个体(话语领域的元素),y是数据值(如数字、字符串, 一个约会)。在 Protégé 中,类表达式用于表示个体的集合。

在您提供的语句中,有三个类表达式:

hasRestriction value 2   
hasRestriction exactly 2  
hasRestriction only 2

第一个, ,标识具有值为 2hasRestriction value 2的属性的事物集。因此,如果x属于此类,则 ( x , 2) 属于所表示的。如果是此类的子类,则三元组包含三元组。hasRestrictionhasRestrictionAx rdf:type Ax hasRestriction 2

第二个,hasRestriction exactly 2,标识具有恰好 2 个属性值的事物集hasRestriction。因此,如果x属于此类,则有两个不同的值vw使得 ( x , v ) 和 ( x , w ) 属于hasRestriction表示的内容。如果A是此类的子类,则x rdf:type A三元组包含三元组x hasRestriction _:vx hasRestriction _:w_:v owl:differentFrom _:w(我在这里使用准海龟语法)。

第三个hasRestriction only 2是语法错误,因为如果hasRestriction是数据类型属性,则必须在关键字之后使用数据类型表达式only。例如,hasRestriction only xsd:integer.

在第二种情况下,x类中的给定个人A可能具有该属性的已知值hasRestriction。例如,可能有三元组x rdf:type A, x hasRestriction 1, x hasRestriction 2,在这种情况下,我们知道x1 和 2 作为 的值hasRestriction。此外,如果我们知道x hasRestriction 3,则存在矛盾,因为 1、2 和 3 是三个不同的值,而表达式告诉我们必须正好有两个。


推荐阅读