1 Protégé简介

Protégé是一个本体建模工具软件,由斯坦福大学基于java语言开发的,属于开放源代码软件。软件主要用于语义网中本体的构建和基于本体的知识应用,是本体构建的核心开发工具,最新版本为5.5.0(截至2019年7月)。

Protégé支持中文,能够实现实体关系的中文展示。如下图。

具体来说,Protégé具有以下功能。

类建模。Protégé提供了一个图形化用户界面来建模类(包括概念)和它们的属性以及关系。

实例编辑。根据创建的类型,Protégé会自动产生交互的形式,可以根据类之间的关系获得相应实例的约束,并对实例进行编辑。

模型处理。Protégé有一些插件库,可以定义语义、解答询问以及定义逻辑行为。

模型交换。最终的模型(类、实例、关系、属性等)能以各种各样的格式被保存和加载,包括XML、UML、RDF、OWL等。

2 Protégé的安装

软件到官网https://protege.stanford.edu/products.php直接下载,我们使用的是5.5.0版本,下载后是名为Protege-5.5.0-win.zip的压缩文件,解压缩后,得到以下文件。

直接运行Protege.exe即可。

Protégé是由java开发的,运行时需要java运行时环境,运行时可能需要配置一下java的运行时环境,按照提示进行配置就可以了。

3 软件主要工作tab

打开软件后,可以看到工作区域是由很多tab组成。

Active ontology是显示当前的实体名称,以URI的形式显示,前面是www.semanticweb.org后面跟着主机名(我的主机名称为dell),再后面是默认的根据时间命名实体。

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

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

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

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

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

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

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

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

4 创建一个本体实例

4.1 创建本体

软件打开后,就像大多数软件一样,利用file-new来创建一个本体,Protégé会自己根据默认规则为本体起一个名称,比如我创建的本体名称为:http://www.semanticweb.org/dell/ontologies/2019/6/untitled-ontology-35,然后我们就可以编辑这个本体了。

4.2 建立模型层的数据

本体分为模型层和数据层,模型层主要定义类和类之间的关系。Thing是所有类型的根节点,也就是基类,所有的类型都是从Thing派生出来的,我们建立如图的类型层次结构。

在Classes这个tab页面下,可以看到红色方框标出来的是Add subclass,一个是工具栏直接增加子类,一个是通过右键选择增加子类,比如我们将鼠标点击owl:Thing之后,然后增加子类人物、势力、工具。然后再点击人物,再增加子类文官、武将和皇族,同样操作,增加工具的子类,武器和马匹。

还可以定义类之间的一些约束关系,比如人物和工具是互斥的,选择人物后,在右下方,Disjoint with关系选择工具。表示了人物和工具的互斥关系,这时候,我们点击工具,就会发现,Disjoint with已经自动添加了人物这个类。

4.3 创建实体关系

创建实体之间的关系,在Object Properties这个tab页面。

编辑方法和添加类型的tab页面类似,最顶层的实体关系为owl:topObjectProperty,选择后,点击工具栏的按钮或者右键选择add sub-properties,添加使用、属于和骑三个关系。对于“使用”这个关系,Domains选择人物,Ranges选择武器,代表三元组中主语是人物,谓语是使用,宾语是武器,组成的三元组就是人使用武器。“属于”这个关系,Domains和Ranges分别为人物和势力,“骑”这个关系的Domains和Ranges分别为人物和马匹。

4.4 创建实体属性

创建实体的属性,在Data properties这个tab页面。

三国里面的人物,人名都有一个字,比如一般都说,关羽关云长。关羽就是他的名字,云长是他的字。名字用于自称,字都是别人喊得,表示尊重。

添加属性“字”后,Domains我们选择人物,Ranges选自如图,在Built in datatypes中选择xsd:string,表示“字”的属性值类型是个字符串。

4.5 创建实例

创建本体的实例,在Individuals by class这个tab页面。

在Individuals里面,创建关羽、刘备、诸葛亮、蜀、赤兔马、青龙偃月刀等实例。然后分别编辑这些实例。此处以关羽为例说明对实例的编辑。

首先是确定实例的类型,关羽的类型,选择武将。然后增加实体的关系,骑赤兔马,属于蜀,使用青龙偃月刀等三个关系。最后增加数据属性,字为云长。

这样就确定了关羽这个实例的类型、关系和属性,从而编辑完成关羽这个实例。同样方法,编辑其它实例的类型、关系和属性,如果某项内容空缺,可以不编辑。

4.6 本体关系展示

对于本体的关系信息展示,在OntoGrap这个tab页面。

双击左侧的owl:Thing,在右侧区域会显示本体信息,将展示的信息中,有加号的都双击展开,就会看到整个本体的关系图。红色方框中,是以不同的方式展示关系图,依次是按字母网格展示,径向展示,弹簧展示,垂直树状展示,水平树状展示,垂直方向展示,水平方向展示等。如果将鼠标放到某个信息节点,就会显示该信息节点的详细信息。本例中显示的是“关羽”这个信息点的详细信息。

5 结语

介绍了Protégé的基础知识,并通过一个具体的本体创建过程,将软件的使用做了说明。Protégé作为一个强大的本体编辑工具,还有很多功能,比如推理能力,希望通过介绍,大家能够对Protégé进行简单的操作,并通过不断地实践和练习,能够更深入的理解和使用Protégé。

知识图谱学习与实践(4)——Protégé使用入门的更多相关文章

  1. 知识图谱学习与实践(4)——通过例句介绍Sparql的使用

    通过例句介绍Sparql的使用 1 简介 SPARQL的定义,是一个递归的定义,为SPARQL Protocal and RDF Query Language,是W3C制定的RDF知识图谱标准查询语言 ...

  2. 知识图谱学习与实践(6)——从结构化数据进行知识抽取(D2RQ介绍)

    1 概述 D2RQ,含义是把关系型数据库当作虚拟的RDF图数据库进行访问.D2RQ平台是一个将关系型数据库当作虚拟的.只读的RDF图数据库进行访问的系统.提供了基于RDF访问关系数据库的内容,而无需复 ...

  3. 知识图谱推理与实践 (2) -- 基于jena实现规则推理

    本章,介绍 基于jena的规则引擎实现推理,并通过两个例子介绍如何coding实现. 规则引擎概述 jena包含了一个通用的规则推理机,可以在RDFS和OWL推理机使用,也可以单独使用. 推理机支持在 ...

  4. 知识图谱推理与实践(3) -- jena自定义builtin

    在第2篇里,介绍了jena的The general purpose rule engine(通用规则引擎)及其使用,本篇继续探究,如何自定义builtin. builtin介绍 先回顾builtin为 ...

  5. Atitit learn by need 需要的时候学与预先学习知识图谱路线图

    Atitit learn by need 需要的时候学与预先学习知识图谱路线图 1. 体系化是什么 架构 知识图谱路线图思维导图的重要性11.1. 体系就是架构21.2. 只见树木不见森林21.3. ...

  6. 如何系统学习知识图谱-15年+IT老兵的经验分享

    一.前言 就IT而言,胖子哥算是老兵,可以去猝死的年纪,按照IT江湖猿龄的规矩,也算是到了耳顺之年:而就人工智能而言,胖子哥还是新人,很老的新人,深度学习.语音识别.人脸识别,知识图谱,逐个的学习了一 ...

  7. 知识图谱与机器学习 | KG入门 -- Part1-b 图深度学习

    介绍 我们正在定义一种新的机器学习方法,专注于一种新的范式 -- Data Fabric. 在上一篇文章中,我们对机器学习给出了新的定义: 机器学习是一种自动发现Data Fabric中隐藏的&quo ...

  8. 知识图谱-生物信息学-医学顶刊论文(Briefings in Bioinformatics-2021):生物信息学中的图表示学习:趋势、方法和应用

    4.(2021.6.24)Briefings-生物信息学中的图表示学习:趋势.方法和应用 论文标题: Graph representation learning in bioinformatics: ...

  9. 学习笔记之知识图谱 (Knowledge Graph)

    Knowledge Graph - Wikipedia https://en.wikipedia.org/wiki/Knowledge_Graph The Knowledge Graph is a k ...

随机推荐

  1. python 之 面向对象基础(定义类、创建对象,名称空间)

    第七章面向对象 1.面向过程编程 核心是"过程"二字,过程指的是解决问题的步骤,即先干什么再干什么 基于该思想编写程序就好比在编写一条流水线,是一种机械式的思维方式 优点:复杂的问 ...

  2. ABP之Setting

    介绍 每个应用程序都需要存储一些设置,并在应用程序的某个地方使用这些设置.ABP提供了一个强大的基础设施来存储/检索在服务器端和客户端都可用的应用程序.租户和用户级别设置. 设置是通常存储在数据库(或 ...

  3. Spark学习之路(十三)—— Spark Streaming 与流处理

    一.流处理 1.1 静态数据处理 在流处理之前,数据通常存储在数据库,文件系统或其他形式的存储系统中.应用程序根据需要查询数据或计算数据.这就是传统的静态数据处理架构.Hadoop采用HDFS进行数据 ...

  4. 汇编入门三-CPU工作原理

    本文为读书笔记,个人总结与摘抄自<汇编语言 第二版> 1.CPU从内存中读取数据,首先要获得存储单元的地址. 2.指明进行的操作,如存储或者读写 所以,CPU要进行操作总结为: 1.存储单 ...

  5. bitmap-如何判断某个整数是否存在40亿个整数中?

    有这样一道面试题:现有40亿个整数,如果再给定一个新的整数,怎么判断这个整数是否在这40亿个整数中? 你可能首先会想到用一个set存储,那个新数只需判断是否在set中.但是如果用set存储的话,如果一 ...

  6. 关于起点中文网的一个我自认为是BUG的BUG(花了我一毛三分钱才实验出来的)

    因为最近在学关于网页的东西,所以便有了每看一个网页,总得先看看这个网页的源码的习惯. 突然我就想到了,起点中文网在看小说的界面是不允许复制粘贴,甚至连点右键都不会有反应, 那么如果我查看源码,能否复制 ...

  7. Linux系统:centos7下安装Jdk8、Tomcat8、MySQL5.7环境

    一.JDK1.8 环境搭建 1.上传文件解压 [root@localhost mysoft]# tar -zxvf jdk-8u161-linux-x64.tar.gz [root@localhost ...

  8. 学习 GitHub 有什么好处?

    layout: post title: "学习 GitHub 有什么好处?" date: 2018-04-15 19:20:20 +0800 --- 鸣谢:王顶 老师(河北经贸大学 ...

  9. Java 添加、读取、删除PPT文档属性

    文档属性是一些描述性的信息,它未包含在文件的实际内容中,但提供了有关文件的信息,可用来帮助查找和整理文件.以下示例中将介绍通过Java程序来添加PPT文档属性.读取.删除PPT文档中已有属性的方法. ...

  10. MySQL错误:The user specified as a definer (XXX@XXX) does not exist (1449错误)最简解决方案

    背景:从同事处通过备份和还原备份方法导入mysql数据库,导入成功后启动项目,发现出现以下错误:The user specified as a definer (XXX@XXX) does not e ...