本体(Ontology)

article/2025/9/6 16:50:06

      我是在撰写毕业论文中接触到知识表示方面的内容,有时需要理论与实践相结合,关于这方面的理论知识学习,除了网页资料、书籍、另外推荐一个网站:熊猫学术(https://sc.panda321.com/),可以查阅很多相关的学术论文,阅读确实能够对实践提供一些思路。


介绍

      在计算机领域,本体可以在语义层次描述知识,是描述某个学科领域知识的一个通用概念模型,这个概念模型包含了某个学科领域内的基本术语和术语之间的关系(或称为概念以及概念之间的关系)。—(这句话可以好好反复理解一下

      依据本体的层次和领域依赖度,本体可被划分为四类:顶层本体、领域本体、任务本体和应用本体。其中领域本体研究的是特定领域内概念及概念之间的关系

      OWL是Web Ontology Language(Web本体语言)的缩写,是W3C推荐的标准本体语言之一,来表示语义网的知识体系。OWL是建立在RDF和RDFS(另外两种本体语言)基础上的,不仅有类和实例的词汇表示,还增加了更多关系的表示。OWL提供快速、灵活的数据建模能力,并且支持高效的自动推理。OWL自身被分为三种子语言:OWL-lite、OWL DL和OWL Full,其中OWL-lite是OWL最有用的应用。OWL的完整词汇表使用了RDF、RDFS和OWL名称空间中的URI,并且还使用了XML模式(Schema)的文字(literal)定义,创建本体使用的重要的类和属性说明如表所示。

语法含义
owl:ThingOWL里所有对象所属的基类
owl:ClassRDF资源的类
owl:DatatypeProperty所有具有文字(literal)范围的属性的类
owl:ObjectProperty所有具有owl:Class实例范围的属性的类
owl:NamedIndividual概念类的实例
owl:inverseOf定义某个属性的相反关系,如:“父母”的相反关系是“子女”
rdf:about定义资源
rdf:type定义资源的类型
rdfs:subClassOf指定类是另一个类的子类
rdfs:domain指定属性具有指定类的定义域,描述三元组中主语的类型约束
rdfs:range指定属性具有指定类的值域,描述三元组中宾语的类型约束
rdfs:comment提供一个人类可读的有关资源的描述

​      在以上词汇的基础上,对某一领域知识进行形式化描述,构建领域本体。

本体相关的软件、学习资料、案例的下载链接:https://pan.baidu.com/s/1kfvbc3puRieZFlRqD-Zyfw 提取码:3ho3

在这里插入图片描述
另外,一些网页资料可以瞅瞅,如:
本体(Ontology)概述
Apache Jena入门
【语义网】Jena框架简介及实战

构建

(1) Protege

一款基于Java语言开发的本体编辑和本体开发工具

手动建立概念、个体、属性等信息,为概念添加属性断言,利用Protege的插件即可查看概念之间的层次关系。

(2) Ontology API

将数据(概念、个体、属性)整理到excel表中,利用相关方法可以实现本体数据的批量自动填充。

推理工具—Apache jena

Apache Jena(简称Jena)是惠普实验室开发的开放资源,用于构建语义网和链接数据应用程序。Jena是语义Web领域主要的开源框架和RDF三元组库,较好地遵循W3C标准,其功能包括:RDF数据管理、RDFS和OWL本体管理、SPARQL查询处理等。Jena的接口包括RDF API、Ontology API、SPARQL API。Jena具备一套原生存储引擎,可对RDF三元组进行基于磁盘或内存的存储管理;同时可使用不同的应用程序接口(API)与RDF数据进行交互,通过对RDF、RDFS、OWL文件(基于XML语法)的解析和推理,能实现语义信息的检索。构建的领域本体最终可保存为OWL文件,使用Jena完成解析和推理。


http://chatgpt.dhexx.cn/article/riWDGjtb.shtml

相关文章

知识图谱初步学习(一)——本体+Protege新手学习

文章目录 前言(本体详解)1.本体概念2.本体分类3.本体组成4.本体构建方法5.本体构建的原则6.本体应用 一、protege简介二、软件使用步骤1.安装2.使用3.案例 三、问题解决方案汇总 前言(本体详解) 在开始学习知识图谱的过程中&…

本体调研

1.1本体概念 本体是用于描述一个领域的术语集合,其组织结构是层次结构化的,可以作为一个知识库的骨架和基础。 本体不等同于个体,它是相应领域内公认的概念集合。 1.2 本体分类 依照领域依赖程度: (1)顶层本体&…

知识图谱初步学习(零)——本体是什么

知识图谱初步学习(零)——本体是什么 文章目录 知识图谱初步学习(零)——本体是什么前言一、 哲学层面理解二、 引申到语义层面理解三、学术层面四、其他层面- 术语- 语义网 五、本体与类、本源、实体、符号的区别六、用语义三角形…

本体(Ontology)概述

认识本体 本体(Ontology)的概念源自于哲学领域,在哲学中的定义为“对世界上客观事物的系统描述,即存在论”。哲学中的本体关心的是客观现实的抽象本质。而在计算机领域,本体可以在语义层次上描述知识,可以看…

区块链 Vs. 互联网,创新在哪里?

本文转载自共识未来公众号 引言:最近关于区块链革命的提法少了很多,我们很少再听到“区块链即将颠覆互联网”的提法,这似乎也寓意着区块链技术(加密技术)正在进入一个理性发展的阶段,如果按照Gartner的技术…

js提交form表单

【背景】 前段时间将边用边学javascript.pdf书看完了,其中之前最不熟悉的也是这次印象最深刻的就是提交form表单,所以在这里总结一下js提交form表单,以及表单中对应的一些扩展知识O(∩_∩)O~ 【概念】 表单在网页中主要负责数据采集功能;一个表单偶三个基本组成部分&am…

JavaScript笔记-点击button提交form表单

功能如下&#xff1a; 点击购买后&#xff0c;点击确定。 确定调用了一个js函数&#xff0c;提交form表达给后端 代码如下&#xff1a; <div class"modal-footer"><button type"button" class"btn text-white border bg-dark" data-b…

yeild函数

1、把函数变成一个生成器 2、起到延迟的作用&#xff0c;在需要的时候产生结果&#xff0c;节省资源 3、声明一个序列不同的是生成器在不使用的情况下&#xff0c;是不占内存的 def getNum(n):i 0while i < n:print(i)i 1getNum(5)def getNum(n):i 0while i < n:retu…

Python关键字------yeild

文章目录 yeild例子 在阅读python程序源码的时候&#xff0c;发现yeild关键字&#xff0c;产生了疑惑&#xff0c;看了很多博客感觉没有能够讲清楚的。 yeild yeild其实可以理解成return&#xff0c;不够有点区别的是return是不会执行下面的语句&#xff0c;而yeild在满足一定…

join(),sleep() 和 yeild() 方法的区别

目录 1、join() 方法&#xff1a;释放锁 2、sleep() 方法&#xff1a;不释放锁 3、yeild() 方法&#xff1a;不释放锁 1、join() 方法&#xff1a;释放锁 使用场景&#xff1a; 等待调用 join() 方法的线程结束之后&#xff0c;程序再继续执行&#xff0c;一般用于等待异步…

C#中关于Task.Yeild()的探究

在与同事讨论async/await内部实现的时候&#xff0c;突然想到Task.Yeild()这个函数&#xff0c;为什么呢&#xff0c;了解一点C#async/await内部机制的都知道&#xff0c;在await一个异步任务&#xff08;函数&#xff09;的时候&#xff0c;它会先判断该Task是否已经完成&…

python yeild next使用注意事项

关于得带的基本使用方法&#xff0c;可以往上查一下。这里主要记录下在编码中可能遇到的报错&#xff0c;和处理方式。 import timedef func3():for i in range(5):yield iwhile True:a next(func3())print(a)time.sleep(1) 如果使用上面这种取值方式&#xff0c;你会发现会…

Java多线程礼让yeild()和插队join()方法案例

一. yeild()和join()方法 1.yeild():线程礼让&#xff0c;让当前正在执行的线程可能暂停&#xff0c;但不阻塞 2.yeild():当前正在执行的线程可能暂停&#xff0c;也可能不暂停。 3.yeild():是静态方法&#xff0c;而join()是非静态方法 4.join():能…

gitlab artifacts too large

gitlab在打包artifacts遇到&#xff1a; Uploading artifacts as “archive” to coordinator… too large archive 413 error 网上看了很多方案&#xff0c;一般都是说在admin账户的setting下找到CI/CD&#xff0c;把Maximum artifacts size (MB)改大点 当然这是其中一个点哈…

IDEA 解决 artifacts not found 问题

目录 1. 问题2. 解答方法一方法二 1. 问题 部署 Tomcat 时&#xff0c;选择 Edit Configuration 无 Artifact 选项。 2. 解答 方法一 选择 Fix 直接修复即可。 方法二 打开 Project Structure&#xff1b;选择 Aritfacts 选项&#xff1b;点击 号&#xff0c;选择 Web …

jenkins使用Send build artifacts over SSH遇到的坑

在jenkins构建项目后&#xff0c;优势需要把jar等文件复制到其他服务器&#xff0c;如下图&#xff0c;可以使用Send build artifacts over SSH功能。 但是在使用时可能会遇到无法复制成功 可以从以下几方面入手&#xff0c;基本可以解决该问题 1、检查是否配好了目标主机的用…

【论文笔记】Details or Artifacts: A Locally Discriminative Learning Approach toRealistic Image Super-Reso

细节还是伪纹理&#xff1a;真实图像超分辨率的局部判别方法 来自于CVPR2022&#xff0c;作者Jie Liang&#xff0c; Hui Zeng and Lei Zhang 论文地址&#xff1a;https://arxiv.org/abs/2203.09195 Abstract: 目前超分想要优异的纹理信息&#xff0c;那GAN&#xff08;生成…

解析IDEA中的Artifacts配置

1. Artifact 2. Artifact名称 3. Artifact类型 4. 输出路径&#xff08;也就是Deployment root部署根目录&#xff09;&#xff0c;项目运行后的输出根目录 5. 输出根目录&#xff0c;即4指定的地址 6. 输出目录下的结构层次 针对指定项目&#xff0c;对应分析 1. 输出根…

idea配置Tomcat时没有Artifacts选项

想要解决没有artifacts选项的问题&#xff0c;首先要配置项目结构。 点击加号&#xff0c;选择web 然后修改地址,编译后的文件将会生成在你修改的文件夹下&#xff0c;点击Apply应用所作的修改&#xff0c;然后点击Create Artifacts 此时idea就会在Artifacts下生成一个Web expl…

idea为web项目添加tomcat并配置Artifacts

背景 有一天聪明的小峰从网上找了一个web项目&#xff0c;但是只有代码没有启动步骤&#xff0c;作为小白的我解决这个问题也不太顺利特此记录一下。 主要解决的问题&#xff1a; 为项目添加tomact 配置Artifacts 引入 jar包 小峰找的项目地址&#xff1a;https://github.com/…