APP下载

基于抽取规则和本体映射的领域XML语义集成

2016-10-28李华昱张培颖

河北科技大学学报 2016年4期
关键词:实例本体文档

李华昱,张培颖,肖 晗

(中国石油大学(华东)计算机与通信工程学院,山东青岛 266580)



基于抽取规则和本体映射的领域XML语义集成

李华昱,张培颖,肖晗

(中国石油大学(华东)计算机与通信工程学院,山东青岛266580)

油气井工程领域中存在大量的XML文档,传统的XML集成方案无法提供面向语义的信息查询,导致数据利用率不高。针对油气井XML文档WeXML语义集成与查询应用需求,提出一种基于抽取规则和本体映射的语义集成方法。首先定义一系列类、属性抽取规则,分别将WeXMLSchema中的元素、属性映射为WeOWL本体中的类和属性;然后,利用实例转换算法将WeXML文档转换为本体实例数据;由于WeOWL提供有限的局部语义模型,需要在两者之间建立语义映射,并借助WeOWL中的术语对全局语义模型中的类和属性进行解释,进而提供面向领域全局本体的语义查询。通过构建WeXML数据语义集成原型系统,对提出的转换规则、转换算法和映射规则进行了验证。

计算机信息管理系统;抽取规则;本体映射;领域XML;语义集成

XML是领域数据重要的信息表示和存储形式,也是应用系统之间进行数据交换的主要标准。然而,由于XML缺乏足够的语义信息,传统的XML集成方案无法提供基于领域术语的语义查询,而利用语义Web与本体技术,对XML文档进行语义集成,是一种有效的解决方案,也是领域数据集成的研究热点之一。

目前,XML语义集成主要采用2类方法:1)定义一系列映射规则,从XML文档或XMLSchema中抽取本体,并利用映射信息将XML数据转换为本体实例数据,再通过构建基于语义的查询访问接口,实现语义集成。针对此类方法,刘显敏等[1]提出了一种基于XML键规则语义实体抽取方法,以此提高XML查询效率;XML2OWL系统首先采用XSLT描述语义抽取规则建立OWL本体,再通过实例转换过程生成本体实例数据[2];FERDINAND等[3]提出了XMLSchema映射为OWL本体和将XML转换为RDF数据的2种独立方法;XU等[4-5]提出了一种基于映射规则的领域本体构建方法,该方法能够从XMLSchema抽取语义信息并构建XML本体。乔卫[6]设计了XML语义信息抽取模型,通过4个功能模块解决了XML的语义信息抽取问题,特别是XML结构所隐含的语义。2)在XMLSchema与已有本体之间建立语义映射,利用本体模型描述XML数据并通过实例转换或者查询重写,提供面向本体模型的语义查询。例如,WEESA[7]和XMLTOWL[8]采用XML和XSLT定义XMLSchema与本体之间的映射规则,自动将XML文档转换为本体实例;文献[9]采用2个子过程,借助XSLT,分别将XMLSchema和XML文档映射为本体模型和实例数据;LEHTI等[10]提出的本体映射方法中,不提供实例数据转换功能,而是利用查询重写,将基于语义的查询转换为面向XML的Xquery查询。CRUZ等[11-12]和XIAO[13]提出了一个基于本体的XML语义数据集成框架,该框架首先将局部XML本体进行合并生成全局RDF本体,再构造一个模式映射表,记录全局和各个局部本体之间的映射,进而实现语义集成。

石油、材料领域中存在若干个XML模型[14],如PetroXML,WellLogML,WITSM[15]和MatML[16]等,针对油气井XML文档WeXML,基于文献[17]和文献[18]中的MatML语义集成方法及相关领域数据集成方案[19-20],提出了语义解决方案,首先通过定义抽取规则从WeXMLSchema中抽取油气井局部本体WeOWL,并通过实例转换部件将WeXML文档转换为WeOWL本体实例数据;由于MatOWL是从WeXMLSchema中抽取而来,仅提供油气井的基本语义信息,需要利用逻辑规则,在WeOWL与领域本体之间建立语义映射,并借助语义映射信息和逻辑规则,实现面向领域语义概念模型的油气井XML数据的语义集成与语义查询。

1 WeXML语义集成框架

1.1WeXML基本结构

WeXML(wellXML)是一种描述油气井日常生产相关数据的XML文档,通过XML数据类型、complexType和simpleType,WeXMLSchema定义了Dept,Well和Geology3类一级元素和75种其他子元素和属性,WeXML基本结构如图1所示。

图1 WeXML 基本结构 Fig.1 Basic sturcture of WeXML

图1中,实线矩形框表示元素类型,以@开头的矩形框表示属性。Dept,Well和Geology是3类一级元素类型:Dept描述油气井单位隶属关系,包括矿区和小队;Well是WeXML中的核心类型,包括油井和气井2种类型,记为OilWell和GasWell,每种类型定义产量、压力、泵工艺等子元素,分别描述日产油、日产液、日产气、月产油、月产液、月产气、工艺措施、含水、含砂、压力类型、泵压力、泵排量、泵径、泵深等相关数据;Geology类型描述油田、区块和储层等信息。

1.2相关定义

定义1WeXMLSchema=(CT,ST),ST={st|stisxsd:simpleType},CT={ct|ctisxsd:complesType}=E∪ATT,其中:E={e|eisaxsd:Element},ATT={att|attisaxsd:Attribute}

定义2XSDType为XMLSchema类型集合,XSDType={string,date,dicimal,integer,…}

建立函数集合FSchema={getEles,getAttrs,getXSDType}:

1)getEles(ct),getAttrs(ct) 分别获取ct的子元素和属性;

2)getXSDType(att/st) 分别获取att/st的名称、类型和对应的XMLSchema数据类型。

定义3WeOWL=(C,OP,DP,I,A0)

WeOWL(wellOWLontology)是从WeXMLSchema抽取而来,其中,C是概念集合,OP是对象属性集合,DP是数据类型属性集合,I是实例集合,A0是公理集合。针对WeOWL定义,建立函数集合FWeOWL={hasDomain,hasRange,hasSuperclass}:

1)∀p∈OP∪DP,∀x,y∈C∪XSDType,p.hasDomain(x) 表示属性p的Domain中包含类x,p.hasRange(y) 表示属性p的Range中包含类y;

2)∀c,x∈C,x=hasSuperclass(c) 用于表示类x为类c的一个父类。

由于WeOWL是从WeXMLSchema抽取而来,无法表达比WeXMLSchema更丰富的语义信息,需要将WeOWL与领域本体建立映射关联,才能提供更为有效的语义集成服务,为此,引入油气井工程领域本体WeDOWL(wellengineeringdomainOWLontology)。

定义5y=fC/P(x) 为语义抽取函数:x∈ST∪CT∪XSDType,y∈C∪OP∪DP,x为WeXMLSchema中的类型或者属性;y=fC/P(x) 表示y是由x抽取生成的WeOWL类、对象属性或者数据类型属性

图2 WeXML 语义集成框架Fig.2 Semantic integration framework of WeXML

1.3语义集成框架

WeXML语义集成框架如图2所示,包括WeXML数据层、本体实例转换层、语义集成业务层和应用层。

1)WeXML数据层:包括由各个采油生产单位提交的WeXML文档。

2)本体实例转换层:参照语义抽取规则,通过实例转换算法,将WeXML中的油气井数据转换为WeOWL实例数据,即填充WeOWL实例集合I。

3)语义集成业务层:针对WeXMLSchema结构,定义语义抽取规则,将WeXMLSchema中元素和属性映射为WeOWL中的类、属性以及层次关系并建立WeOWL本体;在WeOWL与WeDOWL之间建立语义映射,提供基于领域概念模型的语义查询。

4)应用层:基于WeOWL语义概念模型,提供可视化查询构造界面,能够根据查询需求构造SPARQL[21]查询语句;通过读取规则库中的逻辑规则并借助推理机,实现面向WeOWL实例数据进行语义查询。

2 WeOWL构建

2.1语义抽取规则

通过对WeXMLSchema结构进行分析,并参照HUNTER等[22]提出的方法,分别针对类、层次结构、对象属性、数据对象属性和基数定义5项抽取规则,从WeXMLSchema中抽取语义信息并建立WeOWL本体,规则如下。

规则1Class抽取规则

∀t∈CT∪STR→(∃c∈C)∧(c.id=getName(t))

规则说明:对于任意CT或STR类型t,它将被转换为WeOWL中的一个类c,并将t的名称作为c的标志符。该规则简记为c=fC(t)。

规则2ClassHierarchy生成规则

规则2.1∃c1∈C∧(c1.id=’Well’)∧∃c2∈C(c2.id=’OilWell’∨c2.id=’GasWell’)→c1=hasSuperclass(c2)

规则2.2∃c1∈C∧(c1.id=’ProdO’)∧∃c2∈C(c2.id=’DOProd’∨c2.id=’MOProd’)→c1=hasSuperclass(c2)

规则2.3∃c1∈C∧(c1.id=’ProdG’)∧∃c2∈C(c2.id=’DGProd’∨c2.id=’MGProd’)→c1=hasSuperclass(c2)

规则说明:2.1将’Well’类设置为’OilWell’和’GasWell’的父类,即将“油井”和“气井”设置为“井”的子类;2.2将’ProdO’类设置为’DOProd’和’MOProd’的父类,即将“日产油”和“月产油”设置为 “产油”的子类;2.3将’ProdG’类设置为’DGProd’和’MGProd’的父类,即将“日产气”和“月产气”设置为“产气”的子类。

定义子类集合Cchild={OilWell,GasWell,DOProd,MOProd,DGProd,MGProd},Cchild包含上述6个子类。

规则3ObjectProperty抽取规则

∀ct∈CT∧(∀x∈getEles(ct)∪getAttrs(ct))∧(x∉Cchild)∧(getType(x)∈CT∪STR)→

(∃op∈OP)∧(op=fOP(x))∧(op.id=getName(x))∧(op.hasDomain(fC(ct)))∧

(op.hasRange(fC(getType(x))))。

规则说明:对于任意CT类型ct,如果其包含的元素或属性x是CT类型或是ST类型,并且x不包含在Cchild集合,则x将被抽取为对象属性op。同时,类fC(ct)被添加到op的domain中,类fC(getType(x)) 被添加到op的range中。该规则简记为op=fP(ct.x)。

规则4DataTypeProperty抽取规则

∀ct∈CT∧(∀x∈getElements(ct)∪getAttributes(ct))∧(getType(x)∈ST)∧(getXSDType(x)∈XSDType)→(∃dp∈DP)∧(dp=fC/DP(x))∧(dp.id=getName(x))∧(dp.hasDomain(fC/P(ct)))∧(dp.hasRange(getXSDType(x)))。

规则说明:对于任意CT类型ct,如果其包含的元素或属性x为ST简单类型或为XMLSchema数据类型,x将被抽取为一个数据类型属性dp。同时,类FC/P(ct)将被添加到dp的domain中,类FC/P(getXSDType(x))将被添加到dp的range中。该规则简记为dp=fP(ct.x)。

规则5PropertyCardinality生成规则

∀ct∈CT∧(∀x∈getEles(ct)∪getAttrs(ct))∧(∃c=fC(ct))∧(∃p=fP(ct.x)),定义如下子规则:

规则5.2(x.minOccurs=m)∧hasAtt(x.maxOccurs)→p.MinCardinality(c) =m

规则说明:如果元素x没有定义minOccurs和maxOccurs属性,则p对于类c的Cardinality设定为1;如果x的minOccurs数值为m,并且没有定义maxOccurs属性,则p对于类c的Cardinality设定为m。

基于1.2定义的函数和2.1定义的抽取规则,通过“本体抽取”模块从WeXMLSchema中获取结构信息并建立WeOWL本体,WeOWL结构如图3所示,其中WeXML是WeOWL的root类。

在利用抽取规则建立WeOWL本体过程中,设置映射表MapTab(mappingtable)描述WeXMLSchema中元素、属性和WeOWL中类、属性之间的对应关系。

图3 WeOWL 本体结构 Fig.3 Structure of WeOWL ontology

2.2WeOWL实例数据转换

生成WeOWL后,需要利用本体实例转换部件(WeOWLinstancetransformation)并参照语义抽取规则,通过转换算法对WeXML进行遍历,依次读取元素、属性和数值信息,生成WeOWL实例数据。实例转换算法如表1所示,输入为WeXML文档wexml.xml,WeOWL本体模型weowl.owl,输出结果为包括本体实例数据的weowl’。

TraverseXML主要包括Transform和TransfromST2个函数。其中,Transform采用递归形式遍历wexml.xml文档,针对CT和ST类型元素分别进行转换;TransformST专门处理ST类型元素的转换。

表1 WeOWL实例转换算法

算法首先读取wexml.xml文档并将文档根节点记为rootNode;然后,针对rootNode每一个子节点执行Transform函数(1-4行),Transform函数根据传入的node参数类型,分别进行处理: 如果为CT类型,从MapTab映射表中获取node对应的类记为c(5-7行),并遍历node的每一个属性和子元素(8行),其中,属性直接转换为数据类型实例数据(9-11行),子元素如果为CT类型,递归执行Transform函数并转换为对象类型实例数据(13-14行),如果为ST类型,执行TransformST函数(15-16行)。TransformST函数根据ST是否为枚举类型,分别处理ST类型的实例数据转换(19-24行)。

3 本体映射

由于WeOWL是从WeXMLSchema中抽取而来,仅提供局部、有限的语义信息,需要在WeOWL和WeDOWL之间建立语义映射,进而提供面向领域全局语义模型的语义查询。

本体映射由用户通过逻辑规则进行定义,定义的逻辑规则将存入到规则库中。通过参照逻辑规则,推理机引擎能够利用WeOWL术语对WeDOWL中的类和属性进行解释,自动地将WeOWL本体实例数据归类为WeDOWL实例。逻辑规则定义形式如下所示:

weowl:Oilwell(?x)∧weowl:hasMeasure(?x,?y)∧weowl:hasMeasureDate(?y,?z)→wedowl:MeaOilWell(?x)。

以上规则表示:如果在WeOWL中x为油井,并且在某一时间进行过工艺措施,那么x可以作为WeDOWL中的“措施油井”类型。

例如:查询“2015年1月以后所有措施油井井号、增油产量及实施的工艺措施类型”,可以通过设定以下逻辑规则:

weowl:Oilwell(?x)∧weowl:hasWellNo(?x,a)∧weowl:hasMeasure(?x,?b)∧weowl:hasMeasureDate(?b,?c) ∧weowl:measureDate(?c,’2015.1’)∧weowl:oilAdd(?b,?d)∧weowl:hasMeaName(?b,?e)→wedowl:MeaOilWell(?x)∧wedowl:wellName(?x,?a)∧wedowl:oilAdd(?x,d)∧wedowl:MeaType(?x,?b)。

用户可以通过查询构造器设置如下SPARQL语句:

Select?a?b?c

Where{ ?ardf:typeMeaOilWell. ?awedowl:wellName?b.?awedowl:oilAdd?c. }

查询语句提交给语义查询处理器后,处理器将利用规则库和推理机,自动将WeOWL中相关实例数据归类为MeaOilWell实例,完成语义查询。

4 系统实现

基于Eclipse开发平台,开发了WeXMLSemSys原型系统。WeXMLSemSys采用JavaSwing设计查询操作界面,将Dom4j作为WeXML文档的解析工具,利用JenaAPI完成Sparql语义查询和逻辑推理。该原型系统主要包括3个功能:浏览WeXML数据内容并将WeXML文档转换为WeOWL实例数据;通过Sparql语句对数据进行查询;利用Jena推理机和逻辑规则实现推理并返回语义查询结果。

在实际应用中,WeXMLSemSys读取了胜利油田某采油厂2015年的103个WeXML文档,每个文档包含1-2口油井的生产数据,通过实例转换算法产生了基于领域全局本体的WeDOWL的实例数据,能够有效支持面向语义的数据查询,提高数据使用效率。

5 结 语

近年来,很多学者关注XML语义集成和XML与本体之间映射的相关研究,并取得了一定的应用成果。通过比较,本文提出的方法具有以下特点:1)WeOWL本体构建方法并不是将XML文档直接与特定本体进行映射,而是首先根据抽取规则,自动构建局部本体,然后再与领域全局本体进行语义映射;2)该方法是针对特定领域的XML文档WeXML,除了与相关工作类似的集成方法之外,还根据WeXMLSchema和领域特点,加入了特定的抽取规则和映射方法。通过构建原型系统WeXMLSemSys,对本文提出的方法进行了验证,取得了良好的应用效果。

/< class="emphasis_italic">References

[1]刘显敏, 李建中. 基于键规则的XML实体抽取方法[J]. 计算机研究与发展,2014,51(1):64-75.

LIUXianmin,LIJianzhong.Key-basedmethodforextractingentitiesfromXMLdata[J].JournalofComputerResearchandDevelopment, 2014, 51(1):64-75.

[2]BOHRINGH,AUERS.MappingXMLtoOWLontologies[J].LeipzigerInformatik-Tage, 2005,72:147-156.

[3]FERDINANDM,ZIRPINSC,TRASTOURD.LiftingXMLSchematoOWL[J].LectureNotesinComputerScience, 2004,3140:354-358.

[4]XUJiuyun,WANGHongquan,DUANYouxiang,etal.AutomaticallybootstrappingOWLontologiesfromdomain-specificXMLdocuments[J].JournalofComputationalInformationSystems, 2007,3(3): 1269-1276.

[5]XUJiuyun,WANGHongquan,DUANYouxiang.Auto-buildingOWLontologyfromXMLdatasources[J].JournalofComputationalInformationSystems, 2006,2(3):1051-1057.

[6]乔卫. 基于领域本体的XML语义信息抽取的研究与实现[D]. 武汉:武汉理工大学,2009.

QIAOWei.ResearchandImplementationofXMLSemanticInformationBasedonDomainOntology[D].Wuhan:WuhanUniversityofTechnology, 2009.

[7]REIFG,JAZAYERIM,GALLH.Towardssemanticwebengineering:WEESA-MappingXMLSchematoontologies[C] //InWorkshoponApplicationDesign.NewYork:IEEEComputerSociety, 2004:105-109.

[8]KOBEISSYN,GENETMG,ZEGHLACHED.MappingXMLtoOWLforseamlessinformationretrievalincontext-awareenvironments[C] //InternationalConferenceonPervasiveServices.[S.l.]:[s.n.], 2007:349-354.

[9]靖争.XML/Schema到OWLDL本体映射的研究[D]. 沈阳:东北大学,2008.

JINGZheng.ResearchonMappingXML/SchematoOWLDLOntology[D].Shenyang:NortheasternUniversity,2008.

[10]LEHTIP,FANKHAUSERP.XMLdataintegrationwithOWL:Experiencesandchallenges[C] //InternationalSymposiumonApplicationsandtheInternet. [S.l.]:IEEEComputerSociety, 2004:160-167.

[11]CRUZIF,XIAOH,HSUF.Anontology-basedframeworkforXMLsemanticintegration[J].Ideas, 2004,26(1):217-226.

[12]CRUZIF,XIAOH,LABA.Theroleofontologiesindataintegration[J].InternationalJournalofEngineeringIntelligentSystemsforElectricalEngineeringandCommunications, 2005, 13(4):245-252.

[13]XIAOH.QueryProcessingforHeterogeneousDataIntegrationUsingOntologies[D].Chicago:UniversityofIllinois, 2006.

[14]王宏琳.石油勘探开发信息技术发展态势——数据集成、应用集成和知识集成[J]. 石油工业计算机应用, 2007, 15(1):6-11.

WANGHonglin.Thetrendofnformationtechnology:Dataintegrationapplicationintegrationandknowledgeintegrationinoilexplorationanddevelopment[J].ComputerApplicationsofPetroleum,2007, 15(1):6-11.

[15]WELLSITE.InformationTransferStandardMarkupLanguage[EB/OL].http://www.witsml.org,2007-03-16.

[16]BEGLEYEF.MatMLVersion3.1Schema[EB/OL].http://www.matml.org,2011-02-23.

[17]ZHANGXiaoming,HUChangjun,LIHuayui.SemanticqueryonmaterialsdatabasedonmappingMatMLtoanOWLontology[J].DataScienceJournal,2009,8:1-17.

[18]张晓明. 领域科学数据语义集成模型及映射[D]. 北京:北京科技大学,2009.

ZHANGXiaoming.Domain-specificSemanticModelandMappingforScientificDataIntegration[D].Beijing:UniversityofScienceandTechnologyBeijing, 2009.

[19]刘紫玉,杨国霞, 李学会. 基于本体的多专业领域知识语义检索系统研究[J]. 河北科技大学学报, 2011, 32(5):471-476.

LIUZiyu,YANGGuoxia,LIXuehui.Researchinsemanticretrievalsystemforknowledgeofmultiplemajorsdomainbasedonontology[J].JournalofHebeiUniversityofScienceandTechnology, 2011,32(5):471-476.

[20]张立岩,张世民. 基于语义相似度的主观题评分算法研究[J]. 河北科技大学学报,2012,33(3):263-265.

ZHANGLiyan,ZHANGShimin.Algorithmofsubjectiveitemmarkingbasedonsemanticsililarity[J].JournalofHebeiUniversityofScienceandTechnology, 2012,33(3):263-265.

[21]PRUD'HOMMEAUXE,SEABORNEA.SPARQLQueryLanguageforRDF[EB/OL].http://www.w3.org/TR/rdf-sparql-query,2008-01-15.

[22]HUNTERJ,LITTLES,SCHROETERR.Theapplicationofsemanticwebtechnologiestomultimediadatafusionwithinescience[C]//SemanticMultimediaandOntologies.Springer:[s.n.], 2008: 207-226.

DomainXMLsemanticintegrationbasedonextractionrulesandontologymapping

LIHuayu,ZHANGPeiying,XIAOHan

(CollegeofComputerandCommunicationEngineering,ChinaUniversityofPetroleum,Qingdao,Shandong266580,China)

AplentyofXMLdocumentsexistinpetroleumengineeringfield,buttraditionalXMLintegrationsolutioncan’tprovidesemanticquery,whichleadstolowdatauseefficiency.InlightofWeXML(oil&gaswellXMLdata)semanticintegrationandqueryrequirement,thispaperproposesasemanticintegrationmethodbasedonextractionrulesandontologymapping.ThemethodfirstlydefinesaseriesofextractionruleswithwhichelementsandpropertiesofWeXMLSchemaaremappedtoclassesandpropertiesinWeOWLontology,respectively;secondly,analgorithmisusedtotransformWeXMLdocumentsintoWeOWLinstances.BecauseWeOWLprovideslimitedsemantics,ontologymappingsbetweentwoontologiesarethenbuilttoexplainclassandpropertyofglobalontologywithtermsofWeOWL,andsemanticquerybasedonglobaldomainconceptsmodelisprovided.ByconstructingaWeXMLdatasemanticintegrationprototypesystem,theproposedtransformationalrule,thetransferalgorithmandthemappingrulearetested.

computerinformationmanagementsystem;extractionrules;ontologymapping;domainXML;semanticintegration

1008-1542(2016)04-0416-07

10.7535/hbkd.2016yx04015

2015-10-13;

2015-11-24;责任编辑:陈书欣

山东省自然科学基金(ZR2014FQ018); 中央高校基本科研业务费专项资金(14CX02030A)

李华昱(1977—),男,山东寿光人,副教授,博士,主要从事语义Web与数据集成方面的研究。

E-mail:lhyzj@upc.edu.cn

TP391

A

李华昱,张培颖,肖晗.基于抽取规则和本体映射的领域XML语义集成[J].河北科技大学学报,2016,37(4):416-422.

LIHuayu,ZHANGPeiying,XIAOHan.DomainXMLsemanticintegrationbasedonextractionrulesandontologymapping[J].JournalofHebeiUniversityofScienceandTechnology,2016,37(4):416-422.

猜你喜欢

实例本体文档
浅谈Matlab与Word文档的应用接口
有人一声不吭向你扔了个文档
眼睛是“本体”
基于本体的机械产品工艺知识表示
基于RI码计算的Word复制文档鉴别
Persistence of the reproductive toxicity of chlorpiryphos-ethyl in male Wistar rat
完形填空Ⅱ
完形填空Ⅰ
专题
Care about the virtue moral education