首页 > 其他分享 >Protege使用教程(基础篇)

Protege使用教程(基础篇)

时间:2023-04-06 13:02:02浏览次数:54  
标签:owl 教程 属性 步骤 Create 基础 点击 Protege protege


此新手入门对应protege3.1.x版本。通过制作一个简单的动物本体,来使大家了解protege建立owl的基础用法。

步骤1 建立新的项目。打开protege,然后会出现对话框,点击Create New Project...,出现Create New Project对话框后,选择OWL Flies(.owl or .rdf)后,点击Finish,而不选Next

Protege使用教程(基础篇)_子类

步骤2 建立类。protege的主页面中会出现,OWL Classes(OWL),Properties(属性),Forms(表单),Individuals(个体),Metedata(元类)这几个标签。我们选择OWL Classes来编辑。在Asserted Hierarchy(添加阶层)中,会有所有类的超类owl:Thing上点击Asserted Hierarchy旁边的Create subclass或者在OWL:Thing,点击右键选择Create subclass。会出现protege自动定义名为Class_1的类。在右边的CLASS EDITOR(类编辑器)的Name选项中,输入Animal来替换自动定义的名字。(建议使用英文,因为下面会用到OWLViz来生成关系图,中文的话会容易出现问题。)

Protege使用教程(基础篇)_子类_02

Protege使用教程(基础篇)_jar_03

步骤3 建立Animal的子类,在Animal点击上右键,选择Create subclass,并按照上述方法将其名字变为Herbivore(素食动物)

Protege使用教程(基础篇)_子类_04

Protege使用教程(基础篇)_jar_05

步骤4然后按照上面的方法,建立OWL:Thing的另一个子类Plant(植物),然后建立Plant的子类Tree()。状态如下图

Protege使用教程(基础篇)_bc_06

步骤5 因为动物和植物是不同的事物,也就是说它们互相具有排他性(owl:disjointWith),我们来定义这个关系。在选中Animal的状态下,点击右下角的Disjoints的第三个按钮,在出现的Add sibling to disjoints(将互为兄弟节点的类设为排他)对话框中,选择Mutually between all siblings。这样动物和植物就有互相排斥·的属性了。

Protege使用教程(基础篇)_bc_07

Protege使用教程(基础篇)_bc_08

步骤6 建立属性。新建一个ObjectProperty(注意不是DataProperty)选择Properties标签,Name改为is_part_of,然后在右下角Transitive前面打上对号,说明这是一个传递性属性。然后建立一个对象属性(owl:ObjectProperty)eat(),在Domain(定义域)中定义该属性的主体的类是Animal。最后再建立一个属性eated(被吃),它是属性eat的逆关系(owl:inverseOf),在右下角Inverser框中选择eat属性。(参照图)

Protege使用教程(基础篇)_bc_09

Protege使用教程(基础篇)_jar_10

Protege使用教程(基础篇)_子类_11

Protege使用教程(基础篇)_bc_12

步骤7 建立一个owl:Plant的子类Branch(树枝),并附加限制条件。在选择Branch的状态下,点击中下方的Asserted Conditions(添加条件)中的第二个按钮(Create restrition )。在弹出的对话框中,选择Restrition中的allValuesFrom,然后点击下方的Insert class...。最后选择Tree,这样我们就定义了类Branch,它是树(Tree)的一部分(is_part_of)。

Protege使用教程(基础篇)_jar_13

Protege使用教程(基础篇)_子类_14

Protege使用教程(基础篇)_jar_15

步骤8 和步骤7一样,建立owl:Plant的子类Leaf(树叶)类。在Asserted Conditions选择is_part_of属性,并在Restrition中的选择allValuesFrom,最后选择属性类Branch(树枝)。这样我们就定义了树叶是树枝的一部分。

Protege使用教程(基础篇)_子类_16

步骤9 定义草食动物。素食动物是动物的子类,而且只吃植物或是植物的一部分(植物和一部分植物的并集,也就是植物)。和步骤7一样Create Restrition对话框中添加如下图的式子。

Protege使用教程(基础篇)_子类_17

步骤10 定义类Giraffe(长颈鹿),它是素食动物,只吃树叶。按照上面的步骤定义,如下图

Protege使用教程(基础篇)_bc_18

步骤11 查看关系图,在菜单中选择Project–>Configure在出现的对话框中,在OWLVizTab前打上对号,就会出新OWLViz的标签。如果在这里出现DOT error的话请参照错误提示的解决办法,然后点击OWLViz标签,选择Show all classes,就可以看到关系图。

Protege使用教程(基础篇)_jar_19

Protege使用教程(基础篇)_子类_20

Protege使用教程(基础篇)_bc_21

步骤12 保存项目。点击这里下载这个项目下载这个项目。解压后用菜单中的File–>Open Project–>解压路经中的Animal.ppjr即可。

Protege使用教程(基础篇)_jar_22

错误提示的解决办法

OWLViz的DOT error

先到到此处下载GraphViz tool,然后安装。在OWLViz设置中指定正确的DOT application路径。默认情况下是(Linux和Unix下的/usr/local/bin , 或者是windows下的C:\Program Files\ATT\GraphViz\bin\DOT.exe) Max OS X到此处下载graphviz 并指定DOTapplication路径:Graphviz软件的路径+/Graphviz.app/Contents/MacOS/dot

The JDBC driver is not on the Classpath或者JDBC driver not found

请确认你的protege的安装目录下是否有driver.jar。没有的话请点击这里下载,然后展开将其中的mysql-connector-java-3.1.12-bin.jar文件,将其复制到protege的安装目录中(注意不是插件目录),然后将它的名字变为driver.jar。如果还是不行,那么请确认你是以protege.exe启动的protege。而不是protege.jar启动的protege。如果是以protege.jar启动的protege,那么还需要设置CLASSPATH。所以请用protege.exe启动试一下。

标签:owl,教程,属性,步骤,Create,基础,点击,Protege,protege
From: https://blog.51cto.com/u_12834811/6172677

相关文章

  • Protege使用教程(推理篇)
    本篇将接着基础篇,在动物本体中,建立狮子类(Lion)和肉食动物类(Carnivore),通过推理得到狮子是肉食动物。通过这个实例来简单了解推理机Racer的用法。基本操作方法在基础篇中有讲解,以下步骤中的操作不清楚的朋友请先看基础篇。点击这里下载到此处的项目,在protege中点击OpenProject打......
  • 2-Java基础语法
    1.注释注释是对代码的解释和说明文字。Java中的注释分为三种:单行注释://这是单行注释文字多行注释:/_这是多行注释文字这是多行注释文字这是多行注释文字_/注意:多行注释不能嵌套使用。文档注释(暂时用不到):/*_这是多行注释文字这是多行注释文字这是多......
  • 深度学习基础入门篇[二]:机器学习常用评估指标:AUC、mAP、IS、FID、Perplexity、BLEU、
    A.深度学习基础入门篇[二]:机器学习常用评估指标:AUC、mAP、IS、FID、Perplexity、BLEU、ROUGE等详解1.基础指标简介机器学习的评价指标有精度、精确率、召回率、P-R曲线、F1值、TPR、FPR、ROC、AUC等指标,还有在生物领域常用的敏感性、特异性等指标。在分类任务中,各指标的计算......
  • Linux系统安装python3.8与卸载教程
    一、安装python解释器1.获取系统版本信息首先,查看Linux系统版本信息:[root@oldboy~]#cat/proc/versionLinuxversion4.18.0-240.1.1.el8_3.x86_64([email protected])(gccversion8.3.120191121(RedHat8.3.1-5)(GCC))#1SMPThuNov1917:20......
  • OpenCV [c++](图像处理基础示例小程序汇总)
    一、图像读取与显示#include<opencv2/opencv.hpp>#include<iostream>usingnamespacecv;usingnamespacestd;intmain(){ stringpath="Resources/lambo.png";//图片的路径名 Matimg=imread(path);//将图片加载后赋值到图像变量img中//if(path.empty()){......
  • 什么是美颜sdk?美颜sdk基础知识、应用场景、关键技术详解
    为了满足用户高端的拍摄需求,美颜技术应运而生。而现在,美颜技术已经不再是简单的滤镜、美白、磨皮等简单的操作,而是通过美颜sdk实现更加高端的美颜效果。本文将详细介绍美颜sdk的基础知识、应用场景以及关键技术。一、美颜sdk基础知识1、什么是sdk?sdk(Software Development Kit)是软......
  • Chapter1 机器学习基础
    机器学习的一些预备知识何为机器学习?我的理解是:机器学习就是从海量的数据中找到这些数据背后所蕴含的规律/意义(提取有用的信息)并利用这些信息来解决实际问题的一门学科。机器学习可以做什么?人脸识别、垃圾邮件分类、产品推荐、手写数字识别等等关键术语根据上述的图片解......
  • Android - 基础知识
     1. 四层架构、五块区域①Linux内核层(硬件驱动)②系统运行库层(C/C++库-特性支持;Android运行时库-Dalvik虚拟机)③应用框架层(API)④应用层(手机上的应用程序)         2.四大组件①Activity活动——应用中所有被用户看到的东西②Service服务—......
  • Mysql数据库基础(2)
    一、关系  将实体与实体的关系,反应到最终数据库表的设计上来:  将关系分成三种:一对一一对多(多对一)多对多  所有的关系都是指的表与表之间的关系。1、一对一  一对一:一张表的一条记录一定只能与另外一张表的一条记录进行对应;反之亦然。  学生表:姓名,性别,年龄,身......
  • TCP/IP和OSI的基础层级关系图,TCP/IP四层模型关系,TCP/IP和HTTP/HTTPS的关系图
    TCP/传输控制协议英文全称TransmissionControlProtocol。IP/网际互连协议英文全称InternetProtocol。tcp和ip是互联网众多通信协议中最为著名的。1.OSI参考模型与TCP/IP的关系计算机网络分层模型OSI七层模型TCP/IP四层模型TCP/IP五层模型应用层应用层应用层......