实践篇(一)本体建模与知识表示

本体(Ontology)通过对于概念(Concept)、术语(Terminology)及其相互关系(Relation, Property)的 规范化(Conceptualization)描述,勾画出某一领域的基本知识体系和描述语言。本文旨在利用protege工具构建特定领域的本体框架并实现对领域知识的描述和初步推理,从而完成对领域知识图谱模式层的构建。

一、protege简介

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

  2. 操作界面

    Active ontology是显示当前的实体名称,以IRI的形式显示,前面是www.semanticweb.org,后面跟着主机名,再后面是默认的根据时间命名实体,可以修改。

    Entities,可以看作是实体的总览,能够看到我们创建实体的一些主要信息,是对实体信息的汇总。

    Classes,是对本体模型中,类型部分的编辑,能够定义类之间的层次关系,相互之间的关系。

    Object properties,对象属性,可以理解为编辑实体外部的关系,也就是实体和实体之间的关系。

    Data properties,数据属性,可以理解为编辑实体内部的属性,用来定义实体本身所具有的属性以及属性值。

    Annotation Properties,标注属性,是w3c定义的一些常用的属性,根据URI可以看到这些属性的具体说明。

    Individuals by class,根据类型创建的实例,用来编辑实例信息,类似于java程序中的对象,要归于某个类别。

    OntoGraf,本体关系图,用来展示我们创建的本体里面各个实体之间的层次关系。

    SPARQL Query,SPARQL查询,使用SPARQL语言,对创建的本体进行查询,获取查询结果。

二、protege建模实例

实例一:Game本体建模

step1 :IRI命名
在这里插入图片描述
step2:创建类(class)
方式一:右键Add Subclasses逐条添加
方式二:选中“Tools”中Create Class Hierarchy批量添加
在这里插入图片描述
类的构建初始化完成后,以“chess”为例,点击右侧“usage”,可以看到一些已定义的公理
在这里插入图片描述
step3:创建关系

  • 创建对象属性(object property)
  • 创建数据属性(data property)

在这里插入图片描述
step4:增加属性描述
在这里插入图片描述

  • Equivalent to:同等数据关联
  • SubPropertyOf:从属关联
  • Domains:该属性(关系)的主语;施事者
  • Ranges:该属性(关系)的宾语;受试者
  • DisjointWith:互斥关联;两个属性没有交集,指同一个类不能同时拥有这两个属性
  • Super PropertyOf:父关联
  • Inverse properties:逆关联

step5(非必须)勾选特性
在这里插入图片描述
属性描述所呈现出的逻辑描述一般被认为是公理,而对于特性的选择则可视为是对推理机制的一种验证。
Functional:函数性,标注该特性说明对象属性只能连接一个个体。
Inverse functional:逆函数性,对于一个给定的个体,最多只有一个个体能通过该属性连接那个个体
Transitive:传递性
Symmetric:对称性,两个个体对称不能具有函数性和逆函数性
Asymmetric:不对称性
Reflexive:自反性,自己和自己相关联
Irreflexive:反自反性

step6 :添加自定义规则
规则一:chess可以安装在任何系统上
【逻辑描述】
![在这里插入图片描述](https://img-blog.csdnimg.cn/2021032112413311.png
在这里插入图片描述

在这里插入图片描述
规则二:创建一个Game的子类为“多人游戏类”,规定凡是Genre为MutiPlayer的,都是“多人游戏类”
在这里插入图片描述
step7:可视化
在这里插入图片描述
step8:保存
可以保存为XML/RDF格式或turtle格式等。下图展示了另存为turtle格式后的代码文件
在这里插入图片描述
step9:使用推理机推理
使用 OWL-DL 描述的本体的一大特点是其可以通过推理机进行处理。推理机的功能主要有两个:

推理类的层级结构(一个类是否为另一个类的子类)
测试一个类的稳定性(是否可能存在实例)
在 protege 中的菜单中选择推理机,执行推理。推理机会给出推理的层级结构,并标红不稳定的类:
在这里插入图片描述

实例二:Movie本体建模

step1 创建类
在这里插入图片描述
step2:创建属性
对象属性:
在这里插入图片描述
数据属性:
在这里插入图片描述
step3:添加实例
在这里插入图片描述
step4:可视化
在这里插入图片描述
step5:文件保存
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值