利用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

相关文章

Three.js构建一个 3D 商品展示空间完整实战项目

《Three.js构建一个3D商品展示空间完整实战项目》Three.js是一个强大的JavaScript库,专用于在Web浏览器中创建3D图形,:本文主要介绍Three.js构建一个3D商品展... 目录引言项目核心技术1. 项目架构与资源组织2. 多模型切换、交互热点绑定3. 移动端适配与帧率优化4. 可

Python 基于http.server模块实现简单http服务的代码举例

《Python基于http.server模块实现简单http服务的代码举例》Pythonhttp.server模块通过继承BaseHTTPRequestHandler处理HTTP请求,使用Threa... 目录测试环境代码实现相关介绍模块简介类及相关函数简介参考链接测试环境win11专业版python

Python利用PySpark和Kafka实现流处理引擎构建指南

《Python利用PySpark和Kafka实现流处理引擎构建指南》本文将深入解剖基于Python的实时处理黄金组合:Kafka(分布式消息队列)与PySpark(分布式计算引擎)的化学反应,并构建一... 目录引言:数据洪流时代的生存法则第一章 Kafka:数据世界的中央神经系统消息引擎核心设计哲学高吞吐

Springboot项目构建时各种依赖详细介绍与依赖关系说明详解

《Springboot项目构建时各种依赖详细介绍与依赖关系说明详解》SpringBoot通过spring-boot-dependencies统一依赖版本管理,spring-boot-starter-w... 目录一、spring-boot-dependencies1.简介2. 内容概览3.核心内容结构4.

python连接sqlite3简单用法完整例子

《python连接sqlite3简单用法完整例子》SQLite3是一个内置的Python模块,可以通过Python的标准库轻松地使用,无需进行额外安装和配置,:本文主要介绍python连接sqli... 目录1. 连接到数据库2. 创建游标对象3. 创建表4. 插入数据5. 查询数据6. 更新数据7. 删除

Jenkins的安装与简单配置过程

《Jenkins的安装与简单配置过程》本文简述Jenkins在CentOS7.3上安装流程,包括Java环境配置、RPM包安装、修改JENKINS_HOME路径及权限、启动服务、插件安装与系统管理设置... 目录www.chinasem.cnJenkins安装访问并配置JenkinsJenkins配置邮件通知

Go语言使用net/http构建一个RESTful API的示例代码

《Go语言使用net/http构建一个RESTfulAPI的示例代码》Go的标准库net/http提供了构建Web服务所需的强大功能,虽然众多第三方框架(如Gin、Echo)已经封装了很多功能,但... 目录引言一、什么是 RESTful API?二、实战目标:用户信息管理 API三、代码实现1. 用户数据

Python yield与yield from的简单使用方式

《Pythonyield与yieldfrom的简单使用方式》生成器通过yield定义,可在处理I/O时暂停执行并返回部分结果,待其他任务完成后继续,yieldfrom用于将一个生成器的值传递给另一... 目录python yield与yield from的使用代码结构总结Python yield与yield

使用Python构建智能BAT文件生成器的完美解决方案

《使用Python构建智能BAT文件生成器的完美解决方案》这篇文章主要为大家详细介绍了如何使用wxPython构建一个智能的BAT文件生成器,它不仅能够为Python脚本生成启动脚本,还提供了完整的文... 目录引言运行效果图项目背景与需求分析核心需求技术选型核心功能实现1. 数据库设计2. 界面布局设计3

深入浅出SpringBoot WebSocket构建实时应用全面指南

《深入浅出SpringBootWebSocket构建实时应用全面指南》WebSocket是一种在单个TCP连接上进行全双工通信的协议,这篇文章主要为大家详细介绍了SpringBoot如何集成WebS... 目录前言为什么需要 WebSocketWebSocket 是什么Spring Boot 如何简化 We