选择“Object properties”标签进入对象属性编辑的页面,与“Classes”页面非常类似,只是用主题颜色的不同加以区分。左侧已经有了一个系统默认的“owl:topObjectProperty”属性,点击左上角的按钮或者鼠标右键点击可以创建一个子属性,并在弹出的输入框中输入属性的名称。
我们可以创建一个“主演”的属性,创建完毕后,在右侧的“Description”中点击“Domains”选项右侧的加号按钮,在弹出的菜单中左侧是选择“主演”,右侧是属性对应的类,选择“人物”,然后点击确定按钮将主演和人物关联起来,表示主演的主语一定是某个人物,如图所示。
接下来设置属性的取值范围,点击“Ranges”选项右侧的加号按钮,将“主演”的取值范围设置为“电影”,点击确定即可。
这样我们就完成了一个对象属性的构建,在后续的知识推理中会用到这个属性,如图所示。
3.5 构建数据属性选择“Data properties”标签进入数据属性编辑的页面,在左侧已经有了一个系统默认的“owl:topDataProperty”属性,点击左上角的按钮或者鼠标右键点击可以创建一个子属性,并在弹出的输入框中输入属性的名称。
我们可以创建一个“英雄名”的属性,来表示超级英雄的称呼,创建完毕后,在右侧的“Description”中点击“Range”右侧的加号,并选择“Built in dataypes”选项卡,选择“xsd:string”然后点击确定,将这个数据属性的取值范围限定为字符串,设置完毕之后如图所示。
3.6 构建实例点击“Individuals”选项卡进入实例编辑页面,点击左上角的图标创建一个新的实例,在弹出的菜单中输入实例名称“小罗伯特·唐尼”,点击确定即可完成实例的创建,我们用同样的方法继续创建“斯嘉丽·约翰逊”、“钢铁侠1”、“复仇者联盟1”三个实例。
选中“小罗伯特·唐尼”的实例,在右侧窗口中点击“Types”的加号按钮,在弹出的界面中选择“Class Hierarchy”标签,然后从类中选择“男人”,表示这个实例是属于男人这个类的。
接着,在右侧的“Property assertions”设置窗口下,点击“Object property assertions”右侧的加号按钮,在弹出的菜单中会有两个输入框,左侧需要输入对象属性,右侧输入另外的实体,我们在左侧输入“主演”,右侧输入“钢铁侠1”,点击确定按钮即完成了一个三元组的创建。
之后需要设置实例的数据属性,点击“Data property assertions”右侧的加号界面,在弹出的菜单左侧选择英雄名的属性,然后在右侧填写具体的属性值,表示该人物在电影中的英雄名叫什么,这里我们填入“钢铁侠”并点击确定,最终的设置结果如图所示。
依照同样的操作流程将“斯嘉丽·约翰逊”的属性也设置完成,将“钢铁侠1”的Types设置为“电影”,但是先保留“复仇者联盟1”的type为空状态,看看如何让Protégé对这个实例的所属类进行自动判断,实现知识推理。
3.7 知识推理在顶部菜单中点击“Reasoner”菜单并选择“HermiT”选项,将其变为选中状态,然后再次点击“Reasoner”菜单,会发现“Stare Reasoner”变为了可选择状态,点击该按钮,系统会对知识进行自动推理计算,待计算结束之后,我们选中“复仇者联盟1”的实体,会发现它的Types已经设置为“电影”了,点击右侧的问号图标可以查看到推理的逻辑依据。
如图所示,之前我们定义了小罗伯特·唐尼和斯嘉丽·约翰逊主演了复仇者联盟1,而主演的Range取值范围是电影,所以可以就此推断出复仇者联盟1是一部电影。
3.8 图谱可视化在顶部的“Windows”菜单下选择“Tabs”下的OntoGraf选项,顶部会增加“OntoGraf”菜单,切换到该菜单并点击左侧的类名称,即可在画布中显示类的图标,如果类有子类或者实例,则会在图标上出现一个加号,双击带加号的图标可以下钻展开查看所有的类和实例。鼠标移动到线上,就可以显示这条线代表的关系名称。通过鼠标拖动图标可以很直观的查看到本体之间的关系