基于Protege的知识建模实战

2023-11-13

一.Protege简介、用途和特点
1.Protege简介
Protege是斯坦福大学医学院生物信息研究中心基于Java开发的本体编辑和本体开发工具,也是基于知识的编辑器,属于开放源代码软件。这个软件主要用于语义网中本体的构建,是语义网中本体构建的核心开发工具,下面操作使用版本为5.5.0。

2.Protege用途

  • Protege是一组自由开源的工具软件,用于构建域模型与基于知识的本体化应用程序。
  • Protege提供了大量的知识模型架构与动作,用于创建、可视化、操纵各种表现形式的本体。
  • 可以通过用户定制实现域-友好(领域相关)的支持,用于创建知识模型并填充数据。
  • Protege可以通过两种方式进行扩展:插件和基于Java的API。
  • 相比与其它的本地构建工具而言,Protege最大的好处在于支持中文,在插件上,用OntoGraf可实现中文关系的显示。

3.Protege特点

  • 类建模(Class modeling):Protege提供了一个图形化用户界面来建模类(领域概念)和它们的属性及关系。
  • 实例编辑(Instance editing):从这些类中,Protege自动产生交互式的形式,全用户或领域专家进行有效实例编辑成为可能。
  • 模型处理(Model processing):Protege有一些插件库,可以定义语义、解答询问以及定义逻辑行为。
  • 模型交换(Model exchange):最终的模型(类和实例)能以各种各样的格式被装载和保存,包括XML、UML和资源描述框架RDF。

二.Protege案例
通过简单例子介绍Protege基本操作,包括建立本体、构建类、建立子类、构建类之间的关系、建立对象属性、建立数据属性、建立实例、保存本体、可视化和推理。具体kgexample-v2.owl文件下载参考[2]。

1.建立本体
打开Protege后就是新建本体的界面,如下所示:

2.构建类
在Entities页面,选择Class标签,右键点击owl:Thing,选择增加子类"人物"和"地点"。

3.建立子类
右键点击"人物",然后增加子类"禅师",如下所示:

4.构建类之间的关系
因为人物和地点是不同的事物,即它们相互具有排它性(owl:disjoinWith)。首先选中"人物",在Entities右侧Description点击DisjointWith后的+,在弹出的界面中展开owl:Thing,选择"地点"后确定。

5.建立对象属性
标签Entities->Object properties->右键owl:topObjectProperty->Add Sub-properties->曾住:

为属性添加domain和range属性值,如下所示:

6.建立数据属性
首先Entities->Data properties->owl:topDataProperty->Add Sub-properties->法号,然后选中法号->Description->Range->Built in datatypes->xsd:string:

说明:限制"法号"该属性的取值范围为字符串。

7.建立实例
首先标签Entities->Individuals->点击菱形图标->佛印禅师,然后Entities->Description->Types->Class Hierarchy->禅师。这样该实例就有了类型的约束,如下所示:

添加实例之间的关系,选中"佛印禅师"->Property assertions->Object property assertions->点击±>输入对象属性名称(曾住)->输入实例名称(镇江金山寺)。这样"佛印禅师"和"镇江金山寺"通过"曾住"关联起来,如下所示:

实例添加属性值,选中"苏轼"->Property assertions->Data property assertions->+:

这样就为"苏轼"实例的属性"别名"添加了具体的值,即苏东坡、东坡。

8.保存本体
Ctrl+S保存本体,选择"RDF/XML Syntas"文件格式,保存为kgexample.owl。如下所示:

9.可视化
Windows->Tabs->OntoGraf,如下所示:

10.推理
Reasoner->HermiT->Start reasoner,推理得到的信息将会在对应的描述中黄色背景显示出来。裴休是裴文德的父亲父亲的domain是人物,range是男人,推出裴休是男人的一个实例,如下所示:

对于推导出来的信息,如果想知道为什么被推理机推导出来,可以点击推导出的信息后面的问号,解释的原因会在新的对话框中显示出来。

参考文献:
[1]Protege插件库:https://protegewiki.stanford.edu/wiki/Protege_Plugin_Library
[2]kgexample-v2.owl: https://url39.ctfile.com/f/2501739-934982316-535253?p=2096 (访问密码: 2096)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

基于Protege的知识建模实战 的相关文章

  • 【Neo4j】第 3 章:使用 Pure Cypher 为您的业务赋能

    大家好 我是Sonhhxg 柒 希望你看完之后 能对你有所帮助 不足请指正 共同学习交流 个人主页 Sonhhxg 柒的博客 CSDN博客 欢迎各位 点赞 收藏 留言 系列专栏 机器学习 ML 自然语言处理 NLP 深度学习 DL fore
  • 构建知识图谱,让自己更值钱 #CSDN博文精选# #知识图谱# #IT技术#

    大家好 我是小C 又见面啦 文章过滤器 精选大咖干货 助力学习之路 5天20篇CSDN精选博文带你掌握系统化学习方法 专栏将挑选有关 系统化学习方法 的20篇优质文章 帮助大家掌握更加科学的学习方法 在这里 你将收获 快速掌握系统化学习的理
  • Sentence-BERT论文阅读笔记

    目录 1 第一篇论文 Sentence BERT Sentence Embeddings using Siamese BERT Networks 1 1 论文基本信息 1 2 动机 1 3 模型 1 4 实验 1 4 1 训练所用的数据集
  • 圆石说│彭一鸣:运用区块链技术赋能实体旅游产业;微软开放6万项专利包括一个开源区块链项目……

    智联招聘 区块链岗位需求主要集中在一线和新一线城市 智联招聘报告显示 从目前区块链职位的城市分布来看 该领域的岗位需求主要集中在一线和新一线城市中 其中 北京 上海和深圳位于第一梯队 职位占比分别达到24 20 和10 杭州 广州和成都紧随
  • word2vec深入理解及实践

    以前对于word2vec的理解就是通过训练能得到词向量 对应有两种方法 skip gram和CBOW 两者差别其实不大 但关于具体的细节也不是很了解 今天来深入理解并记录一下 理论方面 word2vec是一种基于神经网络的语言模型 是goo
  • 文字图像转换的创新技术

    随着科技的快速发展 人工智能 AI 已经逐渐融入我们的日常生活 而 生成式 AI 更是引领着 AI 领域的新一轮革命 生成式 AI 是一种能够从文字描述中提取信息 并将其转化为图像或其他形式内容的技术 如今 这种技术正在逐渐改变我们与计算机
  • 使用逆属性推理 OWL 本体?

    我正在使用 Protege v4 3 来制作本体 我有一个关于 OWL 本体和 DL 查询的问题 例如 在披萨本体中 http owl cs manchester ac uk co ode files ontologies pizza ow
  • 企业如何为自己的未来做准备?

    如果企业不为未来做准备 就要为出局做准备工作 德鲁克 随着市场需求的不断变化 企业面对着激烈的市场竞争 其该如何为自己的未来做准备 具体企业面临着 建立竞争优势 管理多元化员工队伍 应用新的信息系统与技术 首先 企业在市场竞争中想要建立自己
  • Sparql 查询某个类的子代、孙子等

    我有一个在 Protege 中构建的 owl 文件 什么是 sparql 查询 它将选择一个类的所有子类以及这些子类的所有子类 依此类推 广度优先搜索排序方式 这可能会被回答Sparql 查询子类或等效项 但是这个问题及其答案包含了比您在这
  • 大模型微调技巧:在 Embeeding 上加入噪音提高指令微调效果

    大家好 在去年分享过一篇ACL2022的文章 通过微调前给预训练模型参数增加噪音提高预训练语言模型在下游任务的效果方法 NoisyTune方法在BERT XLNET RoBERTa和ELECTRA上均取得不错的效果 那么通过加入噪音的方式
  • 人工智能知识表示与推理:构建智能系统的认知引擎

    导言 人工智能知识表示与推理是构建智能系统认知引擎的关键组成部分 本文将深入研究知识表示的方法和推理技术 以及它们在解决现实问题和提升智能系统智能水平中的作用 1 知识表示方法 符号表示法 使用符号和逻辑关系来表示知识 例如谓词逻辑 连接主
  • 人工智能智能控制系统:引领未来智能化时代

    导言 人工智能智能控制系统是当今科技领域的热点之一 它不仅在工业生产中发挥着关键作用 也在生活中展现出前所未有的智能化特征 本文将深入探讨人工智能智能控制系统的定义 应用领域和未来发展趋势 深入探讨如何实现智能控制系统与人工智能的有机结合
  • TimeGPT:时序预测领域终于迎来了第一个大模型

    时间序列预测领域在最近的几年有着快速的发展 比如N BEATS N HiTS PatchTST和TimesNet 大型语言模型 llm 最近在ChatGPT等应用程序中变得非常流行 因为它们可以适应各种各样的任务 而无需进一步的训练 这就引
  • QCR 与功能属性

    我有基于主题的问题 SOF OWL 中的爱因斯坦谜题 https stackoverflow com questions 4145706 how to get individual results while solving einstei
  • ACL 2024投递指南

    诸神缄默不语 个人CSDN博文目录 显然写这篇博客是因为我要投ACL了 TL DR ACL 2024是ARR提交制 workshop归workshop 最晚提交时间是2024年2月15号 在此之前可以随时撤回 4月15号出结果 4月20号确
  • OWL 和 DL 推理:为什么爱欲不美丽?

    我创建了一个基于以下内容的本体 Every person is beautiful if one of his her parents is beautiful Aphrodite is a parent of Eros Aphrodite
  • 使用 Neo4j 和 LangChain 集成非结构化知识图增强 QA

    目前基于大模型的信息检索有两种方法 一种是基于微调的方法 一种是基于 RAG 的方法 信息检索和知识提取是一个不断发展的领域 随着大型语言模型 LLM 和知识图的出现 这一领域发生了显着的变化 特别是在多跳问答的背景下 接下来我们继续深入
  • protege 中的自反属性

    This https ufile io rcv9m是我用 protege 5 创建的本体 如果我做cl1 and cl2不相交 那么本体是不一致的 但是如果我取消选中is friend of反身性的 本体论不再不一致 我的本体有什么问题吗
  • RDF和OWL工作流程问题

    我一直在通过 Protege 查看和使用 OWL 我想知道我是否正确理解 工作流程 和它的想法 从头开始构建数据库 使用 Protege 或等效工具为您的数据生成 OWL 本体 将此模式导出为 RDF 使用定义为三元组中的某些元素的类以及目
  • OWL ObjectProperty 在 Protégé 中作为注释加载

    我正在尝试加载ontology http www bbc co uk ontologies wildlife 2010 11 04 shtml在 Prot g 中 但未按预期进行处理 最有问题的是所有对象和数据属性都显示为注释而不是数据属性

随机推荐

  • c++基础--另类的分支结构

    前言 本节课讲的主要知识点是三目运算符和switch语句 同时也是我们分支结构部分的结尾内容 而从第三课开始到第五课 都是讲述分支结构的相关知识点 他们的特点都是相辅相成的 因此建议通读三篇文章 加强理解 同时做题也是必不可少滴 三目运算符
  • git commit --amend用法 合并commit

    反复修改并提交产生大量commit 正常第一次创建a txt提交 后创建b txt提交 会产生多个commit信息 git reset 回退到提交b txt之前 使用git commit amend打开后 操作同vim在其中可修改commi
  • Java静态变量、静态常量、静态方法

    Java静态变量 静态常量 静态方法 静态变量和静态方法都属于静态对象 在外部调用静态方法时 可以使用 类名 方法名 的方式 也可以使用 对象名 方法名 的方式 而实例方法只有后面这种方式 也就是说 调用静态方法可以无需创建对象 1 Jav
  • 程序人生:2023测试求职超千万,软件测试还能不能做?(过来人的建议)

    先说结论 可以 但是岗位要求会越来越高 只有不断的学习 提升自己的技术能力才是王道 测试的前景一定是光明的 岗位也是会越来越多 但是这绝不意味着我们可以在测试的行业里滥竽充数 提升自己的能力才是未来不被淘汰的关键 互联网的高速发展 对软件的
  • C语言宏定义、宏函数、内置宏与常用宏

    前言 在C语言中 变量类型 循环控制 基础语法等与其他高级语言基本无异 而C语言 C 特有的两把双刃剑指针和宏定义 宏函数使得C语言在底层开发中披荆斩棘 无所不能 这两个概念涉及范围比较广 其分支点也比较多 可谓星罗棋布 但这每颗星都足以照
  • JAVA中的成员变量和局部变量的区别

    成员变量与局部变量的区别 类中的位置不同 成员变量 类中 方法外 局部变量 方法内或方法声明上 作用范围不同 成员变量 类中 局部变量 方法中 初始化值的不同 成员变量 有默认值 局部变量 无默认值 练习 说明x和y和z哪个是局部变量哪个是
  • 【C++】红黑树

    文章目录 红黑树的概念 红黑树的性质 红黑树的节点定义 红黑树的结构 红黑树的插入操作 红黑树的验证 红黑树删除 红黑树模拟实现STL中的map与set 改造红黑树 map的模拟实现 set的模拟实现 红黑树的概念 红黑树 是一种二叉搜索树
  • 测试开发知识总结(一)

    本文内容顺序 测试基础理论 测试岗经常被问到的场景题 智力题 测试岗高频算法题 数据库 Linux知识点 常用自动化测试工具 1 Appium 官网 http appium io AppUI自动化测试 Appium 是一个移动端自动化测试开
  • TransUNet: Transformers Make Strong Encoders for Medical Image Segmentation

    TransUNet Transformers Make Strong Encoders for Medical Image Segmentation 发表时间 2021年2月 发表期刊 Arxiv Abstract 医学图像分割是发展医疗保
  • Spring- 上传文件 MultipartFile.transferTo() 报错 FileNotFoundException

    上传文件时 使用MultipartFile transferTo 将文件保存到本地路径 报错 java io IOException java io FileNotFoundException C Users XXXXX AppData L
  • vue单文件组件1(webpack打包)

    一 vue单文件组件开发流程 webpack打包 1 源文件目录结构 2 package json 3 webpack config js HTML Webpack Plugin依据html模板生成一个自动引用你打包后的文件 js或css
  • 【数据结构(C语言描述)】环形队列

    目录 一 基础知识 二 数组实现环队 2 1 初始化 2 2 判断环队是否为空 2 3 判断环队是否为满 2 4 入队 2 5 出队 2 6 取队头元素 2 7 取队尾元素 2 8 销毁环队 三 链表实现环队 3 1 初始化 3 2 判断环
  • STM32学习心得三十二:CAN通信基础知识、原理、配置及实验

    记录一下 方便以后翻阅 主要内容 1 CAN通信基础知识 2 STM32 CAN控制器简介 3 相关实验代码解读 参考资料 STM32中文参考手册 V10 第22章 控制器局域网 bxCAN 实验功能 CAN实验需要两个开发板 系统启动后
  • ctfshow-萌新-web1( 利用intval函数的特性获取敏感数据)

    ctf show 萌新模块的web1关 这一关考察的是intval 函数转换字符串时的特性以及SQL的拼接绕过 这一关直接就给了源码 并提示我们 id 1000 时 就是flag 先分析一下源码 首先是 intval 函数将参数id转换为数
  • PostgreSQL学习研究笔记(一)

    何为PostgreSQL PostgreSQL 是以加州大学伯克利分校计算机系开发的 postgres 版本 4 2 为基础的对象关系型数据库管理系统 PostgreSQL是最初的伯克利代码的开源继承者 任何人都可以以任何目的免费使用 修改
  • T-Kernel Error Code

    参考 tk errno h define E OK 0 Completed successfully define E SYS ERCD 5 0 System error define E NOCOP ERCD 6 0 Coprocesso
  • linux—通配符详解及总结

    本博客主要详解关于linux中常使用的通配符的知识点 主要分为三个步骤 通配符 和 的详细解释 举例截图说明 个人的总结理解 一 通配符 和 的详细解释 ps 因为通配符 中可添加很多变量 所以这里我会简单举出几个例子来说明 其他情况请类比
  • R 和 Rstudio 在线更新

    R 在线更新 最近安装 R 包的时候老是会遇到有些包不适应老版本 无奈还是更新了新的版本 卸载重装就太麻烦了 而且以前的包还需要重新加载 在线更新是最好的方法 可以直接在 Rstudio 中直接更新 直接运行以下命令就行 install p
  • Python还能这样学?独一档的学习路线与方法!两个月就能彻底掌握

    为什么要选择学习Python 我大学本专业当时学的是过时很久的工程物流管理 经常跟学长学姐们聊到他们的就业情况 然后自己也对未来的就业之路产生了很大的怀疑 后面经过一些了解 以及学长学姐的介绍 知道了Python 后面深入的了解了后 我果断
  • 基于Protege的知识建模实战

    一 Protege简介 用途和特点 1 Protege简介 Protege是斯坦福大学医学院生物信息研究中心基于Java开发的本体编辑和本体开发工具 也是基于知识的编辑器 属于开放源代码软件 这个软件主要用于语义网中本体的构建 是语义网中本