当前位置: 首页 > 专利查询>福州大学专利>正文

结合星型图编码的RDF数据存储与查询方法技术

技术编号:11192927 阅读:97 留言:0更新日期:2015-03-25 21:33
本发明专利技术涉及一种结合星型图编码的RDF数据存储与查询方法,步骤S1:对RDF数据进行预处理,将所述RDF数据以RDF数据图方式呈现;步骤S2:将输入的SPARQL查询语句以SPARQL查询图方式呈现,进行查询分解;步骤S3:对所述SPARQL查询语句进行预处理,得到整个查询的任务数、查询星型子节点的连接顺序以及查询星型子节点的相关信息;步骤S4:执行所述SPARQL查询语句并进行查询连接计划,采用Hadoop的MapReduce并行运算框架,根据所述SPARQL查询语句的关联性决定查询任务Job的启动次数;步骤S5:进行子图查询,采用Map函数;步骤S6:进行结果连接算法,采用Reduce函数。本发明专利技术由于采用基于星型结构的哈希编码索引查询策略,减少存储数据冗余和查询任务数,加快查询效率。

【技术实现步骤摘要】
结合星型图编码的RDF数据存储与查询方法
本专利技术属于海量RDF数据管理
,具体涉及一种结合星型图编码的RDF数 据存储与查询方法。
技术介绍
目前已有一些研究提出了基于云平台的RDF数据存储及管理。例如:(1)利用 SimpleDB (AWS提供的一种Key-Value Store)来回答SPARQL查询,提出了一系列索引方 式,用来确定给定一个查询以后,利用其索引结构能够很快地判定哪个RDF数据集可能包 含查询结果。(2)利用Hadoop来存储和检索RDF数据集的方案,并讨论了此平台下的查询 计划生成算法。(3)根据属性及宾语所属的类型将数据划分成多个小文件并存储在HDFS, 查询处理方面,采用一种贪心的MapReduce作业生成算法,多个作业迭代处理SPARQL查询 的连接操作。(4)直接将RDF数据以N-Triple文件形式存放在HDFS,创建一个MapReduce 作业从HDFS文件中查找对应的三元组,然后采用多个MapReduce作业迭代处理SPARQL查 询的连接操作,提出了贪婪选择以及多路选择两种连接选择策略。(5)利用多路连接本文档来自技高网...
结合星型图编码的RDF数据存储与查询方法

【技术保护点】
结合星型图编码的RDF数据存储与查询方法,其特征在于:    步骤S1:对RDF数据进行预处理,将所述RDF数据以RDF数据图方式呈现;所述的预处理包括一星形数据分割阶段和一星形图编码阶段;步骤S2:将输入的SPARQL查询语句以SPARQL查询图方式呈现,进行查询分解,解析成星型节点,形成查询子图G;步骤S3:对所述SPARQL查询语句进行预处理,得到整个查询的任务数、查询星型子节点的连接顺序以及查询星型子节点的相关信息;所述的查询星型子节点的相关信息包括主语类型、查询变量、连接变量、索引编码和节点编码;通过主语类型将查询星型节点的查询范围定位到主语类型所在的文件夹下,再由索引编码可以得到具...

【技术特征摘要】
1. 结合星型图编码的RDF数据存储与查询方法,其特征在于: 步骤Sl:对RDF数据进行预处理,将所述RDF数据以RDF数据图方式呈现;所述的预处 理包括一星形数据分割阶段和一星形图编码阶段; 步骤S2 :将输入的SPARQL查询语句以SPARQL查询图方式呈现,进行查询分解,解析成 星型节点,形成查询子图G; 步骤S3 :对所述SPARQL查询语句进行预处理,得到整个查询的任务数、查询星型子节 点的连接顺序以及查询星型子节点的相关信息;所述的查询星型子节点的相关信息包括 主语类型、查询变量、连接变量、索引编码和节点编码;通过主语类型将查询星型节点的查 询范围定位到主语类型所在的文件夹下,再由索引编码可以得到具体的输入文件; 步骤S4 :执行所述SPARQL查询语句并进行查询连接计划,采用Hadoop的MapReduce并 行运算框架,根据所述SPARQL查询语句的关联性决定查询任务Job的启动次数; 步骤S5 :进行子图查询,采用Map函数,包括两个过程:首先利用步骤S3计算好的索引 编码和过滤策略1,得到关于查询连接任务Q的候选文件;其次结合分布式框架,根据节点 编码和过滤策略2,对输入文件中的星型节点做快速的过滤和精确验证,最后得到每个查询 子图任务的查询结果; 步骤S6 :进行结果连接算法,采用Reduce函数。2. 根据权利要求1所述的结合星型图编码的RDF数据存储与查询方法,其特征在于: 所述步骤Sl中的星形数据分割阶段包括以下步骤: 步骤Sll:定义所述的RDF数据图为一个三元组(V,E,L),其中,V为顶点集合,E为边 的集合,L为标签集合,且L=LvULp,Lv为顶点的标签集合,Lp为边的标签集合;其中V对 应三元组中的s和〇,E对应p;即RDF数据图G是以s和〇为顶点、p为边,并且顶点和边 上都带有标签的图; 步骤S12 :将所述的RDF数据图分解成多个星型结构;所述星型结构由多个RDF三元 组共同组成,每个三元组的主语相同,将构成所述星型结构的多个三元组数据表示成一个 节点,形成一星型节点; 步骤S13 :假设每个星型节点存储的第一行为星型的中心点,即主语,只存储一次;之 后的每一行为三元组中的谓语和宾语,用逗号连接,每个星型节点以END结束; 步骤S14 :所述星型节点按照主语的Type划分,对每个Type类型创建一个以Type取 值命名的文件夹,将Type相同的星型节点放在同一文件夹下存储,同时在存储星型节点内 容时去除谓语为Type的三元组。3. 根据权利要求1所述的结合星型图编码的RDF数据存储与查询方法,其特征在于: 所述步骤Sl中的星形图编码阶段包括索引编码和节点编码,具体包括以下步骤: 步骤S21 :定义哈希映射,给定一个字符串S,S在哈希函数的作用下得到数值x,x对M取模,得到数值y,定义一个长度为M的计数串,将y位上的字符置1,其他置0,得到映射串 Sig⑶;即 Sig=B1B2B3e^ai …aM,afO,i=l,2, 3,·Μ y=HashFunc(S)Mod(M) 令\ = 1后得到Sig即为Sig(S); 步骤S22 :定义索引编码并进行参数设置:给定一个星型图和图中的一个节点S,对S 的边沿节点即宾语O信息进行编码,表示为ISig(s.o);将ISig(s.o)相同的星型节点放入 同一个以该编码命名的文件,以文件名为索引;针对每个元组〈P,〇>中的〇进行编码:首 先确定一个长度M,按照哈希映射的定义将〇映射到一个0/1字符串,然后利用比特位上的 或操作来得到ISig(s. 〇)的值;根据每个节点求出的ISig(s. 〇),将ISig(s. 〇)相同的星 型节点放入同一个文件中;若部分查询条件的宾语〇已知时,根据〇再次缩小输入文件的 范围;其中M值的大小应不大于log2 (x/64),X为一S.Type文件夹下的数据总量xMB; 步骤S23 :定义节点编码并进行参数设置,给定一个星型图和图中的一个节点s,对s中 的谓语P和宾语〇信息进行编码,表示为NSig(s);NSig(s)的结果为<L,N>,其中L是长度 为X的计数串,用以表示点的边的标签信息,即P信息;N是长度为y的计数串,用以表示中 心节点的邻居节点的标签信息,即〇信息;首先确定L和N的长度值,然后将p的标签信息 编码到节点编码的L部分,即NSig(S).p;将连接点的标签信息编码到节点编码的N部分, 即NSig(s). 〇,其次,对于每个星型节点,将得到多个NSig(s).p、NSig(s). 〇对,再利用比特 位上的加操作得到NSig(S)的值;其中L和N分别表示星型节点的<p,〇>标签信息,每 个不同的标签,使用哈希定义将计数串X个元素中m个位置为1 ;根据阈值理论公式(1)得 出L和N的长度值,其中X为某个计数串的长度,m为计数串中1的个数,I...

【专利技术属性】
技术研发人员:汪璟玢卢桂芳
申请(专利权)人:福州大学
类型:发明
国别省市:福建;35

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1