利用protégé构建简单本体

2023-12-04 13:20
文章标签 简单 构建 本体 prot

本文主要是介绍利用protégé构建简单本体,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在这里插入图片描述

1、构建类

点击 Entities,进入本体编辑界面;
选择 Classes标签,右键点击owl: Thing,选择 Add Subclasses…,在出现的对话框中Name标签后输入类的名字,点击确定;
在 Classes页面点击一个类名,在 Protege右侧 Description部分修改跟该类相关的属性值
在这里插入图片描述

2、构建子类

在”人物“上点击右键,选择Add subclass…;在弹出的对话框中输入子类名称,如”禅师“,点击确定,在Classes界面显示类的层次。如果需要删除某个类,点击该类,再点击红框内图案。
在这里插入图片描述在这里插入图片描述在这里插入图片描述

3、构建类之间的关系

由于不同事物之间具有排他性(owl:disjointWith),于是定义:

①选中“人物”后,在Entities界面右侧Description部分点击DisjointWith后的加号
②在弹出的界面中展开owl:Thing,选择“地点”,这样人物和地点就有互相排斥的属性了
在这里插入图片描述

4、建立对象属性

① 添加属性名

在Entities界面选择Object properties标签,进入对象属性的编辑界面;
在owl:topObjectProperty上点击右键,选择Add Sub-properties…;在弹出的界面中输入属性名称,点击确定即可
在这里插入图片描述
在这里插入图片描述

② 为属性添加domain和range属性值

在Object properties界面选择一个属性例如“曾住”,在Entities界面的右侧Description模块中点击Domain/Range后面的加号,在弹出的界面中选择“人物”,确定后便为“曾住”加了domain/range的约束。
在这里插入图片描述

5、 建立数据属性

①在Entities界面选择Data properties标签,在owl:topDataProperty上点击右键选择Add Sub-properties…,在弹出的界面中输入属性名称,例如“法号”,确定后边建好属性。
②在Data properties界面选择属性“法号”,在Entities界面的右侧Description模块中点击Range后面的加号,在弹出的界面中选择“Built in datatypes”,从中挑选xsd:string,点击确定,即限制该属性的取值范围是字符串
在这里插入图片描述

建立数据属性类似于建立对象属性,区别在于加range约束时不同。

6、建立实例

① 添加实例及其类型

在Entities界面选择Individuals标签,单击Individuals界面的菱形图标,在弹出的界面输入实例名,如“佛印禅师”,点击确定。
在Entities界面的右侧Description模块中点击Types后面的加号,在弹出的界面中选择“Class Hierarchy”,从类层次中选中“禅师”,这样该实例就有了类型约束。
在这里插入图片描述在这里插入图片描述在这里插入图片描述

② 添加实例之间的关系,以“佛印禅师”为例

在Individuals界面选择实例“佛印禅师”,在Entities界面的右侧Property assertions中点击Object property asserions 后面的加号,在弹出的界面中分别输入一个对象属性名字(如:曾住)和一个实例名字(如:镇江金山寺),点击确定,“佛印禅师”与“镇江金山寺”通过“曾住”就有了关联
在这里插入图片描述

③ 添加实例添加属性值

在Individuals界面选择实例“苏轼”,在Entities界面的右侧Property assertions中点击Data property asserions 后面的加号,在弹出的界面中左侧选择数据属性(如“别名”),右侧填写属性值(如“苏东坡、东坡”),点击确定,于是实例“苏轼”的属性“别名”就添加了属性值。
在这里插入图片描述

7、保存本体

save时选择RDF/XML Syntax,点击确定后出现的界面中,文件类型是“OWL File”
在这里插入图片描述

8、可视化

在菜单中选择Windows->Tabs->OntoGraf,出现的界面中,点击加号可以展开,也可以显示线代表的关系名称。
在这里插入图片描述

9、推理机制

在菜单中选择Reasoner,然后选择HermiT,点击Start reasoner,推理出的信息就会在对应的描述中显示出来。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

10、本体映射

  1. 在protégé中构建本体
  2. 将OWL文件解析为本体的三元组数据
  3. 将本体的三元组数据与实体的三元组数据进行知识融合(注意实体消歧,重复关系去重,实体ID冲突等细节问题)
  4. 将全部数据存储在neo4j中

优点:
(1)查询效率高,便于可视化,更容易表达现实的业务场景(2)社区活跃,neo4j是使用率最高的图数据库
缺点:大节点的处理开销很高,更新速度较慢,且无法在neo4j中直接进行知识推理

这篇关于利用protégé构建简单本体的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/453610

相关文章

利用Python编写一个简单的聊天机器人

《利用Python编写一个简单的聊天机器人》这篇文章主要为大家详细介绍了如何利用Python编写一个简单的聊天机器人,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 使用 python 编写一个简单的聊天机器人可以从最基础的逻辑开始,然后逐步加入更复杂的功能。这里我们将先实现一个简单的

使用IntelliJ IDEA创建简单的Java Web项目完整步骤

《使用IntelliJIDEA创建简单的JavaWeb项目完整步骤》:本文主要介绍如何使用IntelliJIDEA创建一个简单的JavaWeb项目,实现登录、注册和查看用户列表功能,使用Se... 目录前置准备项目功能实现步骤1. 创建项目2. 配置 Tomcat3. 项目文件结构4. 创建数据库和表5.

使用PyQt5编写一个简单的取色器

《使用PyQt5编写一个简单的取色器》:本文主要介绍PyQt5搭建的一个取色器,一共写了两款应用,一款使用快捷键捕获鼠标附近图像的RGB和16进制颜色编码,一款跟随鼠标刷新图像的RGB和16... 目录取色器1取色器2PyQt5搭建的一个取色器,一共写了两款应用,一款使用快捷键捕获鼠标附近图像的RGB和16

四种简单方法 轻松进入电脑主板 BIOS 或 UEFI 固件设置

《四种简单方法轻松进入电脑主板BIOS或UEFI固件设置》设置BIOS/UEFI是计算机维护和管理中的一项重要任务,它允许用户配置计算机的启动选项、硬件设置和其他关键参数,该怎么进入呢?下面... 随着计算机技术的发展,大多数主流 PC 和笔记本已经从传统 BIOS 转向了 UEFI 固件。很多时候,我们也

Python中构建终端应用界面利器Blessed模块的使用

《Python中构建终端应用界面利器Blessed模块的使用》Blessed库作为一个轻量级且功能强大的解决方案,开始在开发者中赢得口碑,今天,我们就一起来探索一下它是如何让终端UI开发变得轻松而高... 目录一、安装与配置:简单、快速、无障碍二、基本功能:从彩色文本到动态交互1. 显示基本内容2. 创建链

基于Qt开发一个简单的OFD阅读器

《基于Qt开发一个简单的OFD阅读器》这篇文章主要为大家详细介绍了如何使用Qt框架开发一个功能强大且性能优异的OFD阅读器,文中的示例代码讲解详细,有需要的小伙伴可以参考一下... 目录摘要引言一、OFD文件格式解析二、文档结构解析三、页面渲染四、用户交互五、性能优化六、示例代码七、未来发展方向八、结论摘要

Golang使用etcd构建分布式锁的示例分享

《Golang使用etcd构建分布式锁的示例分享》在本教程中,我们将学习如何使用Go和etcd构建分布式锁系统,分布式锁系统对于管理对分布式系统中共享资源的并发访问至关重要,它有助于维护一致性,防止竞... 目录引言环境准备新建Go项目实现加锁和解锁功能测试分布式锁重构实现失败重试总结引言我们将使用Go作

MyBatis框架实现一个简单的数据查询操作

《MyBatis框架实现一个简单的数据查询操作》本文介绍了MyBatis框架下进行数据查询操作的详细步骤,括创建实体类、编写SQL标签、配置Mapper、开启驼峰命名映射以及执行SQL语句等,感兴趣的... 基于在前面几章我们已经学习了对MyBATis进行环境配置,并利用SqlSessionFactory核

csu 1446 Problem J Modified LCS (扩展欧几里得算法的简单应用)

这是一道扩展欧几里得算法的简单应用题,这题是在湖南多校训练赛中队友ac的一道题,在比赛之后请教了队友,然后自己把它a掉 这也是自己独自做扩展欧几里得算法的题目 题意:把题意转变下就变成了:求d1*x - d2*y = f2 - f1的解,很明显用exgcd来解 下面介绍一下exgcd的一些知识点:求ax + by = c的解 一、首先求ax + by = gcd(a,b)的解 这个

hdu2289(简单二分)

虽说是简单二分,但是我还是wa死了  题意:已知圆台的体积,求高度 首先要知道圆台体积怎么求:设上下底的半径分别为r1,r2,高为h,V = PI*(r1*r1+r1*r2+r2*r2)*h/3 然后以h进行二分 代码如下: #include<iostream>#include<algorithm>#include<cstring>#include<stack>#includ