收藏 分享(赏)

protege使用说明.doc

上传人:tangtianxu1 文档编号:2869578 上传时间:2018-09-29 格式:DOC 页数:18 大小:1.61MB
下载 相关 举报
protege使用说明.doc_第1页
第1页 / 共18页
protege使用说明.doc_第2页
第2页 / 共18页
protege使用说明.doc_第3页
第3页 / 共18页
protege使用说明.doc_第4页
第4页 / 共18页
protege使用说明.doc_第5页
第5页 / 共18页
点击查看更多>>
资源描述

1、Protege 软件使用说明一Protege 系统版本介绍与分析最常用的 Protege 版本主要有两个,我们分别介绍他们的优缺点1.protege 3.x 版优点:1)这个版本的用户体验比较好,没 4.x 版的那么别扭2)支持 RacerPro 推理机,能保存推理结果3)能对中文进行推理4)相关教程比较全面缺点:1) OWLViz 不支持中文,添加中文,图像显示会重叠2)没有 ontograf 功能块,总之不支持中文图像结果显示3)使用 OWLViz 功能块,必须安装 graphviz 1.9 版的2.protege 4.x 版优点:1)自带推理机 Fact+2)有 ontograf 功能块

2、,支持中文图像显示3)相关教程比较全面缺点:1)无法保存自带推理机的推理结果,至少我是没找到保存方法2) OWLViz 也不支持中文3)软件界面用户体验不好,很多模块需要自己选择添加4)使用 OWLViz 功能块,必须安装 graphviz 2.28 版的上面说了这么多你可能不知道选择哪个好。那就列出几个关键的问题:1.想使用 OWLViz 观察图像结果?不管是 3.x 版还是 4.x 版都可以。但是要注意一点,就是版本兼容问题;个人推荐 protege3.1配 graphviz 1.2 或者 protege4.1 配 graphviz2.28.2.想使用推理机并更新原数据?个人建议使用 pr

3、otege3.x,并使用 RacerPro 1.9 版安装版。虽然 protege4.x 版自带推理机也能推理,但是保存结果更新原数据没法实现,至少我是整了很久都没实现。这也是我不喜欢使用 4.x 的原因,用户体验比较差。3.想支持中文,在绘图区显示图像结构?这个就必须使用 4.x 版了,也只能在 4.x 版的 ontograf 功能块才能看到图像结构,而在OWLViz 会出现图像重叠;不过在这也弱弱的吐槽一下,ontograf 显示的图像结构效果并不是很理想,个人觉得做的很差。总结:上面讲了这么多,相信你也有自己的选择了。但是我个人觉得啊!还是使用 protege3.x 版更好,当然前提是你

4、对 OWLViz 显示中文并不是很需要的前提下;除去这个因素, protege3.x版还是蛮不错的,软件界面使用舒服,可以保存推理机推理结果;而且在 class 中定义中文也可以推理。我们选用的版本:因为我们在做英文本体的时候还要有对应的中文本体的创建与显示,因此我们选用Protege4.2,graphviz-2.26 进行实验。二Protege4.2 系统安装说明1.安装 JDK1.6:下载资源进行安装,环境变量配置:变量名 protege_home,变量值 G:StudyJDK1.6 2.安装 protege_4.2_alpha:安装时软件会自动检测 protege 虚拟机环境,将 jdk

5、 安装路径 G:StudyJDK1.6 下 jre 文件复制到 G:Study,即与 JDK1.6 文件夹同一级。开始安装,选择安装路径,生成文件物理位置,continue 即可。3.安装 graphviz-2.28 插件:下载资源进行安装,安装后生成bin,etc,include,lib,share 五个文件夹,打开 bin 文件夹,找到 dot.exe,打开protege4.2,点击菜单栏 ReasonerConfigure,点击 OWL Viz 项,在 Dot Application Path 中输入 G:Studygraphviz2.26bindot,G:Studygraphviz2.

6、26 是安装目录。三中英文本体构建方法a.英文本体构建OWL 本体由 Individual 个体, Properties(Object Properties 对象属性和 Data Properties 数据属性)属性或关联,Class 类组成,三者分别和实例 Instances,扩展连接点 Slot,类 Class相通信。在 protg 中最重要的就是 Classes(类) ,Object Properties(对象属性或关联) ,Data Properties(数据属性) ,Individuals(个体)这四个栏目。OWL Viz 类关系层次图,DL Query类查询或简单推理,OntoGr

7、af 本体关系图,这三个栏目辅助进行构建本体。 Classes 类它是个体的集合,如 class fruit,它可以是个体 apple,banana,orange 等组成的集合。SubclassOf,Equivalent,Disjoint 是类的三大 axiom 公理,可以理解为类与类之间的关系:类与类之间存在父子关系,即 superclass 父类,subclass 子类;Equivalent class 相同类,主要用于推理;Disjoint classes 互不相交关系,即一个个体不能同时属于两个类。在 protege4.2左边部分可以分别 Add subclass 创建子类,Add s

8、ibling 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 超类或父类,定义当

9、前类的父类,限制类,打开项目,选择 Object restriction creator(创建对象限制) ,选择 Restriction property(对象属性) ,Restriction filler(类) ,Restriction type,Some 存在量词,Only 全称量词, Min 基数量词最小值,Max基数量词最大值,Exactly 基数量词准确值,这些是约束属性的条件,用来限制对象属性的。如下图:class Giraffe 长颈鹿类 eat(对象属性,谓词) only(全称量词,约束限制 eat) leaf(叶子类) ,理解为一句话:长颈鹿只吃叶子。建立本体中,通过类似的语

10、句,如他是我的朋友(类他 ,类我的朋友 ,对象属性是名词型) ,大鱼吃小鱼(类大鱼 ,类小鱼 ,动词吃动宾型) ,中国直辖市是北京市,天津市,上海市,重庆市(集合型)等构建对象属性和类,它可以将生活中的语句进行抽象,转化为计算机可以理解的语言,然后推理机就可以进行推理。3.Inherited anonymous classes 继承匿名类,继承父类,匿名类定义在父类中,被子类继承,是子类的必要条件,上例中,食草动物 Herbivore 在 Superclasses 定义了 eat only Plant,被子类 Giraffe 继承,是子类 Giraffe 存在逻辑的必要条件。4.Members

11、 成员,类中的个体,打开 Add individual,可以添加个体,添加后从 Classes 转换到 Individual,可以得到相应类的个体,如下图增加 Giraffe 的一个 Members ,wangwang,在类的 Individual 中可以找到5.Keys 关键字,描述类的行为或属性。6.Disjoint classes 互不相交类,即不存在一个个体同时属于两个 Disjoint class,如下图,食草动物 Herbivore 与食肉动物 carnivore 不相交,定义类 Herbivore 的 Disjoint classes 为carnivore,则在类 carnivo

12、re 中的 Disjoint classes 显示为 Herbivore,两个类互为 Disjoint classes。7.Disjoint union of 互不相交类的集合,即一个类的所有子类都不相交,如,类中国直辖市 ,子类北京市 , 天津市 , 上海市 , 重庆市 ,四个子类均不相交,构成类中国直辖市 。 Object Properties 对象属性它用来连接两个个体,如上例中 class Giraffe 长颈鹿类 eat(对象属性,谓词) only(全称量词,约束限制 eat) leaf(叶子类)其中 eat 谓词就是已经定义的对象属性,连接两个类Giraffe 和 leaf。在 p

13、rotege4.2 中打开 Object Properties,左边部分可以分别 Add sub property创建子属性,Add sibling property 创建兄弟属性,Delete selected properties 删除选中属性三个操作,右上部分的 Annotations(注释)对属性进行注释,Usage 查看当前对象属性的使用情况,如下图发现四个使用记录。右下方的 Characteristic(特征) ,Description(表达式,表现)非常重要。Characteristic(特征) ,定义对象属性的性质,也可以称为函数属性,传递属性等。1 Functional 函数

14、性,当前对象属性标注了这个性质,说明该对象属性只能连接一个个体。如:我的最好的朋友是小张,两个类我 , 小张 ,对象属性最好的朋友是我的最好的朋友是小王,两个类我 , 小王 ,对象属性最好的朋友是 ,同时声明这两个语句,如果定义对象属性最好的朋友是为 Functional 函数性,那么可以推理出是小张和小王是同一个人。2 Inverse functional 逆函数性,是 Functional 函数性的反性质,对于一个给定的个体,只有最多一个个体能通过该属性连接那个个体。如:小张的最好的朋友是我,小王的最好的朋友是我,定义对象属性最好的朋友是为 Inverse functional 逆函数性,

15、那么可以推理出是小张和小王是同一个人。3 Transitive 传递性,具有传递性,如:A 大于 B,B 大于 C,如果定义对象属性大于为Transitive 传递性,那么可以推理出 A 大于 C.4 Symmetric 对称性,两个个体关系对称,如:A 的同学是 B,B 的同学是 A,对象属性同学就具有 Symmetric 对称性。具有对称性,不能具有函数性和逆函数性,如:A 的儿子是 B,不能说成 B 的儿子是 A。5 Asymmetric 不对称性, Symmetric 对称性的反。6 Reflexive 自反性,自身与自身相关联。7 Irreflexive 不自反性,Reflexive

16、 自反性的反。Description(表达式,表现)1 Domain 定义域,或类型。如下图,eat 的定义域为 Animal,即 Animai eat something。2 Range 值域,如下图,mainEat 的值域为 Animal,即 Something mainEat Animal属性连接的是定义域的个体到值域的个体,对象属性的定义域和值域主要用来推理。3 Equivalent object properties 相等对象属性,定义与当前对象属性相等的对象属性。4 Super properties 超属性,父属性,如上例中,mainEat 的 Super properties 就

17、是 eat。5 Inverse properties 逆属性,上例中 eat 与 eated 互逆,对象属性的定义域与值域相反,如图6 Didjoint properties 互不相交属性,两个属性没有交集。7 Property chains 属性链。 Data Properties 数据属性它用来连接个体和 XML Schema 数据类型值或 rdf literal,该属性不能为传递的,对称的,反函数的,可以为函数的。如张三的电话号码是 123456,数据属性电话号码连接个体张三和数据123456.在 protege4.2 中打开 Data Properties,左边部分可以分别 Add s

18、ub property 创建子属性,Add sibling property 创建兄弟属性,Delete selected properties 删除选中属性三个操作,右上部分的 Annotations(注释)对属性进行注释,说明数据属性的内容,如下图,数据属性 address 的 Annotations comment 为地址右下方的 Characteristic(特征) ,Description(表达式,表现)非常重要。Characteristic(特征)与 Object Properties 相比只有 Functional 函数性一项,这是由于它连接的是个体和 XML Schema 数据

19、类型值或 rdf literal。Description(表达式,表现)1 Domain 定义域2 Range 值域,从上图中可以看到 address 的 Domain 为 zoo,值域为 string,即 zoo 动物园的个体具有地址数据属性,其值的类型是 string 数据类型。3 Equivalent properties 相等数据属性,定义与当前数据属性相等的数据属性。4 Super properties 超属性,父属性。5 Disjoint properties 互不相交属性,两个属性没有交集。 Individuals 个体它可以理解为类的实例化,或者类的成员。在 protege4.

20、2 中打开 Individual,左边部分是类的层次关系图,可以分别 Add subclass 创建子类,Add sibling class 创建兄弟类,Delete selected classes 删除选中类三个操作,中间部分 Members list 成员列表,可以分别 Add individual 创建个体, Delete individual 删除个体,右上部分的 Annotations(注释)对个体进行注释,Usage 查看当前个体的使用情况,如下图,类 zoo 有三个个体,分别为beijing,shanghai,tianjing,shanghai 个体有 6 条使用记录。右下方的

21、 Description(表达式,表现) ,Property assertions(属性声明)非常重要。Description(表达式,表现)1 Types,类,上图中个体 shanghai 的 Types 就是这个个体属于的类 zoo。2 Same individuals 相同个体3 Different individuals 不相同个体Property assertions(属性声明)需要手工进行操作。1 Object property assertions 对象属性声明,使用对象属性连接另一个个体。2 Data property assertions 数据属性声明,使用数据对象连接一个数

22、据值。上例中,个体shanghai 的数据属性 tel 的值为02045412 ,数据属性 address 的值为shanghaishi 。添加个体的数据属性手工进行添加。3 Negative object property asseritions 否定对象属性声明。4 Negative data property asseritions 否定数据属性声明。OWL Viz 类关系层次图,使用前需确认本机已经安装 graphviz在 protege4.2 中打开 OWL Viz,选中 class Thing,鼠标移到右边区域,右键 Show class,选择 Radius(半径,范围) ,即父类

23、子类的层次,OK 即可,如下图Asserted model 声明模型,即使定义的模型,Inferred model 推理后的模型,即定义的模型经过推理机进行推理后的模型,进行复杂推理时需要安装相关插件才能实现。DL Query 类查询或简单推理在 protege4.2 中打开 DL Query,右上方 Query 查询,输入查询内容,然后点击菜单栏的Reasoner 推理Start reasoner,选中推理机 FaCT+或 HermiT1.3.5,然后 Execute 执行,在下方的 Query results 输出查询结果。如下图,输入 Tree,输入 not Tree右下方的选项对输出结

24、果进行控制。选中 Super classes 显示父类, Ancestor classes 显示祖先类,Equivalent classes 显示相同类,Subclasses 显示子类,Descendant classes 后代类,Individuals 显示类的个体。 OntoGraf 本体关系图在 protege4.2 中打开 OntoGraf,依次点击左边部分所有的父类子类,在右边部分显示出所有类的关系,如下图在 Search 搜索栏中输入内容,进行搜索,显示与搜索内容相关的关系图,可以搜索类,个体,如下图,Search leafSearch Beijing,类 zoo 动物园有三个个体

25、 beijing,shanghia,tianjin,类 giaffe 长颈鹿有三个个体,分别属于 beijing,shanghai,tianjin,类 lion 有三个个体,分别属于beijing,shanghai,tianjin ,查询 beijing,如下图OntoGraf 类似于 UML 的构图,可以用来进行本体的检测,修改,查询。b.中文本体创建中文本体的创建与英文本体的过程基本类似,只是在名称输入时换成相应的中文字符就可以了,其他标签的功能一样,只是可能在图形显示,中文名称显示,文件保存时候,会有不同的乱码出现,Protege3 的中文乱码程度还低一些,图形显示效果不佳,Proteg

26、e4 的中文乱码程度比较大,但是图形显示没有问题,逻辑推理还是不能进行中文的推理。4遇到问题及解决方案1.在安装安装 graphviz-2.28 插件时遇到一些问题,怎么安装都不能成功显示视图解决方法:找到对应的版本型号,protege 对版本对应型号要求比较严格,不对应就不能正常显示,当时我安装的是最新的安装 graphviz-2.38 插件,最后发现 Protege 对应的是安装graphviz-2.28 插件。2.中文乱码显示问题解决方面:中文本体不可以用中文名称保存,否则无法正常打开,所以我改成英文名称,可以正常操作;Protegge4 中的本体创建时也会有中文乱码,这个是 Prote

27、ge4 对中文支持不是很好,可以换成 Protege3.为了让使用 protege 语言编写的程序能在各种语言的平台下运行,protege 在其内部使用Unicode 字符集来表示字符,这样就存在 Unicode 字符集和本地字符集进行转换的过程。当在 protege 中读取字符数据的时候,需要将本地字符集编码的数据转换为 Unicode 编码,而在输出字符数据的时候,则需要将 Unicode 编码转换为本地字符集编码。 例如,在中文系统下,从控制台读取一个字符“中” ,实际上读取的是“中”的 GBK 编码0xD6D0,在 protege 语言中要将 GBK 编码转换为 Unicode 编码

28、0x4E2D,此时,在内存中,字符“中”对应的数值就是 0x4E2D,当我们向控制台输出字符时,protege 语言将 Unicode编码再转换为 GBK 编码,输出到控制台,中文系统再根据 GBK 字符集画出相应的字符。 从上述过程来看,读取和写入的过程是可逆的,那么理应不会出现中文乱码问题。然而,实际应用的情形,比上述过程要复杂得多。在 Web 应用中,通常都包括了浏览器、Web服务器、Web 应用程序和数据库等部分,每一部分都有可能使用不同的字符集,从而导致字符数据在各种不同的字符集之间转换时,出现乱码的问题。 在 protege 语言中,不同字符集编码的转换,都是通过 Unicode 编码作为中介来完成的。例如,GBK 编码的字符“中”要转换为 ISO-8859-1(同 ISO8859-1)编码,其过程如下: (1 )因为在 protege 中的字符,都是用 Unicode 来表示的,所以 GBK 编码的字符“中”要转换为 Unicode 表示:0xD6D0-0x4E2D。 (2 )将字符“中”的 Unicode 编码转换为 ISO-8859-1 编码,因为 Unicode 编码 0x4E2D 在ISO-8859-1 中没有对应的编码,于是得到 0x3f,也就是字符 “?”。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 高等教育 > 专业基础教材

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报