技术领域
本发明公开了一种一种基于XML间接映射的RDF构建方法。该方法通过映射文档对XML文档中的相关元素进行查询定位来构建RDF,关键在于设计一种适合于编写该映射文档的映射语言——X2RML。
背景技术
XML作为一种灵活的半结构化标签语言,在信息表示和数据交换方面有先天的优势。XML现在被广泛的应用于各种团体和商界,在很多应用领域,人们已经定义了基于XML的应用,比如数学领域(MathML)、天文领域(AML)、生物信息领域(BSML)、投资领域(IRML)等等。此外,可以作为统一数据交换格式的XML在企业信息交换方面也发挥了巨大的作用。XML已经成为Web数据表示与交换的事实上的标准。
语义Web是基于图和“链接”的组织方式,但是所链接的不再是网页而是客观世界中的实体,实体之间的链接也被增加了语义描述。RDF是语义Web中用于组织语义化数据的数据模型,RDF Schema通过定义RDF使用的词汇为其赋予语义。知识图谱作为语义Web发展的产物成为了研究的热点,虽然并不是所有知识图谱的描述框架是RDF,但本质都是描述实体、实体的属性及关系,知识图谱中将三元组称作为知识。RDF通过聚合大量的知识实现快速响应和推理,已经被广泛地应用到智能领域作为数据组织的方式。Web中存在大量不同结构形态且没有语义信息的数据,基于这些数据构建RDF或知识图谱已经成为了一个重要的研究方向。XML是Web中统一的数据存储和交换格式,因其结构灵活、可移植性强,以XML描述的数据广泛存在于Web中,已经有一些工作致力于研究基于XML构建RDF的方法,但构建效果不甚理想,综合分析现有方法发现有以下几点不足:映射规则不合理,不能真正反映数据蕴含的语义信息;可处理的XML类型单一,方法的通用性和可移植性较差;未能有效识别等价元素,无法避免所构建的RDF出现冗余。本发明基于已有方法的不足提出基于XML间接映射的RDF构建方法。
发明内容
发明目的:本发明致力于使用户可以通过编辑映射文档来自主选择XML中的部分元素,然后将这部分元素映射为RDF,另外该方法针对那些经常发生更新的XML数据具有良好的映射效果。
技术方案:本发明方案主要包括以下步骤:
步骤一:构建X2RML映射文档。
X2RML映射文档结构:X2RML映射文档是以RDF图的形式来描述的,即RDF不仅仅是映射XML数据的目标数据模型也是用于描述X2RML映射文档所选用的数据模型,X2RML映射文档也被称作映射图,映射图可以拥有若干个子映射图,每个子映射图都对应一个三元组映射,三元组映射又包含逻辑树组件、主语映射组件以及谓语-宾语映射组件,各个映射组件实现不同的映射功能;
步骤二:定义三元组映射。
(1)逻辑树组件:逻辑树组件中的逻辑树确定了子映射图所要映射的源数据,然后使用三元组映射中的主语映射组件和谓语-宾语映射组件将逻辑树确定的若干元素映射为若干条RDF三元组序列,每个元素对应一组与之相关的RDF三元组序列;
(2)主语映射组件:该组件中的主语映射将逻辑树中定位的每个元素映射为所生成的与该元素相关的RDF三元组序列中的主语部分;
(3)谓语-宾语映射组件:包括谓语映射组件和宾语映射组件,映射结果即相关RDF三元组的属性和值。
步骤三:定义各映射组件组成部分。
(1)主语映射:主语映射是有关如何将逻辑树中的一个子树对应的元素的相关内容映射为所生成的若干RDF三元组的主语的若干RDF陈述;
(2)主语类型映射:描述主语类型映射的RDF陈述所用的属性为xr:class,xr:class的值是词汇表中相关类的限定名(QName),该类是对应的主语映射组件生成的RDF陈述中的主语资源所属的类;
(3)常量映射:常量映射所生成的RDF术语与逻辑树中的子树无关,描述常量映射的RDF陈述中使用的属性为xr:consant,属性xr:consant的值为常量,该常量是预定义的RDF术语,它是目标RDF三元组序列的相关三元组的组成部分;
(4)简单子元素映射:简单子元素映射也是一个术语映射,描述该映射的陈述用到了属性xr:simSubElement,该属性的值必须是一个简单子元素的标签的名称,逻辑树中的简单子元素所内嵌的文本值即该简单子元素映射所映射生成的RDF术语;
(5)属性映射:描述该映射的陈述用到了属性xr:attribute,该属性的值必须逻辑树子树的根元素包含属性(attribute)的名称,该属性(attribute)的属性值为属性映射所映射生成的RDF术语;
(6)标识符模板映射:标识符模板映射也是一个术语映射,简称模板映射。描述该映射的RDF陈述用到了属性xr:template,该属性的值必须是字符串模板,字符串模板用于生成目标RDF三元组序列中的资源标识符IRI。
有益效果:本发明优化了映射规则,确保映射过程中的数据内容和语义的完备和准确;提出了对不同类型的XML进行映射的通用型方法;可以识别XML中的等价元素,解决由这种等价元素所导致的RDF数据冗余问题。
附图说明
图1为逻辑树组件构成示意图;
图2为三元组映射构成示意图;
图3为各映射组件组成部分示意图;
图4为映射流程示意图;
具体实施方式
下面结合附图,对本发明做进一步说明。
本发明所述基于XML数据自动构建RDF数据的方法,包括以下三部分:
1、逻辑树组件和逻辑树
逻辑树组件确定了它所属的三元组映射所要处理的XML元素集,描述该组件的RDF陈述所用的属性为xr:logicalTree,该属性的值是若干与逻辑树相关的RDF陈述,这些陈述通过XQuery查询语句定位了所要处理的XML元素集并规定了处理元素集的方式。逻辑树组件的构成如图1。
在映射文档中使用如下查询映射来指定逻辑树:
[]xr:xQuery″″″
for $x in doc(″books.xml″)/SigmodRecord/issue/articles/article
where $x/initPage>40
return $x
″″″.
2、三元组映射
逻辑树确定了子映射图所需要的的数据信息,通过三元组映射(子图映射)将逻辑树中包含的信息映射为若干条RDF三元组。逻辑树的每个子树可以映射为若干条三元组,同一个子树映射生成的RDF三元组拥有共同的主语。三元组映射的构成如图2。
三元组映射包含若干条陈述,这些陈述拥相同的主语,所以可以采用Turtle中嵌套空白节点的语法,三元组映射必须满足以下要求:
必须有且仅有一条有关逻辑树组件的陈述,该陈述的属性为xr:logicalTree属性,它的值是确定逻辑树的陈述,该陈述指定了要映射为RDF三元组的基于输入的XML数据集的有效XQuery查询的结果,逻辑树组件建立该三元组映射和逻辑树的关系;
◆必须有且仅有一条有关主语映射组件的RDF陈述,该陈述规定了为所链接的逻辑树的每个子树生成相关RDF三元组序列的主语的方式,该陈述使用的属性有两种:
①xr:subjectMap:其值是主语映射;
②xr:subject:属性xr:subjectMap简写模式;
◆有若干个谓语-宾语映射组件,每个组件由相关的RDF陈述来描述,每个谓语-宾语映射组件为三元组映射所确定的逻辑树的每个子树生成相关RDF三元组中的谓语-宾语对,描述该组件的RDF陈述的属性xr:predicateObjectMap的值是一对谓语映射组件和宾语映射组件,它们分别规定了为逻辑树的子树生成相关RDF三元组中的谓语和宾语,所生成的谓语和宾语对与同一子映射图中的主语映射组件所生成主语一起为逻辑树中的每个子树构建一个或多个RDF三元组。映射文档实例如下:
3、映射组件组成部分
(1)主语映射是有关如何将逻辑树中的一个子树对应的元素的相关内容映射为所生成的若干RDF三元组的主语的若干RDF陈述,主语映射包含与所生成的主语先相关的若干术语映射。在映射文档中使用如下RDF指定逻辑树主语映射:
[]xr:template″http://data.example.com/iterms/{ID}″;
xr:class ex:articleType.
(2)在主语映射组件中,属性xr:subjectMap的值为主语映射,即与所生成的RDF三元组的主语相关的若干RDF陈述,在这些陈述中可以有若干条用以描述所生成的主语资源所属的类型,这类映射称为主语类型映射。在映射文档中使用如下RDF指定逻辑树主语类型映射。在映射文档中使用如下映射来指定主语类型映射:
[]xr:template″http://data.example.com/iterms/{ID}″;
xr:class ex:articleType.
(3)常量映射:常量映射所生成的RDF术语与逻辑树中的子树无关,描述常量映射的RDF陈述中使用的属性为xr:consant,属性xr:consant的值为常量,该常量是预定义的RDF术语,它是目标RDF三元组序列的相关三元组的组成部分。
◆当描述常量映射的RDF陈述为主语映射、谓语映射或是图映射的组成部分时,常量值必须为标识符IRI;
◆当描述常量映射的RDF陈述为宾语映射的组成部分时,常量值为资源标识符IRI或是原子值(文本值)。
在映射文档中使用如下映射来指定常量映射:
[]xr:predicateMap[xr:constant rdf:type];
xr:objectMap[xr:constant ex:articleType].
(4)简单子元素映射:简单子元素映射也是一个术语映射,描述该映射的陈述用到了属性xr:simSubElement,该属性的值必须是一个简单子元素的标签的名称,逻辑树中的简单子元素所内嵌的文本值即该简单子元素映射所映射生成的RDF术语。在映射文档中使用如下映射来指定简单子元素映射:
[]xr:objectMap[xr:simSubElement“title”].
(5)属性映射:描述该映射的陈述用到了属性xr:attribute,该属性的值必须逻辑树子树的根元素包含属性(attribute)的名称,该属性(attribute)的属性值为属性映射所映射生成的RDF术语。在映射文档中使用如下映射来指定属性映射:
[]xr:objectMap[xr:attribute“position”].
(6)标识符模板映射:标识符模板映射也是一个术语映射,简称模板映射。描述该映射的RDF陈述用到了属性xr:template,该属性的值必须是字符串模板,字符串模板用于生成目标RDF三元组序列中的资源标识符IRI。
字符串模板语法规则如下:
①当标识符模板映射作为主语映射的组成部分时,该映射的字符串模板引用了主语映射所映射的元素的ID(该ID为上一章中对输入XML文档预处理后,元素所拥有的的唯一lD),引用方式是用一对括号“{}”将ID囊括起来;
②当标识符模板映射作为图映射的组成部分时,该映射的字符串模板引用了相关XML元素的标签名称或相关XML属性(attribute)的属性名称,引用方式是用一对括号“{}”将元素标签名称或属性名称囊括起来。在映射文档中使用如下映射来指定标识符模板映射:
[]xr:subjectMap[xr:template″http://data.example.com/iterms/{ID}″].
机译: 基于映射的间接寄存器文件访问的面向寄存器映射的simd管理方法
机译: 面向SIMD的寄存器映射的面向SIMD管理的方法,系统和程序产品,用于基于映射的间接寄存器文件访问
机译: 一种基于字典类型的字典自动构建方法,其记录介质及基于字典类型的字典自动构建方法