欢迎来到天天文库
浏览记录
ID:48857038
大小:386.00 KB
页数:23页
时间:2020-02-02
《protege构建本体教程.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
实用文档TheProtégéplatformsupportstwomainwaysofmodelingontologiesviathe Protégé-Frames and Protégé-OWLeditors(我们使用的是后者)1.什么是本体(Ontologie)Ontologiesareusedtocaptureknowledgeaboutsomedomainofinterest.本体是用来获得你所感兴趣的领域的知识;2.OWLOntologiesThemostrecentdevelopmentinstandardontologylanguagesisOWLfromtheWorldWideWebConsortium(W3C)由w3c从斯坦福大学的本体语言发展而来的。3.OWLOntologies的组成OWLOntologies与基于Prot´eg´eframe的本体语言在组成上比较相似,但是从专业术语上来描述时他们又有着细微的不同。OWLOntologies是由个体(Individuals),属性(Properties),类(Classes)组成,大致对应于Prot´eg´eframe的Instances,Slots,Classes.3.1Individuals(个体)指的是在域(domain)中我们感兴趣的对象。类中的一个实例。Individuals必须明确的声明彼此之间是否相同。不同的名字可能指的是相同的Individuals。3.2Properties(属性)指的是Individuals上二元关系,他连接着两个Individuals。如:小三的父亲叫大三。其中,“的父亲叫” 实用文档就连接着小三和大三两个Individuals。Properties可以存在reverse,如上所示,“的父亲叫”的reverse就是“的儿子叫”。Properties可以被限定成单值,此时Properties是functional的。(后面介绍)Properties也可以是transitive(可传递的)或symmetric(对称的)(后面介绍)3.3Classes可以看作是包含Individuals的集合。我们使用正式而精准的形式来描述Classes。Classes通常被组织成supperclass—subclass形式的层状结构,比如,动物和狗。4创建本体myPizza(PizzaBase是Pizza结构之一,中文叫“饼底”,主要由面粉做成,是Pizza的主体,和pizzatoppings(比萨饼面)一起构成整个Pizza)4.1命名一个Classes(采用单词首字母大写方式,类似于java中类的命名)一个初始化的本体包含一个名字叫做Thing的classes,他表示包含所有individuals的集合,所以,所有的其他classes都是他的subclasses。4.2Disjoint(解体)Classes 实用文档如果任意一个Individuals(或Object)仅仅是众多Classes中某一个的实例(instance),那么这些Classes是Disjoint的。4.3UsingTheOWLToolsToCreateClasses【PizzaBase子类ThinAndCrispy和DeepPan】PizzaTopping子类如下CheeseMozzarellaParmezanMeatHamPepperoniSalamiSpicyBeefSeaFoodAnchovyPrawnTunaVegtableCaperMushroomOliveOnion 实用文档PepperRedPepperGreenPepperJalapenoPepperTomato4.4subclass到底是什么意思呢?例如“狗”是“动物”的subclass。那么“狗”的instance也是“动物”的instance,一个东西是狗,那么他一定是动物。(这和java中的子类父类貌似是一样的)4.5.OWLProperties(概述)OWLPropertiesrepresentrelationships.Therearetwomaintypesofproperties,ObjectpropertiesandDatatype 实用文档properties.Objectpropertiesarerelationshipsbetweentwoindividuals.(先介绍Objectproperties)如下是Objectproperties和DatatypepropertiesObjectpropertieslinkanindividualtoanindividual.【hasIngredien子hasBasehasTopping】我们可以创建Subproperties,它用来限定Supperproperties的范围。Forexample,thepropertyhasFathermightspecialise(限定范围)themoregeneralpropertyofhasParent.小明有父亲大明,那么我们也可以说小明的双亲有大明。“有父亲”就是“有双亲”的subproperty。4.6InverseProperties(逆属性)【isIngredientOf子isBaseOfisToppingOf】如该例中::hasBase和isBaseOf就是一对InversePropertiesForexample:ifMatthewhasParentJean,thentheinversepropertywecaninferthatJeanhasChildMatthew.4.7OWLObjectPropertyCharacteristics(特征) 实用文档OWL允许通过使用propertycharacteristics来增强properties的含义(内涵)。(1)FunctionalPropertiesIfapropertyisfunctional,foragivenindividual,therecanbeatmostoneindividualthatisrelatedtotheindividualviatheproperty..也就是说,Properties是单值的。例如::hasBirthMother,这个就是functional的,因为一个人他只能有一个生母。另外::IfwesaythattheindividualJeanhasBirthMotherLilyandwealsosaythattheindividualJeanhasBirthMotherMary,thenbecausehasBirthMotherisafunctionalproperty,wecaninferthatLilyandMarymustbethesameindividual.但是如果Lily和Mary明确的声明为两个不同的Individuals,那么就会出现矛盾(inconsistency)。(2)InverseFunctionalProperties就是FunctionalProperties的inverse如下:: 实用文档(3)TransitivePropertiesIfapropertyistransitive,andthepropertyrelatesindividualatoindividualb,andalsoindividualbtoindividualc,thenwecaninferthatindividualaisrelatedtoindividualcviapropertyP.如下::注::a)Ifapropertyistransitivethenitsinversepropertyshouldalsobetransitive.(祖先那个例子)b)ifapropertyistransitivethenitcannotbefunctional.(4)Symmetric(对称)Properties 实用文档IfapropertyPissymmetric,andthepropertyrelatesindividualatoindividualbthenindividualbisalsorelatedtoindividualaviapropertyP.如下::(5)Antisymmetric(反对称)propertiesIfapropertyPisantisymmetric,andthepropertyrelatesindividualatoindividualbthenindividualbcannotberelatedtoindividualaviapropertyP.如下::(6)Reflexive(自反)propertiesApropertyPissaidtobereflexivewhenthepropertymustrelateindividualatoitself.如下:: 实用文档(7)Irreflexive(非自反)propertiesIfapropertyPisirreflexive,itcanbedescribedasapropertythatrelatesanindividualatoindividualb,whereindividualaandindividualbarenotthesame.也就是说,这种properties只能连接不同的individuals。如::小明的父亲是大明,那么我们不能说小明的父亲是小明4.8PropertyDomainsandRanges【定义hasTopping的RangePizzaToppingdomainPizza】【定义isToppingOf的RangePizzadomainPizzaTopping】Propertiesmayhaveadomainandarangespecified(指定的).Propertieslinkindividualsfromthedomaintoindividualsfromtherange.例如::inmyPizza本体,thepropertyhasToppingwouldprobablylinkindividualsbelongingthetheclassPizzatoindividualsbelongingtotheclassofPizzaTopping.Inthis 实用文档casethedomainofthehasToppingpropertyisPizzaandtherangeisPizzaTopping。另外::如果有ahasToppingb,并且a与b都是individuals,那么我们就可以说a属于classPizza,b属于classPizzaTopping。通常来说,domainforapropertyistherangeforitsinverse,andtherangeforapropertyisthedomainforitsinverse4.9描述和定义Classes4.9.1PropertyRestrictionsOwl的restriction有三种:QuantifierRestrictionsCardinalityRestrictionshasValueRestrictions.1.quantifierrestrictions(existentialrestrictions和universalrestrictions)Existentialrestrictions:describeclassesofindividualsthatparticipateinatleastonerelationshipalongaspecifiedpropertytoindividualsthataremembersofaspecifiedclass.例子::我至少(atleastone)买了一袋饼干从好又多超市。再比如::我做的蛋糕,上面至少覆盖了一层紫色奶酪。 实用文档【Pizza限制hasBasesomePizzaBase】universalrestrictions:describeclassesofindividualsthatforagivenpropertyonlyhaverelationshipsalongthispropertytoindividualsthataremembersofaspecifiedclass.例子::我买的东西都是从好又多市(或者我买东西只(only)从好又多超市)注::Arestrictiondescribesananonymousclass(anunnamedclass).Theanonymousclasscontainsalloftheindividualsthatsatisfytherestriction。例如:Existentialrestrictions“上面至少覆盖了一层紫色奶酪。”这句话就描述了一个匿名类,任何上面覆盖至少一层紫色奶酪的individuals都属于该匿名类的,“我做的蛋糕”这个类也属于这个匿名类。所以当我们对一个类进行限制时,在supperclass里定义。 实用文档2定义一些其他的类(一些使用技巧)【Pizza子类NamedPizza】【NamedPizza子类MargheritaPizzahasatleastonetoppingsofMozzarellaToppingandTomatoTopping】【创建AmericanaPizza通过克隆MargheritaPizza因为他扩展了一个限制PepperoniTopping】【创建AmericanHotPizza通过克隆AmericanaPizza增加限制JalapenoPepperTopping】【创建SohoPizza克隆MargheritaPizza增加OliveTopping和ParmezanTopping】4.10使用Reasoner(推理机):thereasonershippedwithProt´eg´eiscalledFact++.:两种hierarchy:InProt´eg´e4the‘manuallyconstructed’classhierarchyiscalledtheassertedhierarchy.Theclasshierarchythatisautomaticallycomputedbythereasoneriscalledtheinferredhierarchy.:主要功能:1,判断一个类是否是另一个类的子类2,consistencychecking(一致性检测):【为了使用推理机,我们先定义一个矛盾的类ProbeInconsistentTopping,让他既是CheeseTopping又是VegetableTopping的子类,前提是这两个类是disjoint的】:Ifaclasshasbeenfoundtobeinconsistentit’sicon 实用文档willbehighlightedinred.【将CheeseToppingVegetableTopping设为非disjoint的之后,再Classify,观察结果】4.11充分必要条件(primitiveclass和definedclass)Alloftheclassesthatwehavecreatedsofarhaveonlyusednecessaryconditionstodescribethem.Necessaryconditionscanbereadas,“Ifsomethingisamemberofthisclassthenitisnecessarytofulfilltheseconditions”.Withnecessaryconditionsalone,wecannotsaythat,“Ifsomethingfulfillstheseconditionsthenitmustbeamemberofthisclass”.只定义了必要条件的类叫做primitiveclass定义了充要条件的类叫做definedclass【定义Pizza的子类CheesyPizza定义限制hasToppingsomeCheeseTopping】【将其转化为充分必要条件】【Classify我们可以看出definedclass的不同】总结::ifclassAisnowdefinedusingnecessaryandsufficientconditions,wecansaythatifanindividualisamemberoftheclassAitmustsatisfytheconditionsandwecannowsaythatifany(random)individualsatisfiestheseconditionsthenitmustbeamemberofclassA. 实用文档4.12AutomatedClassification(自动分类)为什么要使用Reasoner。当我们创建了成百上千的类时,使用Reasoner来自动计算子类父类之间的关系将是十分必要的。没有了Reasoner我们很难保证大规模本体的健壮性和逻辑性。自动分类这项技术,使得本体可维护并且模块化,它不仅使得其他的本体和程序能够reuse我们定义的本体,而且还最大限度的减少了使用者在建立多继承类时的错误。【使用OWLViz显示类的继承层次结构】4.13UniversalRestrictions(QuantifierRestrictions)【创建一个Pizza的子类VegetarianPizza】【增加限制hasToppingonly(CheeseToppingorVegtableTopping)】ThismeansthatifsomethingisamemberoftheclassVegetarianPizzaitisnecessaryforittobeakindofPizzaanditisnecessaryforittoonly(universalquantifier)havetoppingsthatarekindsofCheeseToppingorkindsofVegetableTopping,也可以没有,比如,中国现在实行计划生育,如果夫妻有了孩子那么只能有一个,但是这个夫妻也可以没有孩子。那么就不存在only这个限制。【将上面的必要条件转化为充分条件】4.14AutomatedClassificationandOpenWorldReasoning【使用推理机进行自动分类】 实用文档我们发现MargheritaPizza和SohoPizza并没有被归类为VegetarianPizza的子类,但是按照我们的定义,MargheritaPizza和SohoPizza都至少有个蔬菜的顶部和奶酪的顶部,再看VegetarianPizza的充要条件,onlyhave蔬菜的顶部和奶酪的顶部的pizza都是VegetarianPizza。但是ReasoninginOWL(DescriptionLogics)isbasedonwhatisknownastheopenworldassumption(OWA),意思是,除非我们明确的说明某个事物的存在,否则我们就不能说他是存在的。分析上面的:因为我们没有明确的指定他们只有奶酪和蔬菜顶,那么他们就可以有其他的顶部。这样的话,他们就不符合VegetarianPizza的充要条件了。为了使这两种pizza只有蔬菜和奶酪顶部,我们就得在hasTopping上使用closureaxiom(封闭公理)4.14.1ClosureAxioms(封闭公理)itcanonlybefilledbythespecifiedfillers.Therestrictionhasafillerthatistheunionofthefillersthatoccurintheexistentialrestrictionsfortheproperty。【为MargheritaPizza的hasTopping添加封闭公理】【hasToppingonly(MozzarellaToppingorTomatoTopping)】【为其他几个pizza使用更方便的方法添加封闭公理】现在我们可以说,MargheritaPizza至少有一个MozzarellaTopping和TomatoTopping,并且thetoppingsmustonly 实用文档bekindsofMozzarellaToppingorTomatoTopping。【Classify之后我们看结果】4.15ValuePartitionsValuePartitionsare他并不属于任何一种本体语言的一部分,而是一种设计模式,类似于面向对象程序设计中的设计模式。它可以改善我们对类的描述。【创建thing的子类ValuePartition】【ValuePartition的子类SpicinessValuePartition(HotMediumMild)】【创建ObjectPropertyhasSpiciness并使其functional】【为SpicinessValuePartition增加coveringaxiom在equivalent里面输入HotorMediumorMild】这种设计模式的效果我们可以看个对比图:disjoint(关键词)4.16AddingSpicinesstoPizzaToppings 实用文档【对PepperTopping的所有子类设置必要条件hasSpicinesssomeHot】【定义Pizza的子类SpicyPizza设置必要条件:hasToppingsome(PizzaToppingandhasSpicinesssomeHot)】【将必要条件化为充要条件】Fillter描述了一个匿名类,这个顶是Pizzatopping,并且特别辣。【Classifiy之后我们发现AmericanHotPizza成为了SpicyPizza的子类】4.17CardinalityRestrictions(Owl的restriction中的第二种)describetheclassofindividualsthathaveatleast(min),atmost(max)orexactlyaspecifiednumber(exactly)ofrelationshipswithotherindividualsordatatypevalues.【创建Pizza的子类InterestingPizza定义必要条件hasToppingmin3】注意:我们这里3后面并没有指定fillter是什么,代表可以是任意的individuals,等价于::hasToppingmin3Thing【转化为充要条件】【Classify之后观察。。。】4.18Qualified(受限的)CardinalityRestrictions 实用文档他比上面的morespecify【定义NamedPizza的子类FourCheesePizza定义必要条件hasToppingexactly4CheeseTopping】5.DatatypePropertiesdescriberelationshipsbetweenanindividualanddatavalues.【现在来描述pizza所含的热量】【增加DatatypePropertieshasCalorificContentValue】【增加individualExampleMargherita其type是MargheritaPizza】【为该对象增加DataPropertyassertion其中type选择integer值填写250】【增加individualExampleSoho其type是SohoPizza】【为该对象增加DataPropertyassertion其中type选择integer值填写800】我们声明所有的pizza都有热量值【选定Pizza类,增加Supperclass选择Datarestrictioncreator】我们对pizza的热量值进行分类,产生不同的pizza【创建HighCaloriePizza和LowCaloriePizza作为Pizza的子类】 实用文档【创建SupperClass选择Classexpressioneditor】【键入PizzathathasCalorificContentValuesomeinteger[>=400]】【同理LowCaloriePizza应当是<400】【分别将他们设为充要条件】【Classify之后我们看他们的members】某一确定的Pizza他所含的热量是固定的,也就是说是单值的,我们可以使用functional来限定DataProperty。【选定hasCalorificContentValue选中functional】6.MoreOnOpenWorldReasoning这部分主要展示了OpenWorldReasoning中的细微差别【创建NonVegetarianPizza类,作为VegetarianPizza类的complement】【使他们disjoint】【双击Supperclass中的pizza,添加PizzaandnotVegetarianPizza】【转换为充分必要条件】【Classify...之后观察】 实用文档我们创建一个类,doesnothaveaclosureaxiom(封闭公理)onthehasToppingproperty【创建NamedPizza的子类UnclosedPizza】【必要条件:hasToppingsomeMozzarellaTopping】【Classify...之后观察UnclosedPizza既不是VegetarianPizza也不是NonVegetarianPizza.】前面封闭公理部分已经讲过了原因。7.CreatingOtherOWLConstructs7.1CreatingIndividuals我们现在来描述pizza饼起源的国家;【创建Thing的子类Country】【创建individual::ItalyEnglandAmericaFrance】因为相同的individual可以有不同的名称。【是他们Differentfromeachother】7.2hasValueRestrictions(Owl的restriction中的第三种)描述的是两个individual之间至少有的关系P,【创建Objectproperty::hasCountryOfOrigin】【选定MozzarellaTopping增加必要条件hasCountryOfOriginvalueItaly】7.3EnumeratedClasses【选定Country类,在Equivalentclass处增加{America,England,France, 实用文档Italy}】意思是如果一个individual他属于Country,那么他一定属于这几个国家中的一个。 实用文档 实用文档
此文档下载收益归作者所有
举报原因
联系方式
详细说明
内容无法转码请点击此处