基于关系数据库的Web服务本体存储

2015-01-18 09:24:48全立新
宜宾学院学报 2015年12期
关键词:主键关系数据库实例

全立新

(湖南财政经济学院信息管理系,湖南长沙410205)

基于关系数据库的Web服务本体存储

全立新

(湖南财政经济学院信息管理系,湖南长沙410205)

Web服务与本体结合是语义Web服务应用的基础,而关系数据库是当前本体存储的主要方式,研究基于关系数据库的Web服务存储是语义Web服务的重要内容之一.在比较现有基于关系数据库本体存储模式优劣的基础上,总结归纳了基于关系数据库Web服务本体存储的七条原则,给出了一种基于关系数据库存储Web服务本体的关系模式设计,并在SQLService 2008系统中实现.提出了Web服务本体的存储方案,并与OWL-S具有兼容性,可为Web服务大规模的存储、Web服务的语义查询及Web服务信息的管理提供依据和借鉴.

Web服务本体;关系数据库;OWL-S;存储模式

SOA是一种以服务为中心的分布式软件架构方法,已成为软件工程技术发展的重要趋势[1].Web服务发现是SOA基础核心问题.Web服务发现的过程是以用户需求为目的,精准、有效地从Web服务库中匹配到能够满足用户需求的Web服务过程.目前,Web服务发现技术按匹配方式分类主要分为三类[2-3]:第一类是基于关键字的匹配方式,此类方式类似于传统的信息检索的工作方式,其查准率和查全率都不高;第二类是基于分类法的匹配方式,根据分类法对Web服务进行功能归类,用结构化查找的方式进行查找,其查准率要高于第一类,而查全率不高;第三类为基于语义的匹配方式,此方式在Web服务中加入语义信息使之成为语义Web服务,从而增强Web服务的计算机可读性.研究证明,第三类方式拥有极高的查全率和查准率.

基于语义匹配方式的巨大优势使之成为服务发现热门的研究方向,而Web服务本体及描述语言是语义Web服务发现的关键技术.Web服务存储方式的不同,查找的策略和效率也将不同.所以,研究Web服务本体存储是一项基础且有现实意义的工作.本文将提出一种基于关系数据库的Web服务本体存储方法.

1 Web服务本体语言OWL-S[4]

OWL-S最早于2001年5月提出,它是一种Web服务语义标记语言,是用来描述Web服务属性和功能的OWL本体规范,主要是为了解决Web服务描述和发现以及业务组合的语义表示.图1所示为OWL-S描述的服务的顶层本体[4].

图1 服务顶层本体

由图1知,服务本体包括ServiceProfile、Service⁃Model和ServiceGrounding三个方面的基本信息,它们分别表示“服务是做什么的”“服务是如何工作的”“服务是如何被访问的”.Service类表示一个发布的Web服务,presents、describedby、supports则是Ser⁃vice类的三个属性,分别与ServiceProfile、Service⁃Model和ServiceGrounding三个类映射.

1)ServiceProfile:描述了服务的功能信息、基本信息、QoS信息等.Profile是ServiceProfile子类,通过haslnput、hasoutput、haspreocndition、hasEeffet等属性来描述服务功能信息;通过serviceName、isPresented⁃By、textDescription等属性来描述服务基本信息;通过serviceParameter、serviceCategory等属性来描述服务特性信息.

2)ServiceModel:OWL-S将服务看作一个过程,Process作为ServiceModel的子类,详细描述了服务的工作过程与细节.Process主要分为AtomicPro⁃cess、SimpleProcess和CompositeProcess三种类型.其中,AtomicProcess是不可再分且能直接调用的最小粒度的服务,必须提供一个ServiceGrounding信息;SimpleProcess不可直接调用,不需要提供Service⁃Grounding信息,它的作用是提供SimpleProcess的视图或简化CompositeProcess,而CompositeProcess可以由其他AtomicProcess或SimpleProcess通过控制构词组合而成的服务.

3)ServiceGrounding:描述了如何访问服务的相关信息,如协议、接口、消息格式、序列化、和寻址等信息.OWL-S采用WSDL作为Grounding,Grounding是ServiceGrounding的子类.

2 基于关系数据库本体存储模式分析

目前,对本体存储文献较多,但对Web服务本体存储的研究文献很少.Web服务本体作为本体的一个子集与通常说的本体存在许多共性.在对关系数据库存储本体研究中,有不少研究者对关系模型和本体模型进行了异同研究,提出了多种运用关系模式来存储本体信息的方法,归纳起来主要有水平模式、垂直模式、分解模式和混合模式四种[5-9].下面将对这四种模式进行技术分析与比较:

1)水平模式:用一个二元表存储,本体中类的每一个属性对应表中一列,表的一条记录对应本体的一个实例,表中列的个数就是所有本体属性之和.优点是简单易于理解.缺点是可读性很差,数据冗余高,维护代价很大,不支持大规模本体的存储,信息查询复杂.

2)垂直模式:用一个三元组的表,表中三列分别RDF的主体、谓词和宾语,表中一条记录就是RDF的一个三元组.优点是模式稳定,增删改操作简单.缺点是查询效率非常低,当查询需要进行多次表的连接时,SQL语句非常复杂,不适合大规模本体存储.

3)分解模式:将本体按照类或者按照属性进行分解.按照类分解就是对本体中的每一个类都设计一个表,类的属性对应表中的一列.这种模式简单,当本体中类很多时,数据库性能不高,维护性差.按照属性分解就是每一个属性创建一张表,该表只有两列,分别存储此属性的定义域和值域.这种模式虽然比较简单,但可用性很差,查询处理代价非常大.分解模式的可维护性差,非常不适应类数量和属性的变化.

4)混合模式:将多种模式结合起来而形成.

通过上述分析,混合模式比较适合Web服务本体不断变化的存储要求.

3 基于关系数据库的Web服务本体存储的设计

3.1 基于关系数据库的模式设计原则

通过前文分析,选取Web服务本体存储模式应遵循以下七个原则:

1)满足关系数据库设计原则[10].因为采用关系数据库来存储本体信息,故应遵循关系数据库设计原则.

2)方便用户使用原则.Web服务本体中的关系模式要清晰,要有利开发人员设计SQL查询语句.

3)关系模式稳定性原则.语义Web服务本体是不断变化的,如果设计的关系模式是稳定的,就不会增加关系数据库系统的维护代价.

4)语义查询高效原则.Web服务本体的主要应用之一就是方便查询,该原则是重要指标.

5)兼容性原则.目前OWL-S是语义Web服务的官方描述语言,得到众多厂家支持,应考虑关系模式与OWL-S文件信息兼容.

6)语义信息完整原则.语义完整性是语义Web服务基于关系数据库存储的重要指标,应该能够存储Web服务本体的显性知识和隐性知识,保证语义Web服务信息的完整性.

7)语义推理高效原则.在设计关系数据库模式时,应考虑关系数据库能够进行Web服务高效本体推理以及推理结果的存储问题.

3.2 基于关系数据库的模式设计

根据3.1节总结出的语义Web服务本体存储的一般原则,设计一种支持基于关系数据库Web服务本体存储的混合模式RDWOMM,具体设计思路如下:

1)RDWOMM为一个通用的语义Web服务存储模式,需要对不同业务领域的Web服务本体信息进行存储,考虑到与OWL-S兼容,并且能保证这些不同的Web服务本体之间不会互相冲突,根据原则5,设计webServiceOntology表来存储Web服务本体头部相关信息.

① webServiceOntology表关系模式:webServi⁃ceOntology(ontid,ontname,nsid,comment,priorVer⁃sion,label,imports),其中,ontid存储本体唯一标识(Int类型,主键),ontname存储本体名称(字符类型),nsid记录命名空间ID(Int类型),comment存储本体注释(字符类型),priorVersion存储本体版本控制信息(字符类型),label存储本体标签(字符类型),imports存储本体导入信息(字符类型).为节省篇幅,以下字段名称相同,字段含义和数据类型也相同,后文将不再解释.

②通过命名空间来区别不同的Web服务本体对象和对象属性.表示命名空间的字符串一般较长,根据原则1,单独创建nameSpace表来存储命名空间,nameSpace表的关系模式:nameSpace(ontid, qualifiednames,nsname),其中,qualifiednames存储命名空间前缀和限定名称(字符类型),nsname存储命名空间字符串(字符类型),ontid与qualifiednames字段构成主键.

2)类、属性和实例构成了OWL-S本体的基本组成元素,这三者之间不会有交集,根据原则2、3,分别将对这三种资源信息用不同的表进行存储.

3)在Web服务本体中的类class分为简单具名类、限制具名类和并集复合类三种.简单具名类没有对象属性限制或基数限制,限制具名类有对象属性的限制或基数限制,复合类的OWL-S中只用并集运算.考虑到OWL-S类的特点,根据原则1、4设计四个表(classes,simpleclasses,RestrictionClasses和unionOfClass)来实现OWL-S类的存储.

①classes存储所有的类基本信息(包括简单类、限制类和复合类),它的关系模式:classes(ontid,cid,cname),其中,cid存储类ID(int类型),cname存储类名称(字符类型),由ontid和cid构成主键.

②simpleClass存储简单类的定义,它的关系模式:simpleClass(cid,upperCid),其中,upperCid存储父类的ID(int类型),由cid和upperCid构成主键.

③RestrictionClass存储限制类的定义,它的关系模式:restrictionClass(cid,upperCid,propertyId,re⁃strictionType,value),其中,upperCid存储父类的ID(int类型),propertyId存储属性对象ID,restriction⁃Type存储限制类型名称,可以取allValuesFrom,som⁃eValuesFrom,hasValue,minCardinality,maxCardinali⁃ty,Cardinality,intersection等值(字符类型),value存储约束值(字符类型),由cid,upperCid和propertyId构成主键.

④unionOfClass存储并集复合类的定义,它的关系模式:unionOfClass(cid,unionOfcid,parseType),其中,unionOfcid存储参与并集运算的类ID(int类型),parseType存储解析器类型名称ID(int类型),cid与unionOfcid构成主键.

4)OWL-S本体对象的属性分为对象属性和数据属性,是查询和使用的高频术语,根据原则4,单独为它们建表,分别是对象属性表(objectProperty)和数据属性表(dataProperty).

①objectProperty存储对象属性的定义,它的关系模式:objectProperty(ontid,opid,objectProperty⁃Name,domain_cid,range_cid),其中,opid存储对象属性编号(Int类型),objectPropertyName存储对象属性名称(字符类型),domain_cid存储定义域类ID(int类型),range_cid存储值域类ID(int类型),ontid和opid构成主键.

②dataProperty存储数据属性的定义,它的关系模式:dataProperty(ontid,dpid,dataPropertyName,do⁃main_cid,dataTypeId),其中,dpid存储数据属性编号(Int类型),dataPropertyName存储数据属性名称(字符类型),dataTypeId参照dataType表,存储数据类型编号(int类型),ontid和dpid构成主键.

③dataType存储本体中定义的数据类型,它与dataProperty表联系使用可节省硬盘空间.其关系模式:dataType(dataTypeId,dataTypeName),其中,dataTypeId存储数据类型编号(int类型,主键),dataTypeName存储数据类型名称(字符类型).

5)OWL-S的实例分为类实例和属性实例,它们也都是Web服务相关查询频率很高的部分,根据原则2、4可以建立classIndividual、datapropertyIndividu⁃al、objectpropertyIndividual三个表.它们分别存储类、数据属性和对象属性的实例,用来实现对类的实例查询和对实例所拥有属性值的查询.

①classIndividual中存储类实例的标识,通过此表可以查询Web本体中类的所有实例或者某个实例所属的类信息.它的关系模式:classIndividual(on⁃tid,ciid,cid,classIndividualValue),其中,ciid存储实例ID,int类型,classIndividualValue存储实例值(字符类型),由ontid、ciid和cid构成主键.

②objectPropertyIndividual存储对象属性的实例标识,通过此表可以查询实例之间关系或者某个对象属性的所有实例等信息.它的的关系模式:ob⁃jectPropertyIndividual(ontid,opid,opiid,ciid1,ciid2),其中,opiid存储对象属性实例编号(int类型),ciid1存储定义域对象实例,ciid2存储值域对象实例,由ontid、opid和opiid构成主键.

③dataPropertyIndividual存储某个类具体的实例特征值信息,通过此表可能查询类所特有的不同于其他类的特征信息,它的关系模式:dataProperty⁃Individual(ontid,dpid,dpiid,ciid,rangevalue),其中,dpiid存储数据属性编号(int类型),ciid存储定义域类编号(int类型),rangevalue存储具体值字符串(字符类型),由ontid、dpid和dpiid构成主键.

6)Web服务本体中层次关系的查询频率高,根据原则4、6、7,故单独建subClassPropertyDef表,用于定义直接层次关系,表subClassProperty定义推理得到的层次关系,两表关系模式完全相同.sub⁃ClassPropertyDef表关系模式:subClassPropertyDef(ontid,supercid,subcid,subType),其中supercid存储父类ID(int类型),subcid存储子类ID(int类型),subType取值class,property其一(字符类型),表示是子类层次还是子属性层次关系,由ontid、supercid、subcid三者构成主键.

7)Web服务本体中ObjectProperty、DatatypePro⁃perty、TransitiveProperty等属性特征是一元关系.属性特征的查询相关频率不高,根据原则4、6,将一元关系组织在表propertyUnitaryRelations和unitary⁃Name中.

①propertyUnitaryRelations的关系模式:proper⁃tyUnitaryRelations(ontid,opid,unid),其中,unid(Int类型)取值参照unitaryName表中的主键,由ontid、opid和unid构成主键.

②unitaryName(unid,unitaryName),其中,unid存储一元关系名称编号(Int类型,主键),unitary⁃Name存储地元关系名称(字符类型),可选取值为ObjectProperty、DatatypeProperty、TransitiveProperty、SymmetricProperty、FunctionalProperty或InverseFunc⁃tionalProperty,等等.

8)Web服务本体中disjointWith,equivalent⁃Class,equivalentProperty等描述类、属性、实例之间二元关系的使用和查询频率都不高,根据原则4、6、7,把这些二元关系单独建表classPropertyIndividual⁃BinaryRelationDef和classPropertyIndividualBinaryRe⁃lation.两表关系模式完全相同,前者存储直接定义的二元关系记录,后者存储推理所得二元关系记录,推理所得记录由两表的触发器控制.

classPropertyIndividualBinaryRelationDef的关系模式:classPropertyIndividualBinaryRelationDef(on⁃tid,binaryRelationType,res1id,res2id),其中,bina⁃ryRelationType取值equivalentClass,equivalentProper⁃ty,sameAs,disjointWith,differentFrom,allDifferent,inverseOf等,分别代表本体概念,属性和实例的等价关系,不等价关系和对象之间的互逆关系(字符类型),res1id和res2id根据binaryRelationType值,存储类或属性或实例的ID值(int类型),ontid、res1id和res2id构成主键.

综合上述设计,得到的RDWOMM关系模式主要包括:webServiceOntology,nameSpace,classes,sim⁃pleClass,restrictionClass,unionOfClass,objectProper⁃ty,dataProperty,dataType,classIndividual,objectProp⁃ertyIndividual,dataPropertyIndividual,subClassProper⁃tyDef,subClassProperty,propertyUnitaryRelations,uni⁃taryName,classPropertyIndividualBinaryRelationDef, classPropertyIndividualBinaryRelation等18个关系.由于关系设计是按实例、属性和类为基本关系展开的,可能应对Web服务本体的属性扩展,即本体的变化不影响RDWOMM的关系模式结构变化,RD⁃WOMM相对稳定,可适合本体大规模存储.

另外,RDWOMM中的关系已经优化,对于1∶1关系进行了合并,对n∶m之间关系拆分成多个1∶n关系,在RDWOMM中关系之间只存在1∶n关系,比如:nameSpace与webServiceOntology是1∶n关系,外键是nsid,受篇幅限制,不能罗列所有1∶n关系,读者可以从图2中方便找出所有关系之间1∶n关系和外键.RDWOMM几乎涵盖Service服务本体的全部语义信息.

4 语义Web服务存储系统的实现

本文选用MicrosoftSQLServer2008作为数据库实验环境,实现了上述设计.首先创建了一个RD⁃WOMM的数据库,用于保存上述设计的18个关系和其他数据对象.然后,在RDWOMM下依次创建各个表,可以用手工创造,也可以用SQL代码创建(代码太多,略),再后,创建不同表之间的关联,实现这些关联是完整性约束[10],最后,创建相应表的触发器代码(代码略).图2是本文设计在SQLServer2008实现后生成的各表之间的关联视图.

图2 基于关系数据库存储Web服务本体的各表关系图

从图2分析知,该数据库对OWL-S类、属性、实例的处理,对类的关系、属性的关系、属性的特征、类和属性关系等的处理.同时,该模式结构稳定,能够适应规模较大的Web服务本体存储,不管是Web服务本体实例信息的扩大还是本体类、属性等信息的增减,都不会改变该数据库结构.

本文设计了3个具有代表性的查询操作,具体查询方案如下.

1)查询指定Web服务提供商的所有Web服务:该操作主要查询本体中的serviceProcuduct关系,用三元组可以表达为:.

2)查询指定功能的所有Web服务:该操作主要查询本体中textDescription关系,用三元组可以表达为:.

3)查询指定功能,指定输入输出参数类型的Web服务:该操作主要查询本体中textDescription、hasInput和hasOutput关系.用三元组可以表达为:.

受篇幅限制,没有列出具体的SQL代码.

5 结语

本文是在前人研究的基础上,结合他们的利弊,同时,针对OWL-S语言特点,提出了一种基于关系数据库的Web服务本体存储模式.该模式稳定性很好,存储OWL-S语义信息较完整,能在Microsoft SQLServer2008中比较好地实现根据语义查询Web服务等功能.为了对系统进一步优化,还利用了RDB中成熟的外键约束、索引、视图、触发器和存储过程等技术,提高Web服务本体存储和查询效率.但是本方案还存在一些不足,一是还不能把OWL-S本体文件不失语义的导入到关系数据库(会损失比如Label标签等非功能性信息),二是还没有实现Web服务本体信息导出功能,三是对于属性的推理信息处理不完全.

[1]ZHENGZB,LYUMRT,WANGHM.Servicefaulttolerancefor highlyreliableservice-orientedsystems:anoverview[J].Science China(InformationSciences),2015,58(5):7-18.

[2]陈布伟,李冠宇,张俊,等.基于语义网规则语言的推理机制框架设计[J].计算机工程与设计,2010(4):847-849.

[3]郗君甫,刘国华,唐军军,等.基于本体的关系数据库关键词语义查询扩展方法[J].燕山大学学报,2010(3):231-235.

[4]MARTIND,BURSTEINM,HOBBSJ,etal.OWL-S:Semantic MarkupforWebServices[EB/OL].(2004-11-22)[2015-03-01]. http://www.w3.org/Submission/OWL-S.

[5]唐富年,姚莉,漆学田,等.一种关系数据库模式到本体映射的失效检测方法[J].计算机科学,2010(3):170-174.

[6]白伟华,朱嘉贤.语义网中基于Web资源本体的数据中介服务[J].计算机工程与设计,2010(11):2654-2658.

[7]杨炜辰,凌海风,武鹏,等.基于关系数据库的本体存储模式[J].四川兵工学报,2013(4):111-115.

[8]张杰.基于关系数据库的本体存储研究与实现[D].重庆:重庆大学,2012.

[9]李洁.OWL本体存储模式研究[J].中国科技信息,2007(21):118-120.

[10]王姗,萨师煊.数据库系统概论[M].第四版.北京:高等教育出版社,2006.

【编校:李青】

OntologyWebServicesBasedonRelationalDatabase

QUANLixin
(DepartmentofInformationManagement,HunanUniversityofFinanceandEconomics,Changsha,Hunan410205,China)

ThecombinationofWebservicesandontologyisthefoundationofthesemanticWebserviceapplication,and relationaldatabaseisthemainwayofstorageofontology.ThestudyofWebservicesbasedonrelationaldatabasestorage isoneoftheimportantcontentsofthesemanticWebservices.Onthebasisofcomparisonofexistingontologystoragemod⁃els,sevenprinciplesaboutthestorageofWebservicesontologybasedonrelationaldatabaseweresummarized.Arelation⁃alpatternforWebservicesontologybasedonrelationaldatabasestoragewaspresentedanditwasimplementedinthe SQLService2008system.TheWebservicesontologystoragesolution,whichiscompatiblewiththeOWL-S,alsovery meaningfultomassstorageofWebservices,semanticqueryandthemanagementoftheWebserviceinformation,wassug⁃gested.

Webservicesontology;relationaldatabase;OWL-S;storagepattern

TP311

A

1671-5365(2015)12-0019-06

全立新.基于关系数据库的Web服务本体存储[J].宜宾学院学报,2015,15(12):19-24.

QUANLX.OntologyWebServicesBasedonRelationalDatabase[J].JournalofYibinUniversity,2015,15(12):19-24.

2015-07-15修回:2015-08-27

湘科技计划一般项目“动态电子商务环境下语义Web搜索的条件表达式研究”(2011FJ3119);湘教育科学“十二五”规划2013年度一般资助课题“基于语义Web服务的教育资源云服务应用研究”(XJK013BXX004)

全立新(1969-),男,副教授,硕士,研究方向为语义Web服务及应用

时间:2015-08-2717:17

http://www.cnki.net/kcms/detail/51.1630.z.20150827.1717.001.html

猜你喜欢
主键关系数据库实例
基于Go 实现的分布式主键系统研究
关系数据库在高炉数据采集系统中的应用
山东冶金(2022年2期)2022-08-08 01:51:30
基于外键的E-R图绘制方法研究
基于索引结构的关系数据库关键词检索
完形填空Ⅱ
完形填空Ⅰ
数据库主键的设计方法探讨
一种基于数据图划分的关系数据库关键词检索方法
基于用户反馈的关系数据库关键字查询系统
浅谈数据库主键设计的原则