下载

1下载券

加入VIP
  • 专属下载特权
  • 现金文档折扣购买
  • VIP免费专区
  • 千万文档免费下载

上传资料

关闭

关闭

关闭

封号提示

内容

首页 Protege使用笔记

Protege使用笔记.doc

Protege使用笔记

lllguo2007
2013-04-18 0人阅读 举报 0 0 暂无简介

简介:本文档为《Protege使用笔记doc》,可适用于人文社科领域

用到的工具:JDK安装及配置Protégé下载网址:http:protegestanfordedu可视化开发平台graphviz图形化显示本体关系图http:wwwgraphvizorgDownloadphpMysql及客户端工具不用介绍了吧我用的。XMysqljava连接器下载地址:http:devmysqlcomdownloadsconnectorjhtmlmysqlconnectorjavabinjar文件将其复制到protege的安装目录中(注意不是插件目录)然后将它的名字变为driverjar。Mysql及相关工具用来将本体保存在数据库中。beangeneratorjar这个在JADE的文档中所记载可以将protege构建的OWL本体导出为JADE的本体类使用建立Animal工程实例步骤建立新的项目。打开protege,然后会出现对话框点击CreateNewProject出现CreateNewProject对话框后选择OWLFlies(owlorrdf)后点击Finish而不选Next。步骤建立类。protege的主页面中会出现OWLClasses(OWL类),Properties(属性),Forms(表单),Individuals(个体),Metedata(元类)这几个标签。我们选择OWLClasses来编辑。在AssertedHierarchy(添加阶层)中会有所有类的超类owl:Thing上点击AssertedHierarchy旁边的Createsubclass或者在OWL:Thing,点击右键选择Createsubclass。会出现protege自动定义名为Class的类。在右边的CLASSEDITOR(类编辑器)的Name选项中输入Animal来替换自动定义的名字。(建议使用英文因为下面会用到OWLViz来生成关系图中文的话会容易出现问题。)步骤建立Animal的子类在Animal点击上右键选择Createsubclass并按照上述方法将其名字变为Herbivore(素食动物)。步骤然后按照上面的方法建立OWL:Thing的另一个子类Plant(植物)然后建立Plant的子类Tree(树)。状态如下图步骤因为动物和植物是不同的事物也就是说它们互相具有排他性(owl:disjointWith)我们来定义这个关系。在选中Animal的状态下点击右下角的Disjoints的第三个按钮在出现的Addsiblingtodisjoints(将互为兄弟节点的类设为排他)对话框中选择Mutuallybetweenallsiblings。这样动物和植物就有互相排斥的属性了。步骤建立属性。新建一个ObjectProperty(注意不是DataProperty)选择Properties标签Name改为ispartof然后在右下角Transitive前面打上对号说明这是一个传递性属性。然后建立一个对象属性(owl:ObjectProperty)eat(吃)在Domain(定义域)中定义该属性的主体的类是Animal。最后再建立一个属性eated(被吃)它是属性eat的逆关系(owl:inverseOf)在右下角Inverser框中选择eat属性。(参照图)步骤建立一个owl:Plant的子类Branch(树枝)并附加限制条件。在选择Branch的状态下点击中下方的AssertedConditions(添加条件)中的第二个按钮(Createrestrition)。在弹出的对话框中选择Restrition中的allValuesFrom然后点击下方的Insertclass。最后选择Tree这样我们就定义了类Branch它是树(Tree)的一部分(ispartof)。步骤和步骤一样建立owl:Plant的子类Leaf(树叶)类。在AssertedConditions选择ispartof属性并在Restrition中的选择allValuesFrom最后选择属性类Branch(树枝)。这样我们就定义了树叶是树枝的一部分。步骤定义草食动物。素食动物是动物的子类而且只吃植物或是植物的一部分(植物和一部分植物的并集也就是植物)。和步骤一样CreateRestrition对话框中添加如下图的式子。步骤定义类Giraffe(长颈鹿)它是素食动物只吃树叶。按照上面的步骤定义如下图。步骤查看关系图在菜单中选择Project–>Configure在出现的对话框中在OWLVizTab前打上对号就会出新OWLViz的标签。如果在这里出现DOTerror的话请参照错误提示的解决办法然后点击OWLViz标签选择Showallclasses就可以看到关系图。步骤保存项目。点击这里下载这个项目下载这个项目。解压后用菜单中的File–>OpenProject–>解压路经中的Animalppjr即可。接着基础篇在动物本体中建立狮子类(Lion)和肉食动物类(Carnivore)通过推理得到狮子是肉食动物。通过这个实例来简单了解推理机Racer的用法。基本操作方法在基础篇中有讲解以下步骤中的操作不清楚的朋友请先看基础篇。点击这里下载到此处的项目在protege中点击OpenProject打开项目。步骤在Animal中建立狮子类和肉食动物类。定义这两个类在同一级中即这两个类为兄弟关系目的是推理后狮子变为肉食动物的子类。步骤编辑狮子类的属性。这里我们定义狮子只吃素食动物。步骤编辑肉食动物的属性。这里我们需要建立一个eat的子属性maineat(主要吃的是)因为肉食性动物可以吃植物所以我们无法单纯的靠eat来推理出Lion是不是肉食性动物。这里我们定义肉食性动物maineat的值域是所有的动物。如下图HYPERLINK"http:wwwchengtaonamemodulesdokuwikilibexefetchphpcache=cachemedia=imagesAprotegejpg"o"images:protegejpg"步骤将肉食动物的maineat属性变为充分必要条件。因为在现在的逻辑模型中我们的标准是开放世界假说也就是说在没有成功证明某个陈述之前我们将这个陈述定义为未知的事实而不是假的。因为我们没有明确指出肉食动物不能主要吃植物所以肉食动物主要吃植物这个陈述是未知的而不是假的。这样就给我们的推理造成了影响所以我们需要明确指出肉食动物主要吃动物。也就是充分必要条件。做法是双击NECESSARY(必要条件)中的将其拖拽到上方的NECECSSARYSUFFICIENT(充分必要条件)中。同样的方法将Animal也拖拽到充分必要条件中。状态如下图步骤启动RacerPro推理机进行推论。如果没有的朋友请到RacerPro官方网站下载。需要注册一下然后在发给你邮件中点击链接就可以下载。安装选默认路径即可不然还需要设置路径。步骤运用推理机进行推理。选择菜单中OWL–>Classifytaxonomy(也可以点击标签上方的Classifytaxonomy图标)的。这时protege会连接RacerPro然后推理机将做出推理。这时将推理机弹出的信息关闭protege中间会出现新的类阶层图这里狮子类已经变为肉食动物的子类。并在信息对话框中的LionMovedfromAnimaltoCarnivore。HYPERLINK"http:wwwchengtaonamemodulesdokuwikilibexefetchphpcache=cachemedia=imagesAprotegejpg"o"images:protegejpg"步骤确认关系图。在OWLViz中AssertedModel是推理前的关系图InferredModel是推理后的关系图。可以看到狮子类已经成为肉食动物的子类。HYPERLINK"http:wwwchengtaonamemodulesdokuwikilibexefetchphpcache=cachemedia=imagesAprotegejpg"o"images:protegejpg"步骤保存项目。点击下载该项目。以下教程接着基础篇和推理篇对于基础篇和推理篇解释的步骤这里不在重复解释。不知道的朋友请先看基础篇和推理篇来熟悉基本操作步骤。点击这里参照新手入门基础篇和推理篇在本篇进阶片教程中主要是介绍个体的编辑(Individuals)查询插件(QueriesTab)的用法以及将编辑好的本体存储到数据库中(OwlDatabase)。对于Owl数据库我这里采用Mysql(对于其他的数据库请到官方网站查询)。步骤:这里要用到推理篇中保存的项目。没有的朋友请点击这里下载。打开推理篇中保存的newAnimal。根据推理机的推理我们知道了Lion是肉食动物所以我们将其移到Carnivore肉食动物的下面作为它的子类步骤:建立动物园的类Zoo。然后在属性编辑器中编辑一个新的datatypeproperty(数据性属性)Address,设它的定义域是类Zoo设它的值域是xsd:string,在rdfs:comment中注释该属性表示地址。同样我们编辑一个新的datatypeproperty(数据性属性)Tel,设它的定义域是类Zoo设它的值域是xsd:string。在rdfs:comment中注释该属性表示电话号码。注意给定义域添加类的时候是用AddnamedClass(es),Domain后面的第个按钮而不是第一个。第一个按钮是新建一个类并给作为定义域时用。步骤:建立类Zoo个体。选择Individuals编辑器。在选择左边Zoo类的情况下点击INSTANCEBROWSER中的按钮出现了一个个体实例在INSTANCEEDITOR中将它的名字变为BeijingZoo。在下方的属性Address中点击加号输入地址。这里作为例子输入BeijingXizhimenRoad并选择en。属性Tel中输入并选择en。同样的方法创建另外个个体实例ShanghaiZoo和TianjinZoo。属性Address和Tel请任意输入。这样我们就创建了个Zoo的个体实例。步骤:建立动物个体。在建立动物个体之前前建立一个对象性属性Belonging它的定义域是Animal值域是Zoo。回到Individuals编辑器中在选择类Giaffe的情况下建立一个个体实例命名为Lanlan。在下方的Belonging属性中点击加号在弹出的对话框中选择Beijingzoo。同样的方法建立个个体实例让它们本别属于Shanghaizoo和Tianjinzoo。然后在建立个Lion类的个体实例,BeiLion,ShangLion,TianLion让它们分别属于个动物园。这样我们就可以进行下一步用查询表单来查询。步骤:使用查询插件。点击菜单中的Project–>Configure在出现的对话框中选择QueriesTab前加上对勾。然后就会出现Queries标签选择这个标签就会出现查询界面。最初我们只在Class中加入Animal然后点击Find。查询结果会在右边的SearchResults中出现如下图。然后将这个查询保留可以在以后利用。我们点击在下方的QueryName中输入Animal然后点击AddtoQueryLibrary按钮。这样这个查询方式就被储存到QueryLibrary中。步骤:利用QueryLibrary中保存的查询方式进行进一步查询。点击QueryLibrary中的Animal并点击按钮。可以调用这个查询方式在这里因为我们刚刚存储了这个方式所以上面的Query中不会有变化。我们在Slot中选择Belonging然后选择contains最后选择Beijingzoo。点击Find就会出现我们查找的结果。可以将这个查询方式存储为AnimalbelongBeijingZoo。当然并非每个查询方式都需要储存实际操作中按照自己的需要存储即可。步骤:将本体存储到数据库中。这里我们使用Mysql。先做准备工作因为需要Mysql所以没有的朋友请先安装。Mysql在Windowslinux等的安装方法在许多网站都有十分详细的介绍我在这里就不再重复了请到网上查询一下最好安装官方推荐的版本。安装完后首先建立一个protege的数据库步骤如下WelcometotheMySQLmonitorCommandsendwithorgYourMySQLconnectionidistoserverversion:maxType'help'or'h'forhelpType'c'toclearthebuffer建立一个名字叫protegedb的数据库。mysql>createdatabaseprotegedbQueryOK,rowaffected(sec)建立一个在localhost的用户protegeuser密码为protegeuserpwd。并把protegedb的所有权限给他。mysql>grantallprivilegesonprotegedb*toprotegeuserlocalhostidentifiedby'protegeuserpwd'使上述变更在服务器上有效。mysql>flushprivilegesQueryOK,rowsaffected(sec)退出mysqlmysql>exit这里不用创建表格protege会自动创建。请确认你的mysql服务是运行的否则将不能储存到数据库。接下来还需要下载JDBC驱动程序它的作用是将protege和数据库连接起来。点击这里下载JDBC驱动程序。下载完后展开其中有一个mysqlconnectorjavabinjar文件将其复制到protege的安装目录中(注意不是插件目录)然后将它的名字变为driverjar。然后回到protege中选择菜单File–>ConvertProjecttoFormat在弹出的对话框中选择OWLDatabase。弹出的OwlDatabase对话框中按照下面规定填写。Project项目的名称。可以任意取。这里用newAnimalokpprjDriverClassName中添入commysqljdbcDriverJDBCURL添入jdbc:mysql:mysql服务器地址数据库名称这里用的是本地机所以使用localhost数据库为刚才创建的protegedb。所以添入jdbc:mysql:localhostprotegedbTable数据库中的表格名可任意填写但不能与相同数据库中的表格重名否则覆盖。这里用AnimalUsername数据库用户名。这里用protegeuserPassword数据库用户密码。这里用protegeuserpwd然后点击OK。如果出现错误请参见TheJDBCdriverisnotontheClasspath的错误请参见错误提示的解决办法确认mysql用protegeuser登陆数据库在Enterpassword:后输入密码mysqluprotegeuserpEnterpassword:WelcometotheMySQLmonitorCommandsendwithorgYourMySQLconnectionidistoserverversion:maxType'help'or'h'forhelpType'c'toclearthebuffer使用protegedb数据库mysql>useprotegedbReadingtableinformationforcompletionoftableandcolumnnamesYoucanturnoffthisfeaturetogetaquickerstartupwithADatabasechanged查看Animal表格mysql>select*fromAnimal|frame|frametype|slot|facet|istemplate|valueindex|valuetype|||||||||可以看到owl本体已经存储到了数据库中。其中的各个参数均为protege预定义点击这里查看各个参数的详情通过以上的做法可以将我们做的本体储存到数据库中。然后通过数据库来访问本体数据。OwlDatabase的配置一次后下一次就可以直接使用只要使用命名为别的表格即可。附错误处理办法:OWLViz的DOTerror先到到此处下载GraphViztool然后安装。在OWLViz设置中指定正确的DOTapplication路径。默认情况下是(Linux和Unix下的usrlocalbin,或者是windows下的C:ProgramFilesATTGraphVizbinDOTexe)MaxOSX到此处下载graphviz并指定DOTapplication路径:Graphviz软件的路径GraphvizappContentsMacOSdot经过实际安装证明: 不需要修改dfkiprotegeontoviz 中的protegeproperties中的内容 从文件名看ontoviz与owlviz不是一回事实践证明修改这个文件和owlviz的路径没有任何关系! 在下载graphviz的页面中请注意下面的内容在安装的时候直接设置安装路径为:C:ProgramFilesATTGraphviz安装完毕从开始菜单运行:开始>所有程序>Graphviz>dot如果能运行就说明安装正确。可以在protégé中显示关系图例。如果提示”O**mgx”之类的错误说明缺少程序运行的操作系统插件。或有如下提示:plication has failed to start because somefilenamedll was not found Reinstalling the application may fix this problem" please click this link and install Microsoft Visual C  Redistributable Package (x) 使用graphviz可能需要装Visual C  Redistributable Package (x) 安装这个之后,再在owlviz标签中的option中设置路径就OK了我安装的顺序是,protege=>graphviz=>Microsoft Visual C  Redistributable Package (x)=>打开protege,选择pizza的例子打开,设置graphviz路径,绘图成功我也是初学者,大家多交流,不对之处还望高人指点TheJDBCdriverisnotontheClasspath或者JDBCdrivernotfound请确认你的protege的安装目录下是否有driverjar。没有的话请点击这里下载然后展开将其中的mysqlconnectorjavabinjar文件将其复制到protege的安装目录中(注意不是插件目录)然后将它的名字变为driverjar。如果还是不行那么请确认你是以protegeexe启动的protege。而不是protegejar启动的protege。如果是以protegejar启动的protege那么还需要设置CLASSPATH。所以请用protegeexe启动试一下。出现错误后将“protege的安装目录中(注意不是插件目录)然后将它的名字变为driverjar。”中的driverjar文件改名为Driverjar后再次将本体存入mysql,成功。我认为:在填写连接数据库文件时“DriverClassName中添入“commysqljdbcDriver”后面为Driver所以protege根目录下的javamysql驱动文件应该为Driverjar

用户评价(0)

关闭

新课改视野下建构高中语文教学实验成果报告(32KB)

抱歉,积分不足下载失败,请稍后再试!

提示

试读已结束,如需要继续阅读或者下载,敬请购买!

文档小程序码

使用微信“扫一扫”扫码寻找文档

1

打开微信

2

扫描小程序码

3

发布寻找信息

4

等待寻找结果

我知道了
评分:

/19

Protege使用笔记

VIP

在线
客服

免费
邮箱

爱问共享资料服务号

扫描关注领取更多福利