基于抽取规则和本体映射的领域XML语义集成
2016-10-28李华昱张培颖
李华昱,张培颖,肖 晗
(中国石油大学(华东)计算机与通信工程学院,山东青岛 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.