Hi,大家好,我是半亩花海。本项目旨在利用 Protégé 软件构建小型本体,探索本体建模的实际应用,特别是应用本体与上层本体之间的关系继承与映射。我们将重点理解应用本体如何继承上层本体的关系,以及如何通过推理机制揭示实例之间的隐含关系。
目录
一、实验目的
(1)了解本体建模的具体应用。
(2)了解应用本体和上层本体之间的关系继承与映射。
(3)了解本体建模后,实例之间隐含的关系是如何推理出来的。
二、实验要求
(1)了解应用本体(本实例中未涉及领域本体)对上层本体中的关系的继承。
(2)利用Protégé软件建立简单的本体模型。
(3)会用Protégé软件推理实例之间隐含的关系。
三、实验原理
图1所示为一个典型的例子。这是镇江金山寺和与之有关的人物关系,以及它们自身的一些属性(如别名、前身)等。
图 1 镇江金山寺和与之有关的人物关系、属性
实例之间存在大量的关系,首先需要定义一个模式层,它包含一些规范和关系。当模式层映射到实例上时,实例间不仅包含它们自身之间的关系,还包含上层模式所定义的关系,如图2所示。
图 2 模式层和实例层的对应关系
通过建立图中的本体模型,可以对实例之间隐含的关系进行推理。
四、环境配置
1. Protégé简介
Protégé是一个本体建模工具软件,由斯坦福大学基于java语言开发,主要用于语义网中本体的构建和基于本体的知识应用,是本体构建的核心开发工具。
2. Protégé的下载
(1)网盘提取
Windows10下Protégé5.5.0,网盘提取即可。
链接:百度网盘 请输入提取码
提取码:rc9m
(2)官网下载
在Protégé官网下载protégé,官网提供历史版本。
1) 点击下图DOWNLOAD NOW
图 3 Protégé官网(1)
2) 点击下图Download for Windows
图 4 Protégé官网(2)
3) 点击上图Older versions
Older versions可以查看Protégé的历史版本,需要简单填写一下姓名和项目描述,帮助其申请经费,就可以下载历史版本。
3. Protégé的安装
我使用的是Protégé-5.5.0的版本,解压缩后,得到以下文件。
图 5 软件压缩包解压后文件
4. Protégé软件界面
图 6 Protégé软件界面
下面要选择安装插件,由于我并不缺少内存,所以就选择全部安装了,每个插件都会有相应的介绍,感兴趣的可以点开自行查看。
图 7 安装插件选择界面
五、实验步骤
1. 建立类及其之间的关系、属性(模式层)
(1)构建类和子类
打开Protégé软件的Entities面板,单击Classes标签(默认情况下用户看到的是改标签的页面),进入类及其层次的编辑页面,构建类和子类。
在Classes页面,右击ow:Thing选项,选择Add subcasses选项,在出现的对话框的Name标签后输入类的名称(人物、地点),然后单击“确定”按钮。
图 8 构建类
在“人物”类上右击,在弹出的快捷菜单中选择Add subclass选项以添加子类,“人物”的子类有“女人”“男人”“禅师”,“地点”的子类有“学校”和“寺庙”。
图 9 构建子类
(2)构建类之间的关系
“人物”与“地点”之间是相互排斥的属性,在“人物”的Disjoint with面板中选择“地点”,即定义了两个类的互相排斥属性。
图 10 构建类之间的关系
(3)建立类的关系属性
编辑完类(class)之后,跳转至Object properties界面编辑类的关系属性。这里添加“曾住”属性。
图 11 添加“曾住”属性
类似地,可以依次添加 “位于”“开山之祖”等属性。
图 12 添加其他属性
(4)为类的关系属性添加约束
例如,为“曾住”添加domain的约束“人物”,添加range约束“地点”。为“父亲”添加domain约束“人物”,添加range约束“男人”等。
图 13 为类的关系属性添加约束
(5)建立类的数据属性
在Data properties界面编辑类的数据属性。例如,先添加“法号”为“人物”的数据属性,在Range中选择Buit im datatypes选项卡,从中选择xsd:string选项来将该属性的类型限制为字符串,如图14所示。类似地,可以依次添加“别号”“生日”“籍贯”等数据属性,如图15所示。
图 14 为“人物”添加“法号”数据属性
图 15 添加其他数据属性
2. 建立实例及其类约束、关系、属性(实例层)
(1)建立实例和实例的类约束
在Entities界面中单击Indviduals标签,建立实例。例如,建立“佛印禅师”实例,然后在其Desciption面板中单击Types中的Class hierachy标签,从类层次中选择“禅师”一切此来对该实例进行类约束。按照此方法,建立其他实例。
图11 建立实例的类约束
(2)建立实例之间的关系
以“佛印禅师”为例,在右侧Property assertions面板的Object property assertions中将“佛印禅师”和“镇江金山寺”通过“曾住”关联起来。
图 16 建立实例之间的关系
(3)定义实例属性的取值
以“苏轼”为例,在右侧Propery assertions面板的Data propery asserions中,为“苏轼”的数据属性“别号”添加“苏东坡、东坡”(由于实例“苏轼”的类约束为“人物”,它自动继承“人物”的数据属性:别号、法号、生日、籍贯)。
图 17 定义实例属性的取值
3. 保存本体
在保存本体时,设置本体格式为RDF/XML Syntax,文件类型为OWL File。
图 18 保存本体
六、实验结果
1. 可视化本体
执行 Windows→Tabs→OntoGraf命令,结果如图19所示。
图 19 本体可视化
2. 本体推理
先在菜单Reasoner中选择一个搜索模型,如下图的HermiT 1.4.3.456,再在此菜单中选择Start reasoner选项,推理得到的信息就会在对应的描述中显示出来。
图20 选择搜索模型及Start reasoner
本例中裴休是男人就是推导出来的,如图21所示。
图 21 推理结果示例
单击图21中“男人”后面的“?”,可以显示此推理的解释,如图22所示。同理,也可以推理出“佛印禅师”相识“苏轼”(“相识”属性的自反性)。
图 22 推理解释示例
七、实验小结
本次实验通过使用Protégé软件构建小型本体,旨在了解本体建模的具体应用及其在实际中的意义。
- 关系继承:我掌握了应用本体对上层本体中的关系继承方法,理解了如何将具体领域概念映射到更为抽象的上层本体中,从而提高本体的一致性和互操作性。
- 模型建立:我利用Protégé软件建立了一个简单的本体模型,创建了类、属性和实例,并定义了它们之间的关系,进一步加深了对本体建模步骤和方法的理解。
- 推理操作:我使用Protégé软件进行了推理操作,成功地推理出实例之间隐含的关系,发现了一些未显性定义的关系,验证了本体推理的强大功能。
通过本次实验,我认识到良好的本体建模不仅能够清晰表达知识,还能通过推理发现潜在的知识关系,从而为实际应用提供支持。这为我今后进一步研究和应用本体奠定了基础。