Protege教程——创建OWL Properties
这里是Protege教程中一些比较重要的片段,完整教程在http://www.crabone.com/index.php/protege-introduction#more-6
OWL Properties代表了一种关系 relationship,在OWL里,有2种类型的Properties。一种叫Object Properties,代表了individual到individual之间的一种关系。还有一种叫Datatype Properties,代表了individual和基本数据类型的关系,有点像类的属性,比如年龄、身高等。还有一种叫Annotation properties,是属于元数据,数据的数据,可以用来解释Classes、Individual、Object/Datatype Properties。下图以这3种类型,举个例子:


- 命名约定,和Classes一样,虽然没有明文规范,但是最好以一个单词小写开头,后面一个单词首字母大写的方式书写。
- 其次,OWL规范中,Properties也有继承性,比如hasMonther可能就是继承自hasParent,自然,如果2个individual之间存在hasMonther关系,则必定存在hasParent关系。
- 要注意,在继承中,不要把Object Properties和Datatype Properties相互继承,没有意义的。
更为复杂的创建属性方式我们参考了Pizza饼的例子:

看它们的命名,就知道是反了一反,这么做也是为了more powerfull expression,比如,小张是老张的儿子,那么老张是小张的父亲,他们的关系必定存在反关系,是对应的,

但这仅仅是我们人类看这命名之后推断出来的,得让计算机也知道这些关系它们有这么一层含义。所以要用到inverse Properties了,我们先选中hasBase,然后点右边的inverse Properties旁边加号,选择isBaseOf,就可以了,之后我们点isBaseOf会发现,它的inverse Properties已经是hasBase了。
