Hi,大家好,我是半亩花海。本项目旨在利用 Protégé 软件构建小型本体,探索本体建模的实际应用,特别是应用本体与上层本体之间的关系继承与映射。我们将重点理解应用本体如何继承上层本体的关系,以及如何通过推理机制揭示实例之间的隐含关系。
目录
一、实验目的
二、实验要求
三、实验原理
四、环境配置
1. Protégé简介
2. Protégé的下载
3. Protégé的安装
4. Protégé软件界面
五、实验步骤
1. 建立类及其之间的关系、属性(模式层)
2. 建立实例及其类约束、关系、属性(实例层)
3. 保存本体
六、实验结果
1. 可视化本体
2. 本体推理
七、实验小结
一、实验目的
(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é软件进行了推理操作,成功地推理出实例之间隐含的关系,发现了一些未显性定义的关系,验证了本体推理的强大功能。
通过本次实验,我认识到良好的本体建模不仅能够清晰表达知识,还能通过推理发现潜在的知识关系,从而为实际应用提供支持。这为我今后进一步研究和应用本体奠定了基础。