知识表示 | 利用 Protégé 软件构建小型本体

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é软件构建小型本体,旨在了解本体建模的具体应用及其在实际中的意义。

  1. 关系继承:我掌握了应用本体对上层本体中的关系继承方法,理解了如何将具体领域概念映射到更为抽象的上层本体中,从而提高本体的一致性和互操作性。
  2. 模型建立:我利用Protégé软件建立了一个简单的本体模型,创建了类、属性和实例,并定义了它们之间的关系,进一步加深了对本体建模步骤和方法的理解。
  3. 推理操作:我使用Protégé软件进行了推理操作,成功地推理出实例之间隐含的关系,发现了一些未显性定义的关系,验证了本体推理的强大功能。

通过本次实验,我认识到良好的本体建模不仅能够清晰表达知识,还能通过推理发现潜在的知识关系,从而为实际应用提供支持。这为我今后进一步研究和应用本体奠定了基础。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/48635.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

一起搭WPF界面之MVVM架构的简单搭建

一起搭WPF界面之MVVM架构的简单搭建 1 前言2 创建项目2.1新建项目2.2WPF2.3创建完成 3 MVVM划分3.1 划分逻辑3.2文件夹创建3.3文件创建3.3.1 Views——可在主界面的基础上,划分多个用户控件模块3.3.2 ViewModels——创建数据结构存放的cs文件3.3.3 Models——创建处…

网络安全入门教程(非常详细)从零基础入门到精通_网路安全 教程

前言 1.入行网络安全这是一条坚持的道路,三分钟的热情可以放弃往下看了。2.多练多想,不要离开了教程什么都不会了,最好看完教程自己独立完成技术方面的开发。3.有时多百度,我们往往都遇不到好心的大神,谁会无聊天天给…

用神经网络求解微分方程

微分方程是物理科学的主角之一,在工程、生物、经济甚至社会科学中都有广泛的应用。粗略地说,它们告诉我们一个量如何随时间变化(或其他参数,但通常我们对时间变化感兴趣)。我们可以了解人口、股票价格,甚至…

艺术成分很高的完全自定义的UITabBar(很简单)

引言 在iOS应用开发中,UITabBar是一个非常场景且重要的UI组件。系统为我们提供的UITabBar虽然功能强大,但是在某些情况下,它的标准样式并不能满足我们特定的设计需求,它的灵活性也有一些局限。为了打造更具个性化好的用户友好的交…

显卡驱动程序下载失败的原因及对策

在数字时代,显卡作为电脑的心脏部件之一,其驱动程序的正常运行是保证图形处理性能的关键。然而,不少用户在尝试下载显卡驱动程序时遭遇失败,这不仅影响了日常使用体验,还可能埋下系统不稳定的风险。本文将深入探讨显卡…

Mamba中的Mamba:在标记化Mamba模型中的集中式Mamba跨扫描高光谱图像分类

摘要 https://arxiv.org/pdf/2405.12003 高光谱图像(HSI)分类在遥感(RS)领域至关重要,尤其是随着深度学习技术的不断进步。顺序模型,如循环神经网络(RNNs)和Transformer&#xff0…

java题目之数字加密以及如何解密

public class Main6 {public static void main(String[] args) {// 某系统的数字密码&#xff08;大于0&#xff09;&#xff0c;比如1983&#xff0c;采用加密方式进行传输//定义了一个静态数组int []arr{1,9,8,3};//1.加密//先给每位数加上5for (int i 0; i <arr.length …

随机变量的数学期望

目录 简介 基本概念 数学期望的定义 数学期望的性质 数学期望的应用 计算实例 数学期望在解决哪些具体问题时最为有效&#xff1f; 如何计算两个或多个随机变量的组合概率及其期望值&#xff1f; 1. 计算组合概率 2. 计算期望值 当涉及到两个或多个随机变量的组合时&…

git实操之线上分支合并

线上分支合并 【 1 】本地dev分支合并到本地master上 # 本地dev分支合并到本地master上# 远程(线上)分支合并# 本地dev分支合并到本地master上# 远程(线上)分支合并#####本地和线上分支同步################ #### 远程创建分支&#xff0c;拉取到本地####-远程创建分支&#…

自定义Bean转换工具类

BeanConvertor工具类&#xff1a;简化Java对象转换的利器 在Java开发中,我们经常需要在不同的对象之间转换数据。这可能是因为我们需要将数据从一个层(如数据访问层)转移到另一个层(如服务层或表示层),或者是因为我们需要将外部API的数据结构转换为我们的内部数据结构。这种转…

华为云.云日志服务LTS及其基本使用

云计算 云日志服务LTS及其基本使用 - 文章信息 - Author: 李俊才 (jcLee95) Visit me at CSDN: https://jclee95.blog.csdn.netMy WebSite&#xff1a;http://thispage.tech/Email: 291148484163.com. Shenzhen ChinaAddress of this article:https://blog.csdn.net/qq_28550…

2024最新版虚拟便携空调小程序源码 支持流量主切换空调型号

产品截图 部分源代码展示 urls.js Object.defineProperty(exports, "__esModule", {value: !0 }), exports.default ["9c5f1fa582bee88300ffb7e28dce8b68_3188_128_128.png", "E-116154b04e91de689fb1c4ae99266dff_960.svg", "573eee719…

mysql的索引、事务和存储引擎

目录 索引 索引的概念 索引的作用 作用 索引的副作用 创建索引 创建索引的原则和依据 索引的类型 创建索引 查看索引 删除索引 drop 主键索引 普通索引 添加普通索引 唯一索引 添加唯一索引 组合索引 添加组合索引 查询组合索引 全文索引 添加全文索引 …

构建高效Node.js中间层:探索请求合并转发的艺术

&#x1f389; 博客主页&#xff1a;【剑九 六千里-CSDN博客】 &#x1f3a8; 上一篇文章&#xff1a;【CSS盒模型&#xff1a;掌握网页布局的核心】 &#x1f3a0; 系列专栏&#xff1a;【面试题-八股系列】 &#x1f496; 感谢大家点赞&#x1f44d;收藏⭐评论✍ 引言&#x…

接口测试JMeter-1.接口测试初识

第一章 接口测试初识 1. 接口测试理论基础 “接口测试”一个让人觉得非常高大上的名词&#xff0c;特别是对于刚入门的测试同学而言。随着测试技术不断的深化&#xff0c;“接口测试”出现在我们视野中的频次越来越高。那么接口测试到底是如何做的&#xff1f;接口测试的优势又…

Flowable-SpringBoot项目集成

在前面的介绍中&#xff0c;虽然实现了绘制流程图&#xff0c;然后将流程图存储到数据库中&#xff0c;然后从数据库中获取流程信息&#xff0c;并部署和启动流程&#xff0c;但是部署的流程绘制器是在tomcat中部署的&#xff0c;可能在部分的项目中&#xff0c;需要我们将流程…

<数据集>pcb板缺陷检测数据集<目标检测>

数据集格式&#xff1a;VOCYOLO格式 图片数量&#xff1a;693张 标注数量(xml文件个数)&#xff1a;693 标注数量(txt文件个数)&#xff1a;693 标注类别数&#xff1a;6 标注类别名称&#xff1a;[missing_hole, mouse_bite, open_circuit, short, spurious_copper, spur…

git 提交的进阶操作

cherry-pick cherry-pick 是 Git 中的一种操作,允许你从一个分支中选择特定的 commit,并将其应用到另一个分支。它的主要用途是将特定的更改引入到其他分支,而无需合并整个分支历史。这在修复 bug 或者移植某些功能时特别有用。 cherry-pick 的使用场景 Bug 修复: 例如,你…

Python面试宝典第16题:跳跃游戏

题目 给你一个非负整数数组 nums &#xff0c;你最初位于数组的第一个下标 &#xff0c;数组中的每个元素代表你在该位置可以跳跃的最大长度。判断你是否能够到达最后一个下标&#xff0c;如果可以&#xff0c;返回 true。否则&#xff0c;返回 false。 示例 1&#xff1a; 输…