面向大规模RDF数据的可达性查询索引的构建方法与流程

文档序号:12824799阅读:247来源:国知局
面向大规模RDF数据的可达性查询索引的构建方法与流程

本发明总体来说涉及大数据处理领域。更具体地讲,涉及一种面向大规模rdf数据的可达性查询索引的构建方法。



背景技术:

资料描述框架(resourcedescriptionframework,简称rdf)是用于描述web资源的标记语言,同时也是整个语义网系统结构中的核心,它被广泛用于描述互联网上存在的各种信息资源。如今rdf数据成几何量级增长,已经达到百亿级三元组规模。这样大规模的rdf数据的高效存储和查询工作已经成为语义web研究的重点问题。

rdf数据的可达性查询是最近几年来研究界对rdf的sparql查询语言提出的新要求,rdf数据的可达性查询可以概述为:给定rdf数据中的两个顶点u和v,判断顶点u是否可通过一条路径到达顶点v。这里,由于rdf数据的可达性查询不仅是最普遍的一种查询方式,更是在rdf图数据上进行其他查询的基础,不管是基于sparql查询语言的rdf数据集图模式查询,还是其他的聚合查询、子查询、否定查询等,基本前提都是rdf数据的可达性查询。因此,鉴于rdf可达性查询的重要性,构造rdf数据的可达性查询索引以用于可达性查询已成为相关领域的研究人员的研究热点。

传统的基于图论的算法进行rdf图数据的可达性查询,由于复杂度非常高和扩展性非常差而无法实际应用。目前,已有的rdf数据的可达性查询主要有两种方法:第一种方法是rdf图的标签约束可达性查询方法,这种方法能够对 顶点数目较少的rdf数据进行有效地可达性查询,但是,这种方式受设备配置的影响较大,无法有效地处理超过100万个顶点的rdf数据集,因此,该种方式无法用于大规模的rdf数据的可达性查询;第二种方法是基于k阶双似的索引结构可达性查询方法,这种方法虽然可以处理大规模的rdf数据并且扩展性较好,但是需要根据顶点的属性来划分等价类顶点,由于会重复地处理等价的顶点,因此浪费了大量的时间,因此,该种方式也由于时间花费较长而难以应用到实际。

综上所述,现有的rdf数据的可达性查询方式无法满足快速、有效地处理大规模rdf数据的需求。



技术实现要素:

本发明的目的在于提供一种面向大规模rdf数据的可达性查询索引的构建方法,以克服现有的构造rdf数据的可达性查询索引并通过该索引进行可达性查询的方式无法满足快速、有效地处理大规模rdf数据的缺陷。

根据本发明示例性实施例,提供一种面向大规模rdf数据的可达性查询索引的构建方法,包括:(a)将长字符串类型的rdf三元组进行预处理,得到与各长字符串类型的rdf三元组一一对应的长整型rdf三元组,其中,每个长整型rdf三元组由主体、谓词和客体组成,其中,谓词指示主体指向客体的边的属性;(b)利用预设框架对所述长整型rdf三元组进行分割处理,以生成多种类别的索引文件夹;(c)利用所述多种类别的索引文件夹构建rdf数据的可达性查询索引。

可选地,所述方法可还包括:(d)保存构建的rdf数据的可达性查询索引,并对构建的rdf数据的可达性查询索引进行验证和评估。

可选地,所述预设框架可以为mapreduce框架或者spark框架。

可选地,当预设框架为mapreduce框架时,步骤(b)可包括:基于所述长整型rdf三元组结构的属性,利用mapreduce框架设置多种分类方式,并分别根据所述多种分类方式将所述长整型rdf三元组进行排序分类,生成与每一种分类方式对应的索引文件夹。

可选地,所述多种分类方式可包括以rdf三元组结构属性中的主体-谓词-客体、客体、主体-客体后代以及初始客体等价类为分类标准进行分类的方式,并且,生成的与所述分类方式对应的索引文件夹分别是主体-谓词-客体索引文件夹、客体索引文件夹、主体-客体后代索引文件夹和初始客体等价类索引文件夹,其中,每个类别的索引文件夹包括多个子文件,所述子文件按照第一预设规则进行命名。

可选地,步骤(c)可包括:(c1)利用主体-谓词-客体索引文件夹和客体索引文件夹中的内容确定rdf数据的可达性查询索引的根节点等价类;(c2)根据集合的独立性定理,利用主体-客体后代索引文件夹、根节点等价类以及客体等价类索引文件夹中的内容确定rdf数据的可达性查询索引的非根节点等价类;(c3)利用rdf数据的可达性查询索引的根节点等价类、rdf数据的可达性查询索引的非根节点等价类、客体索引文件夹和主体-谓词-客体索引文件夹中的内容确定rdf数据的可达性查询索引的根节点等价类与非根节点等价类的谓词;(c4)生成rdf数据的可达性查询索引。

可选地,步骤(c1)可包括:(c11)判断客体索引文件夹中是否存在与主体-谓词-客体索引文件夹中名称相同的子文件;(c12)当客体索引文件夹中存在与主体-谓词-客体索引文件夹中名称相同的子文件时,获取主体-谓词-客体索引文件夹中不作为客体索引文件夹中相同名称的子文件的客体的主体,并将其放 入rdf数据的可达性查询索引的根节点等价类;当客体索引文件夹中不存在与主体-谓词-客体索引文件夹中名称相同的子文件时,将主体-谓词-客体索引文件夹中该子文件中的所有主体放入rdf数据的可达性查询索引的根节点等价类(此处应该有分段缩)可选地,步骤(c2)可包括:利用集合的独立性定理,依次使用主体-客体后代索引文件夹中根节点等价类中的主体的客体后代来划分初始客体等价类,得到划分后的客体等价类集合,再依次利用主体-客体后代索引文件夹中之前划分后得到的客体等价类集合中的每个客体等价类的客体后代来划分所述之前划分后得到的客体等价类集合中的每个客体等价类直到划分后得到的客体等价类集合不变为止,将所得不变的客体等价类集合作为rdf数据的可达性查询索引的非根节点等价类。

可选地,步骤(c3)可包括:(c31)按照第二预设规则将rdf数据的可达性查询索引的根节点等价类进行命名,并将根节点等价类的名称作为根节点等价类中每个根节点的标记存储于根节点等价类集合中;(c32)按照第二预设规则将rdf数据的可达性查询索引的所有非根节点等价类进行命名,并将每组非根节点等价类的名称作为该组中每个非根节点的标记,定位客体索引文件夹中每一条客体,同时将每个非根节点的标记添加到客体索引文件夹中与每个非根节点对应的客体所在行的相应位置;(c33)针对主体-谓词-客体索引文件夹中的每一条主体-谓词-客体长整型rdf三元组,在根节点等价类集合以及客体索引文件夹中查找与该条主体-谓词-客体长整型rdf三元组的主体和客体对应的标记,并将该条主体-谓词-客体长整型rdf三元组的谓词添加到与该条主体-谓词-客体长整型rdf三元组的主体和客体对应的标记表示的节点之间。

在根据本发明示例性实施例的面向大规模rdf数据的可达性查询索引的构建方法中,不仅可以高效、准确地建立大规模rdf数据的可达性查询索引,还 具备扩展性好,易于实现的优点。

附图说明

通过下面结合附图进行的详细描述,本发明的上述和其它目的、特点和优点将会变得更加清楚,其中:

图1示出根据本发明示例性实施例的面向大规模rdf数据的可达性查询索引的构建方法的流程图;

图2示出根据本发明示例性实施例的生成主体-谓词-客体索引文件夹的示例;

图3示出根据本发明示例性实施例的构建rdf数据的可达性查询索引的步骤的流程图;

图4示出根据本发明示例性实施例的确定rdf数据的可达性查询索引的根节点等价类的步骤的流程图;

图5示出根据本发明示例性实施例的确定rdf数据的可达性查询索引的根节点等价类与非根节点等价类的谓词的步骤的流程图。

具体实施方式

现将详细参照本发明的示例性实施例,所述实施例的示例在附图中示出,其中,相同的标号始终指的是相同的部件。以下将通过参照附图来说明所述实施例,以便解释本发明。

图1示出根据本发明示例性实施例的面向大规模rdf数据的可达性查询索引的构建方法的流程图。这里,作为示例,所述方法可由用于构建大规模rdf数据的可达性查询索引的设备来实现,也可完全通过计算机程序来实现。

如图1所示,在步骤s100,将长字符串类型的rdf三元组进行预处理,得 到与各长字符串类型的rdf三元组一一对应的长整型rdf三元组,其中,每个长整型rdf三元组由主体、谓词和客体组成,其中,谓词指示主体指向客体的边的属性。

这里,所述长字符串类型的rdf三元组可来源于dbpedia(从维基百科的语义网知识库中抽取的结构化数据),其中,dbpedia可包含多个领域的数据,并且,dbpedia可在维基百科和其他数据集之间创建连接。这里,应注意,本发明的示例性实施例适用于任何来源的rdf数据,包括但不局限于来源于dbpedia的rdf数据。

这里,所述预处理是采用本领域的常规方法,例如,将长字符串类型的rdf三元组进行映射,其中,相同的长字符串对应相应的整数,从而得到与各长字符串类型的rdf三元组对应的长整型rdf三元组,在此不再赘述。通过将长字符串类型的rdf三元组处理成长整型rdf三元组,可以消除数据冗余,避免了大量的长字符串的匹配操作,提高了后续处理的效率。

在步骤s200,利用预设框架对所述长整型rdf三元组进行分割处理,以生成多种类别的索引文件夹。这里,所述预设框架可以为mapreduce框架或者spark框架。

作为示例,当预设框架为mapreduce框架时,可基于所述长整型rdf三元组结构的属性,利用mapreduce框架设置多种分类方式,并分别根据所述多种分类方式将所述长整型rdf三元组进行排序分类,生成与每一种分类方式对应的索引文件夹。

例如,所述多种分类方式可包括以rdf三元组结构属性中的主体-谓词-客体、客体、主体-客体后代以及初始客体等价类为分类标准进行分类的方式,具体说来,以主体-谓词-客体为分类标准进行分类的方式可以是指以主体为标准建 立的包括主体-谓词-客体三元组的索引文件夹;以客体为分类标准进行分类的方式可以是以客体为标准建立的仅包括客体的索引文件夹;以主体-客体后代为分类标准进行分类的方式可以是以主体以及属于同一主体的客体为标准建立的仅包括主体和属于该主体的后代客体的索引文件夹;以初始客体等价类为分类标准进行分类的方式可以是以谓词为标准建立的仅包括与相同谓词集合关联的客体集合构成的索引文件夹。因此,按照上述分类方式生成的与上述分类方式对应的索引文件夹可以分别是主体-谓词-客体索引文件夹、客体索引文件夹、主体-客体后代索引文件夹和初始客体等价类索引文件夹,其中,每个类别的索引文件夹可包括多个子文件,所述子文件可按照第一预设规则进行命名。

这里,作为示例,可将下面的等式(1)作为第一预设规则用于确定子文件的名称:

max=(xa/d)×d(1)

其中,max表示以a分类方式分类后所得到的索引文件夹中长整型rdf数据x所属的子文件的名称,d表示预定参数,d可取正整数,例如1000,xa表示以a分类方式分类后所获得的长整型rdf数据x被保留的第一个组分的整数型,这里,组成长整型rdf三元组的主体、谓词、客体都可以作为长整型rdf数据的一个组分。

下面以生成主体-谓词-客体索引文件夹为例来说明该类别索引文件夹的生成过程。图2示出根据本发明示例性实施例的生成主体-谓词-客体索引文件夹的示例。

如图2所示,可将所有长整型rdf三元组分成n个数据块,每个数据块中包括多组长整型rdf三元组(s、p、o),根据预先设置的mapreduce程序,针对每一个长整型rdf三元组(s、p、o),利用map函数进行读取,将读取的每 个长整型rdf三元组中的长整型主体s作为输出的关键字、长整型rdf三元组的长整型谓词p和长整型客体o的组合作为输出值,经过shuffle(洗牌)过程,将关键词进行去重排序,同时将输出值合并,生成输出值列表[“p1o”、“p3o”······]等,从而得到关于关键字和输出值列表的键值对<s1,“p1o”、“p3o”······>等,接下来,可将所述键值对以关键字为标准进行排序,并将排序好的键值对传递给reduce函数,reduce函数取出排好序的长整型主体s和与其对应的输出列表中的长整型谓词p和长整型客体o,根据长整型主体s的范围重新组合主体-谓词-客体的对应关系,写入主体-谓词-客体索引文件夹所包括的多个子文件中,这里,可将主体-谓词-客体索引文件夹中所包括的子文件命名为(xspo/d)×d,其中,xspo为以主体-谓词-客体为分类方式进行分类后所获得的rdf数据x的主体的长整型,d表示预定参数。

相似地,可用与生成主体-谓词-客体索引文件夹相类似的方式生成其他类别的索引文件夹,在此将不再赘述。

再次参照图1,在步骤s300,利用所述多种类别的索引文件夹构建rdf数据的可达性查询索引。

下面,在获得前述四种类别的索引文件夹之后,将结合图3来具体描述根据本发明示例性实施例的构建rdf数据的可达性查询索引的步骤。

如图3所示,在步骤s310,可利用主体-谓词-客体索引文件夹和客体索引文件夹中的内容确定rdf数据的可达性查询索引的根节点等价类。这里,作为示例,所述rdf数据的可达性查询索引的根节点等价类是指rdf数据的可达性查询索引中地位相同的根节点的集合。

图4示出根据本发明示例性实施例的确定rdf数据的可达性查询索引的根节点等价类的步骤的流程图。

如图4所示,在步骤s311,判断客体索引文件夹中是否存在与主体-谓词-客体索引文件夹中名称相同的子文件。当客体索引文件夹中存在与主体-谓词-客体索引文件夹中名称相同的子文件时,在步骤s312,获取主体-谓词-客体索引文件夹中不作为客体索引文件夹中相同名称的子文件的客体的主体,并将其放入rdf数据的可达性查询索引的根节点等价类。当客体索引文件夹中不存在与主体-谓词-客体索引文件夹中名称相同的子文件时,在步骤s313,将主体-谓词-客体索引文件夹中该子文件中的所有主体放入rdf数据的可达性查询索引的根节点等价类。

再次参照图3,在步骤s320,根据集合的独立性定理,利用主体-客体后代索引文件夹、根节点等价类和客体等价类索引文件夹中的内容确定rdf数据的可达性查询索引的非根节点等价类。这里,集合的独立性定理描述如下:集合p与集合q独立,当且仅当集合p与集合q的后代集合的差集或者集合p与集合q的后代集合的交集为空。具体说来,可利用集合的独立性定理,依次使用主体-客体后代索引文件夹中根节点等价类中的主体的客体后代来划分初始客体等价类,得到划分后的客体等价类集合,然后依次利用主体-客体后代索引文件夹中之前划分后得到的客体等价类集合中每个客体等价类的客体后代来划分所述之前划分后得到的客体等价类集合中的每个客体等价类,直到划分后得到的客体等价类集合不变为止,将所得不变的客体等价类集合作为rdf数据的可达性查询索引的非根节点等价类。

在步骤s330,利用rdf数据的可达性查询索引的根节点等价类、rdf数据的可达性查询索引的非根节点等价类、客体索引文件夹和主体-谓词-客体索引文件夹中的内容确定rdf数据的可达性查询索引的根节点等价类与非根节点等价类的谓词。

下面,将结合图5来详细说明如何确定rdf数据的可达性查询索引的根节点等价类与非根节点等价类的谓词。

具体说来,在步骤s331,可按照第二预设规则将rdf数据的可达性查询索引的根节点等价类进行命名,并将根节点等价类的名称作为根节点等价类中每个根节点的标记存储于根节点等价类集合中。

在步骤s332,可按照第二预设规则将rdf数据的可达性查询索引的所有非根节点等价类进行命名,并将每组非根节点等价类的名称作为该组中每个非根节点的标记,定位客体索引文件夹中每一条客体,同时将每个非根节点的标记添加到客体索引文件夹中与每个非根节点对应的客体所在行的相应位置。

这里,所述第二预设规则可以是指将rdf数据的可达性查询索引的根节点等价类中或者非根节点等价类中的最小整数型作为rdf数据所属的根节点等价类或者非根节点等价类的名称。例如,非根节点等价类h为{4、5、6、7},其中,4为最小非根节点整数型,则非根节点等价类h的名称为4,标记为[4],并且,非根节点等价类h中每个非根节点整数型的标记均为[4]。

在步骤s333,针对主体-谓词-客体索引文件夹中的每一条主体-谓词-客体长整型rdf三元组,在根节点等价类集合以及客体索引文件夹中查找与该条主体-谓词-客体长整型rdf三元组的主体和客体对应的标记,并将该条主体-谓词-客体长整型rdf三元组的谓词添加到与该条主体-谓词-客体长整型rdf三元组的主体和客体对应的标记表示的节点之间。具体说来,当将所述主体-谓词-客体长整型rdf三元组的谓词添加到与该条主体-谓词-客体长整型rdf三元组的主体和客体对应的标记表示的节点之间时,可以构成rdf数据的可达性查询索引的一条边。通过上述方式,可以将根节点等价类与非根节点等价类通过谓词进行关联,从而可在步骤s340,生成rdf数据的可达性查询索引。

此外,作为示例,附加地,为了验证rdf可达性查询索引的正确性,图1所述的方法可还附加地包括步骤s400,作为示例,在步骤s400,可保存构建的rdf数据的可达性查询索引,并对构建的rdf数据的可达性查询索引进行验证和评估。

综上所述,在根据本发明示例性实施例的面向大规模rdf数据的可达性查询索引的构建方法中,不仅可以高效、准确地建立大规模rdf数据的可达性查询索引,还具备扩展性好,易于实现的优点。

虽然已表示和描述了本发明的一些示例性实施例,但本领域技术人员应该理解,在不脱离由权利要求及其等同物限定其范围的本发明的原理和精神的情况下,可以对这些实施例进行修改。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1