云计算环境下的信息资源集成与服务
上QQ阅读APP看书,第一时间看更新

2.5.3 语义模型

从语义层次看,本平台的对象模型由两部分组成:碎片对象和碎片对象之间的语义关联。

(1)云计算环境下碎片信息资源的集成与服务所涉及的任何碎片内容,无论其格式、大小、存储方式和存放位置如何,都将封装成统一的对象,即碎片对象。

(2)碎片对象之间的关联采用语义Web形式表示,以便进行语义计算。因此,本模型不仅支持异构碎片的统一管理,而且可以支持跨域数据的共享与集成。


定义1(碎片对象的语义模型) 碎片对象Oi是一个5元组(αiβiγiδiεi),其中αiβiγiδiεi分别为URI、内容、标注、日志和关联。这5个元素的定义如下:

αi(URI元素)用于唯一标识碎片对象Oi,一般采用URI(Uniform Resource Identifier)作为碎片对象的唯一标识。

βi(内容元素)是被封装成Oi对象的碎片的原始内容,可以是任何格式、大小、存储方式和存放位置的碎片内容。

γi(标记元素)是Oi相关的标记,且γi=MHMH=∅。

式中:

M是计算机生成的标记,M={m1m2,…,mo}。

H是手工生成的标记,H={h1h2,…,hp}。

δi(日志元素)是3元组(rst)。式中:

r是操作主体的URI。

s是操作完成时间。

t是操作类型。

εi(关联元素)是碎片对象Oi与其他碎片对象之间的语义关系的集合,εi={R1R2,…,Rj,…,Rn}。式中,Rj是碎片对象OiOj之间的语义关联,RjZ,其中Z是碎片对象之间的语义关联。

定义2(碎片对象之间的语义关联) 碎片对象之间的语义关联Z={z1z2,…,z13},其中zi的定义如表2-7所示。

表2-7 对象之间的语义关联

定义3(碎片对象的DTD表示) 碎片对象和对象之间的形式化定义如下:

从以上定义可以看出,碎片对象可以包含一个或多个内容元素、标记元素、日志元素和关联元素,但只能分配一个URI,用于唯一标识碎片对象。其中:

•内容元素<Content>可以是被封装内容本身,也可以是指向被封装对象的链接地址。

•标记元素<Tag>记录碎片对象相关的标记数据,用于碎片对象的检索和推理。

•日志元素<Log>包含碎片处理操作的主体、时间和类型,用于碎片对象的版本控制和内容恢复。

•关联元素<Relation>包括相关对象的位置、URI和关联类型。

为了进一步支持云计算环境下碎片信息资源的集成与服务中的碎片对象管理,本平台采用RDF Schema语法定义了面向云计算环境下碎片信息资源的集成与服务的碎片对象本体——CloudDataManagementOntology,其关键代码如下:

在实际应用中,可以通过CloudInformationResourceManagementOntology创建一个碎片对象的实例,并用RDF/OWL语言表示。碎片对象的RDF/OWL表示有助于实现碎片表示的计算机可理解性,不仅可以进行碎片推理,而且也可以进行碎片挖掘,从而提高计算机碎片处理的效率。

本平台主要采用基于领域本体对信息资源及其碎片进行语义标注的方式支持语义Web中的唯一标识、语义标注、语义推理等基本能力。

1. 唯一标识

命名空间和URI机制是语义互联的重要手段。在语义Web中声明命名空间时,可以运用URI实现唯一标识碎片资源的目的。但是,URI中并不一定要记录其指向的碎片资源的实际地址。因此,目前的命名空间和URI技术水平有时只能实现碎片之间的互联关系,不能保证碎片的互通性。语义Web中的逻辑互联可以进一步分为显性互联和隐性互联。以OWL为例,除了通过碎片元间的嵌套关系来表达碎片的语义关联之外,还可以通过指定的元素、属性来建立互联关系,详见表2-8。

表2-8 OWL中表示碎片互联关系的方法

2. 语义标注

本平台中碎片信息资源的语义表示采用的是语义Web技术。语义Web中碎片表示的语法基础是XML。但是,在XML文档中缺少语义信息,主要原因在于XML本身并没有提供任何领域的碎片建模方法,而RDF(S)模型和OWL为此问题的解决提供了新思路。

•RDF(S)模型。基于XML的RDF文档采用计算机可读的XML元素和属性代替RDF(S)模型中的各种概念及其关系,例如,采用<rdf:Description>元素标记一个碎片原子,通过修改<rdf:type>元素的rdf:resource属性为碎片原子指定对应RDF Schema,运用<rdfs:subClassOf>和<rdfs:subPropertyOf>属性表示继承机制,通过<rdfs:domain>和<rdfs:range>属性可以对资源元素进行有效性限制。但是,基于XML的RDF(S)的语义表达能力和推理能力非常有限。RDF局限于二元常谓词,而RDF(S)则仅限于表示类(或属性)之间的继承关系以及属性的定义域和值域的限定,不能表达更复杂的语义信息,例如类之间的交叉关系、逻辑运算等。

•OWL。OWL(Ontology Web Language)是改进基于XML的RDF(S)模型的语义表达能力和推理能力的方案之一。OWL不但继续沿用了基于XML的RDF(S)语法,且以继承的方式重新定义了RDF(S)的部分元素,还新增了诸多语义元素。例如,OWL的<owl:Class>类继承了RDF(S)的<rdfs:Class>;继承后的<owl:Class>类中可通过元素<owl:disjointWith>表示类之间的不可交叉性,通过元素<owl:equivalentClass>表示类之间的等同关系;元素<owl:Restriction>可以限定一个类;元素<owl:complementOf>、<owl:unionOf>、<owl:intersectionOf>表示类之间的逻辑关系。

近年来,语义Web和Web Service技术的交叉应用——语义Web服务(Semantic Web Service,SWS)的研究越来越多。文献Martin D,Domingue J,Brodie M L,et al. Semantic Web Services:Part 1[J].IEEE Intelligent Systems,2007(5):12-17.和文献Kashyap V, Bussler C. The Semantic Web: Semantics for Data and Services on Web[M].Springer Press, 2008: 1-322.较全面地总结了语义Web服务的发展现状及其趋势。文献Fensel D, Kerrigan M, Zaremba M. Implementing Semantic Web Services The SESA Framework[M].Springer, 2008: 1-322.提出的SESA(Semantically Enabled Service-oriented Architecture)语义Web服务的框架结构在碎片的语用层次表示方面具有较高的借鉴价值。

3. 语义推理

平台可以支持SWRL(Semantic Web Rule Language,语义Web规则语言)等语义推理技术。SWRL是结合了RuleML和OWL的语义Web规则语言。SWRL通过有效整合OWL DL、OWL Lite语言与RuleML语言中的一元Datalog、二元Datalog,将Horn逻辑放入OWL公理中。在SWRL中,规则由前件(antecedent或body)和后件(consequent或head)两部分组成,表示二者之间的蕴涵关系。前件和后件均由多个(可以为0个)原子组成。后件中的多个原子之间存在逻辑and关系。原子常以Cx)、Pxy)、sameAs(xy)或differentFrom(xy)或builtin(rxy,…)的形式出现。其中,CP分别代表OWL描述和OWL属性,xy是变量、OWL实例或OWL数据值,r表示内置联系。swrl. rdf和swrl. owl分别提供了SWRL的RDF模式和OWL本体,但是表示能力均受限制。在SWRL中,分别采用元素<swrlx:ontology>、<rule:imp>、<ruleml:_head>、<ruleml_body>、<swrl:classAtom>、<swrl:atom>、<ruleml:var>分别表示本体、蕴涵、后件、前件、类原子、原子和变量。此外,为了提供可扩展性和互操作性,SWRL还提供了多种插件(built-ins),主要包括以下几种类型的插件:比较插件(如<swrlb:equal>、<swrlb:notEqual>、<swrl:lessThan>、<swrl:greaterThan>等)、数学插件(如<swrlb:add>、<swrlb:substract>、<swrlb:multiply>、<swrlb:devide>等)、字符串处理插件(如<swrlb:stringConcat>、<swrlb:stringLength>、<swrlb:normalizeSpace>等)、日期处理插件(如<swrlb:yearMonthDuration>、<swrlb:dayTimeDuration>、<swrlb:dateTime>、<swrlb:date>等)和URI处理插件(<swrlb:resolveURI>、<swrlb:anyURI>)等。具体的语义推理方法将在第4章中解释。