[发明专利]一种基于Hadoop的海量RDF数据分布式查询处理方法无效
| 申请号: | 201310037662.1 | 申请日: | 2013-01-31 |
| 公开(公告)号: | CN103116625A | 公开(公告)日: | 2013-05-22 |
| 发明(设计)人: | 张小洪;杨丹;李珩;谢娟;成正斌;洪明坚;葛永新;杨梦宁;徐玲;胡海波 | 申请(专利权)人: | 重庆大学 |
| 主分类号: | G06F17/30 | 分类号: | G06F17/30 |
| 代理公司: | 暂无信息 | 代理人: | 暂无信息 |
| 地址: | 400044 *** | 国省代码: | 重庆;85 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 基于 hadoop 海量 rdf 数据 分布式 查询 处理 方法 | ||
1.一种基于Hadoop的海量RDF数据分布式查询处理方法,利用MapReduce框架对存储于分布式数据库HBase中的RDF数据进行SPARQL查询,所述方法包括:
步骤a:将RDF数据上传至HDFS中,通过Hadoop平台的MapReduce框架读取数据将其并行存储在HBase中;
步骤b:对用户提交的SPARQL查询语句段进行预处理,对语句进行解析并提取出其中的前缀声明、结果变量、图模式子句;
步骤c:还原图模式子句中的前缀字符,将还原后的图模式子句转化为树模型,以树的结构来表示查询语句的完整图模式;
步骤d:分解树模型,以自底向上、自左向右的方式遍历树节点并生成匹配各节点的查询计划,并将查询计划发送到Hadoop平台;
步骤e:通过MapReduce框架从HBase中读取数据,按照查询计划执行分布式查询,最后按结果变量返回查询结果。
2.如权利要求1所述的基于Hadoop的海量RDF数据分布式查询处理方法,其特征在于,所述步骤a中:
利用MapReduce框架将RDF数据存储入HBase中,其中以三张表来存储RDF数据,分别为:将RDF三元组的主体、谓词组合作为rowkey存储,客体作为column name存储;将RDF三元组的谓词、客体组合作为rowkey存储,主体作为columnname存储;将RDF三元组的客体、主体组合作为row key存储,谓词作为column name存储。
3.如权利要求1所述的基于Hadoop的海量RDF数据分布式查询处理方法,其特征在于,所述步骤c包括:
步骤c1:对图模式子句中的三元组模式进行编号;
步骤c2:利用提取出的前缀声明替代图模式子句中的前缀字符;
步骤c3:将图模式子句转化为树结构模型。
4.如权利要求1所述的基于Hadoop的海量RDF数据分布式查询处理方法,其特征在于,所述步骤d包括:
步骤d1:首先从树模型结构倒数第二层以自底向上、自左向右的方式遍历整棵树,依次取出各节点;
步骤d2:根据节点的子节点创建三元组模式集合以及变量集合,变量集合包括变量名、变量连接三元组模式编号及其在三元组模式中的位置;
步骤d3:按照节点类型创建匹配该节点的一系列job信息,并重写该节点;
步骤d4:将生成的一系列job信息作为查询执行计划发送到Hadoop平台。
5.如权利要求1所述的基于Hadoop的海量RDF数据分布式查询处理方法,其特征在于,所述步骤e包括:
步骤e1:通过MapReduce框架读取HBase中数据;
步骤e2:按执行计划执行BGP连接操作、左连接操作以及合并操作,最终完成分布式查询;
步骤e3:按照结果变量提取最终结果,返回查询结果。
6.如权利要求5所述的基于Hadoop的海量RDF数据分布式查询处理方法,其特征在于,所述步骤e2中查询执行计划中MapReduce job执行BGP连接操作包括:
步骤e21:Mapper任务读取HBase中数据,利用HBase过滤器首先对数据进行过滤。
步骤e22:在Mapper任务中进一步对数据进行过滤,并重新组织数据,按key-value形式输出。
步骤e23:在Mapper->Reducer阶段,对数据进行排序、浓缩,将Mapper输出数据按key值进行排序并浓缩。
步骤e24:在Reducer任务中,将具有相同key的value按key执行连接操作,完成BGP连接。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于重庆大学,未经重庆大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310037662.1/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种门禁系统
- 下一篇:基于USB总线的虚拟仪器





