Protege

Protege
Protege

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

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

步骤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来生成关系图,中文的话会容易出现问题。)

步骤3 建立Animal的子类,在Animal点击上右键,选择Create subclass,并按照上述方

法将其名字变为Herbivore(素食动物)。

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

子类Tree(树)。状态如下图

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

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

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

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

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

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

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

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

错误提示的解决办法

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启动试一下。

protege新手入门推理篇x

protege新手入门推理篇 本篇将接着基础篇,在动物本体中,建立狮子类(Lion)和肉食动物类(Carnivore),通过推理得到狮子是肉食动物。通过这个实例来简单了解推理机Racer的用法。 基本操作方法在基础篇中有讲解,以下步骤中的操作不清楚的朋友请先看基础篇。点击这里下载到此处的项目,在protege中点击Open Project打开项目。 步骤1 在Animal中建立狮子类和肉食动物类。定义这两个类在同一级中,即这两个类为兄弟关系,目的是推理后狮子变为肉食动物的子类。

步骤2 编辑狮子类的属性。这里我们定义狮子只吃素食动物。

步骤3 编辑肉食动物的属性。这里我们需要建立一个eat的子属性maineat(主要吃的是),因为肉食性动物可以吃植物,所以我们无法单纯的靠eat来推理出Lion是不是肉食性动物。这里我们定义肉食性动物maineat的值域是所有的动物。如下图

步骤4 将肉食动物的maineat属性变为充分必要条件。因为在现在的逻辑模型中我们的标准是开 放世界假说,也就是说在没有成功证明某个陈述之前,我们将这个陈述定义为未知的事实而不是假的。 因为我们没有明确指出肉食动物不能主要吃植物,所以肉食动物主要吃植物这个陈述是未知的,而不 是假的。这样就给我们的推理造成了影响,所以我们需要明确指出肉食动物主要吃动物。也就是充分 必要条件。做法是双击NECESSARY(必要条件) NECECSSARY & SUFFICIENT(充分必要条件)中。同样的方法将Animal也拖拽到充分必要 条件中。状态如下图

步骤5 启动RacerPro推理机进行推论。如果没有的朋友请到RacerPro官方网站下载。需要注册一下,然后在发给你邮件中,点击链接就可以下载。安装选默认路径即可,不然还需要设置路径。 步骤6 运用推理机进行推理。选择菜单中OWL–>Classify taxonomy..(也可以点击标签上方的Classify taxonomy..图标)的。这时protege会连接RacerPro,然后推理机将做出推理。这时将推理机弹出的信息关闭,protege中间会出现新的类阶层图,这里狮子类已经变为肉食动物的子类。并在信息对话框中的Lion Moved from Animal to Carnivore。

protege和推理机学习笔记

在protege中使用RacerPro推理机的几个问题: 1.Racerpro版本安装问题 Racerpro官网下载地址: https://www.360docs.net/doc/3113418416.html,/ 本人在官网找了很久,只找到RacerPro的解压版,没找到安装版的;网上说2.x版的RacerPro只能在protege4.x中使用。而我使用的是protege3.x的教程,因此我安装的RacerPro 是1.9版的,下载地址: https://www.360docs.net/doc/3113418416.html,/f/37242347.html 总之如果你使用的是protege3.x的教程,建议使用1.9版的RacerPro。 2.关于推理机结果的保存 当我们学习Protege新手入门(推理篇)这个文档时,后面有个保存推理机结果的步骤,教程上讲的很简单,就是说保存项目,而就是这个步骤搞得我很蛋疼,保存了很久都没保存成功。下面就是我做的一些操作。 当我们使用推理机推理后,protege界面效果如下: 可以看到,右边Inferred Hierarchy中的结构已经改变,那我们就行保存这个结果。这个时候我们发现,右上角有个保存按钮,点击,弹出对话框:

这个对话框保存文件类型一看就不对,所以那个保存按钮很坑爹,根本不是保存结果数据的。 那我们有尝试直接点击 或者file中的save project或者save as project,再打开该项目发现,还是原来的结构,并不是推理机推理后的结构数据。 上面都是我做的一些2b尝试,如果你也这样做了,那也证明你也。。。呵呵 正确保存方法: 选择右边结构中的lion,你会发现右上角出现一个assert select change按钮,单击这个按钮

Protege新手入门(基础篇)

此新手入门对应protege3.1.x版本。通过制作一个简单的动物本体,来使大家了解protege 建立owl的基础用法。 步骤1 建立新的项目。打开protege,然后会出现对话框,点击Create New Project...,出现Create New Project对话框后,选择OWL Flies(.owl or .rdf)后,点击Finish,而不选Next。 步骤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来生成关系图,中文的话会容易出现问题。)

步骤3 建立Animal的子类,在Animal点击上右键,选择Create subclass,并按照上述方法将其名字变为Herbivore(素食动物)。 步骤4然后按照上面的方法,建立OWL:Thing的另一个子类Plant(植物),然后建立Plant的子类Tree(树)。状态如下图

基于Wiki的本体构建方法

第30卷第8期通化师范学院学报Vol.30№8 2009年8月JOURNAL OF T ONGHUA TEACHERS COLLEGE Aug.2009 基于W iki的本体构建方法 于江涛,毛慧珍 (通化师范学院计算机科学系,吉林通化134002) 摘 要:该文提出一种本体构造环境方案,在W iki pedia的基础上加入本体构造用户接口,降低用户构造本体的门槛,使用户在建立概念的同时创建本体.系统以OWL本体形式存储、管理和共享知识,还可以以系统已有概念为字典,对相关本体领域相关文本进行本体学习,自动建立本体. 关键词:本体构建;W iki;用户驱动;本体学习 中图分类号:TP311 文献标志码:A 文章编号:1008-7974(2009)08-0019-02 收稿日期:2009-06-01 作者简介:于江涛(1969-),男,硕士,通化师范学院计算机科学系副教授. 1 引言 本体(Ont ol ogy)是当前人工智能研究领域的热点,是解决知识工程中一些问题的有效方法.它的优势体现在可以用于不同领域内的人之间的交流和知识共享,可用于语义网进行语义判断,还可对知识进行管理.本体的构建是本体应用的前提,一直是个烦琐的过程.传统上为了保证本体的正确性,领域本体的构建都需要领域专家的参与.然而仅靠少数领域专家的参与难以实现领域本体构建的繁重任务[1],更不用说实现本体工程. 仅有少部分人来构建本体,主要存在两个问题:①本体的创建过程不在其用户的完全控制之内,一旦被发现有错误,发现者往往不能自已修改,而要求助于少部分人的本体建造者;②本体使用者不能抓住本体的重要性质,本体不能更好的满足用户的需要.因此,在允许少量误差前提下,我们需要更快捷的方法得到大范围的领域本体.这便需要降低本体产生和维护工具的使用门槛,使更多人的参与进来. 本文提出了基于W iki技术的本体构建方法,用户可以通过模仿自然语言中词汇的出现过程来完成本体的建立,就像任何人都能发明一个自然语言中的词汇,任何人都可以依靠W iki技术建立自己的本体.经过一次次的修改最终成为最完善和满足用户需要的本体.该方法以OWL本体来存储概念,在W iki pedia的基础上加入本体构件的用户接口,用户在建立概念的同时就建立了本体. 2 基于W iki的本体构造方法 设计界面类似于Platypus W iki(Platypus W iki 是一个Sem antic W iki W iki W eb工程[2]),但提供更丰富的OWL Full抽象语法,需要用自然语言的名称,以期不需要高的应用门槛.当使用W iki 建立一个新的概念(C lass)时,会提示记录父类(subC lass O f),当然也可以新建父类.如果其父类已经存在就取其父类的属性(Property)来指导该类属性的建立.继而对属性建立dom ain,range等等.同时对概念给出解释性自然语言描述,最终产生OWL交换语法描述和解析树.OWL本体可供修改和共享. 虽然任何人都可以对概念或者本体进行修改甚至删除,但W iki引入版本控制概念,所以任何版本的信息都会被保存下来.引入用户投票机制,让相关概念的使用者以自己的评价权重对已有本体进行评价,得到评价最高的本体作为相关概念的系统推荐本体.本体的评价高低又反过来决定其作者的评价权重. 当系统的本体规模足够大时,可以依托这些本体作为基本概念的字典,对欲建立的某新概念,指定相关领域网站,利用网络爬虫抽取与之链接网站中的文本,从相关文本中抽取对概念的描述语句,不断进行本体学习,自动建立相关概念的本体.该本体的准确性虽然略低,但可以作为用户建立相关本体时的参考,有指导作用,至少可以减少欲建立该本体的用户的工作量.当前在本体自动构建方面做的比较好的是Ont o W are Pr oject的text2ont o,它以WordNet 为字典,利用text m ining从大量文本资源中得到相关概念的描述信息,自动建立出该领域的本体[3,4]. ? 9 1 ?

protege新手入门进阶篇(2)

步骤5:使用查询插件。点击菜单中的Project–>Configure 在出现的对话框中选择QueriesTab前加上对勾。然后就会出现Queries标签,选择这个标签就会出现查询界面。最初我们只在Class中加入Animal然后点击Find。查询结果会在右边的Search Results中出现,如下图。然后将这个查询保留,可以在以后利用。我们点击在下方的Query Name中输入?Animal然后点击Add to Query Library按钮。这样这个查询方式就被储存到Query Library中。

步骤6:利用Query Library中保存的查询方式进行进一步查询。点击Query Library中的?Animal并点 击按钮。可以调用这个查询方式,在这里因为我们刚刚存储了这个方式,所以上面的Query中不会有变化。我们在Slot中选择Belonging然后选择contains最后选择Beijing_zoo。点击Find 就会出现我们查找的结果。可以将这个查询方式存储为?Animal_belong_BeijingZoo。当然并非每个查询方式都需要储存,实 际操作中按照自己的需要存储即可。

步骤6:将本体存储到数据库中。这里我们使用Mysql。先做准备工作,因为需要Mysql所以没有的朋友请先安装。Mysql在Windows,linux等的安装方法在许多网站都有十分详细的介绍,我在这里就不再重复了,请到网上查询一下,最好安装官方推荐的版本。安装完后首先建立一个protege的数据库,步骤如下Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 10 to server version: 3.23.55-max Type 'help;' or '\h' for help. Type '\c' to clear the buffer. //建立一个名字叫protege_db的数据库。 mysql> create database protege_db; Query OK, 1 row affected (0.00 sec) //建立一个在localhost的用户protegeuser,密码为protegeuserpwd。并把protege_db 的所有权限给他。 mysql> grant all privileges on protege_db.* to protegeuser@localhost identified by 'protegeuserpwd'; //使上述变更在服务器上有效。 mysql> flush privileges; Query OK, 0 rows affected (0.07 sec) //退出mysql mysql> exit 这里不用创建表格,protege会自动创建。请确认你的mysql服务是运行的,否则将不能储存到数据库。接下来还需要下载JDBC驱动程序,它的作用是将protege和数据库连接起来。点击这里下载JDBC驱动程序。下载完后展开,其中有一个mysql-connector-java-3.1.12-bin.jar文件,将其复制到protege的安装目录中(注意不是插件目录),然后将它的名字变为driver.jar。然后回到protege中,选择菜单File–>Convert Project to Format...在弹出的对话框中选择OWL Database。

Protege使用笔记

用到的工具: JDK 安装及配置 Protégé下载网址:可视化开发平台 graphviz 图形化显示本体关系图 Mysql 及客户端工具不用介绍了吧,我用的5。X Mysql java 连接器下载地址:mysql-connector-java-3.1.12-bin.jar文件,将其复制到protege的安装目录中(注意不是插件目录),然后将它的名字变为driver.jar。 Mysql及相关工具用来将本体保存在数据库中。 beangenerator.jar 这个在JADE的文档中所记载,可以将protege构建的OWL本体导出为JADE的本体类 使用 建立Animal工程实例 步骤1 建立新的项目。打开protege,然后会出现对话框,点击Create New Project...,出现Create New Project对话框后,选择OWL Flies(.owl or .rdf)后,点击Finish,而不选 Next。 步骤 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 来生成关系图,中文的话会容易出现问题。)

protege4.1中文入门教程

protege4.2使用说明 Protege4.2使用说明 2013,01,28 安装JDK1.6:下载资源进行安装,环境变量配置:变量名Java_home,变量值G:\Study\JDK1.6 安装protege_4.2_alpha:安装时软件会自动检测java虚拟机环境,将jdk安装路径G:\Study\JDK1.6下jre文件复制到G:\Study,即与JDK1.6文件夹同一级。开始安装,选择安装路径,生成文件物理位置,continue 即可。 安装graphviz-2.26插件:下载资源进行安装,安装后生成bin,etc,include,lib,share五个文件夹,打开bin文件夹,找到dot.exe,打开protege4.2,点击菜单栏Reasoner—>Configure,点击OWL Viz项,在Dot Application Path 中输入G:\Study\graphviz2.26\bin\dot,G:\Study\graphviz2.26是安装目录。 OWL本体由Individual个体,Properties(Object Properties对象属性和Data Properties数据属性)属性或关联,Class类组成,三者分别和实例Instances,扩展连接点Slot,类Class相通信。 在protégé中最重要的就是Classes(类),Object Properties(对象属性或关联),Data Properties(数据属性),Individuals(个体)这四个栏目。OWL Viz 类关系层次图,DL Query类查询或简单推理,OntoGraf本体关系图,这三个栏目辅助进行构建本体。 一Classes类 它是个体的集合,如class fruit,它可以是个体apple,banana,orange等组成的集合。SubclassOf,Equivalent,Disjoint是类的三大axiom公理,可以理解为类与类之间的关系:类与类之间存在父子关系,即superclass父类,subclass子类;Equivalent class相同类,主要用于推理;Disjoint classes 互不相交关系,即一个个体不能同时属于两个类。在protege4.2左边部分可以分别Add subclass创建子类,Add sibling class创建兄弟类,Delete selected classes删除选中类三个操作,右上部分的Annotations(注释)对类进行注释,在简单本体构建中用处不大。右下方的Description(表达式,表现)非常重要。 1.Equivalent classes相等类,用来定义与当前类相等等同的类,或not class 不相等的类,主要用来推理,如,A,B是class m的个体, class n是class m 的Equivalent classes,则推理机可以退出A,B也是class n的个体。 2.Superclasses 超类或父类,定义当前类的父类,限制类,打开项目,选择Object restriction creator(创建对象限制),选择Restriction property (对象属性),Restriction filler(类),Restriction type,Some存在量

protege3推理篇

protege3.1新手入门-推理篇:使用protege建立简单的动物本体 本篇将接着基础篇,在动物本体中,建立狮子类(Lion)和肉食动物类(Carnivore),通过推理得到狮子是肉食动物。通过这个实例来简单了解推理机Racer的用法。 基本操作方法在基础篇中有讲解,以下步骤中的操作不清楚的朋友请先看基础篇。点击这里下载到此处的项目,在protege中点击Open Project打开项目。 步骤1 在Animal中建立狮子类和肉食动物类。定义这两个类在同一级中,即这两个类为兄弟关系,目的是推理后狮子变为肉食动物的子类。 步骤2 编辑狮子类的属性。这里我们定义狮子只吃素食动物。

步骤3 编辑肉食动物的属性。这里我们需要建立一个eat的子属性maineat(主要吃的是),因为肉食性动物可以吃植物,所以我们无法单纯的靠eat来推理出Lion是不是肉食性动物。这里我们定义肉食性动物maineat的值域是所有的动物。如下图

步骤4 将肉食动物的maineat属性变为充分必要条件。因为在现在的逻辑模型中我们的标准是开放世界假说,也就是说在没有成功证明某个陈述之前,我们将这个陈述定义为未知的事实而不是假的。因为我们没有明确指出肉食动物不能主要吃植物,所以肉食动物主要吃植物这个陈述是未知的,而不是假的。这样就给我们的推理造成了影响,所以我们需要明确指出肉食动物主要吃动物。也就是充分必要条件。做法是双击NECESSARY(必要条件) 中的 将其拖拽到上方的NECECSSARY & SUFFICIENT(充分必要条件)中。同样的方法将Animal也拖拽到充分必要条件中。状态如下图 步骤5 启动RacerPro推理机进行推论。如果没有的朋友请到RacerPro官方网站下载。需要注册一下,然后在发给你邮件中,点击链接就可以下载。安装选默认路径即可,不然还需要设置路径。

本体概念、描述语言和方法论方面的综述

本体概念、描述语言和方法论方面的综述。 一、本体的概念 Ontology 的概念最初起源于哲学领域,可以追溯到公元前古希腊哲学家亚里士多德(384-322 b.c.)。它在哲学中的定义为“对世界上客观存在物的系统地描述,即存在论”,是客观存在的一个系统的解释或说明,关心的是客观现实的抽象本质[1]。 在人工智能界,最早给出Ontology定义的是Neches等人,他们将Ontology定义为“给出构成相关领域词汇的基本术语和关系,以及利用这些术语和关系构成的规定这些词汇外延的规则的定义”[1]。Neches认为:“本体定义了组成主题领域的词汇表的基本术语及其关系,以及结合这些术语和关系来定义词汇表外延的规则。”(“An ontology defines the basic terms and relations comprising the vocabulary of a topic area, as well as the rules for combining terms and relations to define extensions to the vocabulary.”)[6]。 后来在信息系统、知识系统等领域,越来越多的人研究Ontology,并给出了许多不同的定义。 其中最著名并被引用得最为广泛的定义是由Gruber提出的,“本体是概念化的明确的规范说明”,原文参见: "An ontology is an explicit specification of a conceptualization. The term is borrowed from philosophy, where an Ontology is a systematic account of Existence. For AI systems, what "exists" is that which can be represented. When the knowledge of a domain is represented in a declarative formalism, the set of objects that can be represented is called the universe of discourse. This set of objects, and the describable relationships among them, are reflected in the representational vocabulary with which a knowledge-based program represents knowledge. Thus, in the context of AI, we can describe the ontology of a program by defining a set of representational terms. In such an ontology, definitions associate the names of entities in the universe of discourse (e.g., classes, relations, functions, or other objects) with human-readable text describing what the names mean, and formal axioms that constrain the interpretation and well-formed use of these terms. Formally, an ontology is the statement of a logical theory."[2, 3]。 和这个定义类似的有N. Guarino and P. Giaretta (1995)“本体是概念化的明确的部分的说明/一种逻辑语言的模型”(“an ontology is an explicit, partial account of a conceptualization/ the intended models of a logical language.”)。 W. N. Borst对该定义也进行了引申“本体是共享的概念模型的形式化的规范说明”(“An ontology is a formal specification of a shared conceptualization”)[11] Fensel对这个定义进行分析后认为Ontology的概念包括四个主要方面[4]: 1. 概念化(conceptualization):客观世界的现象的抽象模型; 2. 明确(explicit):概念及它们之间联系都被精确定义; 3. 形式化(formal):精确的数学描述; 4. 共享(share):本体中反映的知识是其使用者共同认可的。 原文:“an abstract model of a phenomenon termed ‘conceptualization’,a precise mathematical description hints the word ‘formal’, the precision of concepts and their relationships clearly defined are expressed by the term ’explicit’and the existence of an agreement between ontology users is hinted by the term ‘shared’.” Swartout将本体定义为:“本体是一个为描述某个领域而按继承关系组织起来作为一个知识库的骨架的一系列术语”。(“An ontology is a hierarchically structured set of terms for describing a domain that can be used as a skeletal foundation for a knowledge base.”)[5]。他的

Protege新手入门(推理篇)

本篇将接着基础篇,在动物本体中,建立狮子类(Lion)和肉食动物类(Carnivore),通过推理得到狮子是肉食动物。通过这个实例来简单了解推理机Racer的用法。 基本操作方法在基础篇中有讲解,以下步骤中的操作不清楚的朋友请先看基础篇。点击这里下载到此处的项目,在protege中点击Open Project打开项目。 步骤1 在Animal中建立狮子类和肉食动物类。定义这两个类在同一级中,即这两个类为兄弟关系,目的是推理后狮子变为肉食动物的子类。 步骤2 编辑狮子类的属性。这里我们定义狮子只吃素食动物。

步骤3 编辑肉食动物的属性。这里我们需要建立一个eat的子属性maineat(主要吃的是),因为肉食性动物可以吃植物,所以我们无法单纯的靠eat来推理出Lion是不是肉食性动物。这里我们定义肉食性动物maineat的值域是所有的动物。如下图

步骤4 将肉食动物的maineat属性变为充分必要条件。因为在现在的逻辑模型中我们的标准是开放世界假说,也就是说在没有成功证明某个陈述之前,我们将这个陈述定义为未知的事实而不是假的。因为我们没有明确指出肉食动物不能主要吃植物,所以肉食动物主要吃植物这个陈述是未知的,而不是假的。这样就给我们的推理造成了影响,所以我们需要明确指出肉食动物主要吃动物。也就是充分必要条件。做法是双击NECESSARY(必要条 件)中的将其拖拽到上方的NECECSSARY & SUFFICIENT(充分必要条件)中。同样的方法将Animal也拖拽到充分必要条件中。状态如下图

步骤5 启动RacerPro推理机进行推论。如果没有的朋友请到RacerPro官方网站下载。需要注册一下,然后在发给你邮件中,点击链接就可以下载。安装选默认路径即可,不然还需要设置路径。

相关主题
相关文档
最新文档