3.学习本体-Property Restrictions

来源:互联网 发布:java面试试题及答案 编辑:程序博客网 时间:2024/06/05 14:35

关系约束(PropertyRestriction,暂且这么翻译吧,毕竟翻译成“属性约束”无论如何是不符合实际的,尽管在字面是这样),主要分为Existential Restrictions and Universal Restrictions.


其中ExistentialRestrictions表达的是存在性约束,即表征某个Class具有某个Property(在这里勉强可以将其翻译成“属性”,但是为了保持一致,还是建议将其理解成“关系”),同时这个Property是作用于指定的目标(Class orIndividual)。那么,我们就可以将Existential Restrictions理解成“To describe classes of individuals that participate in atleast one relationship along a specified property to individuals that are members of a specified class”,即至少存在一个,由此也可以看出,Existential Restrictions描述的是必要条件。


相对应的UniversalRestrictions则表达的是一种完备条件。即一个ClassIndividual通过指定的Property只能与指定的目标Class中的Individual发生关系。它所表征的不仅仅是Existential Restrictions里面的some,而且将其限制到了only。因此它的关键字也因此使用only来表示。那么,我们有“Universal restrictions describe classes of individuals that for agiven property only have relationships along this property to individuals thatare members of a specified class.”。即,存在而且必须是……由此可以看出,Universal Restrictions描述的是完备条件。


至此,貌似事情已经完成了。


可是,细心的人会发现,说好的“充分必要”还没有出现。那么接下来就需要说一下Necessary and Sufficient Conditions。其实对于这一条,并没有被OWL称为一种Restriction,而是将其视为一种Class


Manchester的官方文档中,我们可以找到这一节“Necessary And Sufficient Conditions (Primitive and Defined Classes)”,其在文档的Ch4.10Page54。这一部分讲述的是PrimitiveClassesDefined Classes的区别。“A class that only hasnecessary conditions is known as aPrimitive Class.”这是Manchester官方文档中的定义。它的意思其实很明显,就是对于只存在Existential RestrictionsClass,只能叫Primitive Class,因为它不是完备的。而“A classthat has at least one set of necessary and sufficientconditions is known as a Defined Class.”也就是说,充分必要条件其实是通过A Class表达的,这个Class符合Existential Restrictions(at least one, some),但是这个Restriction的作用对象是necessary and sufficient conditions.由此我们可以理解,Defined Class是符合充分必要条件的。


那么如何通过那么如何通过A Class表征这种约束呢?OWL提供了一种不同寻常的Class,Equivalent Class。在Manchester的官方文档中这样介绍:

Necessary conditionsare simply called Superclasses in Protégé 4.

Necessary and sufficient conditions are called Equivalent classes.


即必要条件,其实说的是一种类似于父类的Class(注意,仅仅是类似,这个Class一般都是有NamedClass作为其父类的,这两个概念是不完全相同的)。而充分必要条件,则是一个与这个Class描述相当的Class,而且它有明确的Properties以及这些Properties分别作用的对象,相当于为这个Class重新描述其定义,而且这个定义是计算机可读的。


要生成一个EquivalentClass,可以使用Protégé的“Edit”菜单中的“Convert to defined class”项,如上图所示。但是使用该菜单项之前,需要确定你要为其生成Equivalent ClassClass被选中,而且已经为其设定好了足够的Existential Restrictions,并且他们在被同时符合的时候足以与该Class等价。


0 0
原创粉丝点击