【技术实现步骤摘要】
一种基于树搜索的RDF查询方法
本专利技术涉及大规模RDF数据查询领域,具体是一种基于树搜索的RDF查询方法。
技术介绍
资源描述框架(ResourceDescriptionFramework,简称RDF)是由W3C提出的对万维网上信息进行描述的一个框架,它为Web上的各种应用提供信息描述规范。RDF可以使用<S,P,O>三元组描述Web资源,其中S通常被称为主语,P被称为谓词,O被称为宾语。RDF被广泛的应用到各种领域如社交网络、生命科学、医疗和科学研究等。SPARQL是W3C为实现RDF数据的检索标准所定义的查询语言。随着语义网关系抽取技术的迅速发展,RDF数据集中的三元组已经达到数亿级规模,提高SPARQL的查询性能已经成为一个亟待解决的技术问题。目前,基于数据组织与存储的方案上可以分为三种查询技术,基于关系型数据库、基本三元组和基于图的RDF查询技术。基于关系型数据库的存储模式是指将RDF的数据直接存储在关系数据库中,这种存储模式可以直接利用关系数据库的成熟、高效的数据管理和操纵技术,然而在进行S ...
【技术保护点】
1.一种基于树搜索的RDF查询方法,其特征在于,所述RDF数据集为<S,P,O>三元组的集合,查询问题满足SPARQL标准,包括如下步骤:/n1)将RDF数据建模为有向标签数据图G=<V′,L′
【技术特征摘要】
1.一种基于树搜索的RDF查询方法,其特征在于,所述RDF数据集为<S,P,O>三元组的集合,查询问题满足SPARQL标准,包括如下步骤:
1)将RDF数据建模为有向标签数据图G=<V′,L′v,M′v,E′,L′e,M′e>,其中V′是由RDF数据中的S和O组成的节点集合,Lv′为数据图中节点的标签的集合,M′v:V′→L′v表示数据图中节点到标签的双射函数,E′表示数据图中连接S和O的有向边的集合,L′e为数据图中边的标签,M′e:E′→L′e表示数据图中边到标签的双射函数,在将RDF数据转换为RDF数据图时,分别构建RDF数据对应的ID三元组集合、节点映射表vHash、逆节点映射表vHash-、边映射表eHash和逆边映射表eHash-;
2)针对SPARQL中变量,为了有效减少变量节点的候选域,分别构建邻接边、逆邻接表、P-In和P-Out四种索引;
3)将SPARQL查询建模为有向标签查询图Q=<V,Lv,Mv,E,Le,Me>,其中V是由SPARQL查询图中的S和O组成的节点集合,Lv为查询图中的节点的标签,Mv:V→Lv表示查询图中的节点到标签的双射函数,E表示查询图中的连接S和O的有向边的集合,Le为查询图中的边的标签,Me=E→Le表示查询图中的边到标签的双射函数;
4)根据查询图中每个候选节点的数量,平均度及查询图节点度为依据,确定查询图初始节点的选择;
5)基于贪心思想,为查询图输出一个查询图节点匹配序列μ和一个标识序列μ中节点父节点的序列μpt;
6)在查询匹配过程中,根据步骤5)输出的查询图节点匹配序列μ和RDF数据图组成一颗搜索空间树,采用深度优先策略对搜索空间树进行遍历,在遍历过程中,采用子图同态约束修剪不满足的分支,输出所有满足子图同态的分支,即得到查询结果。
2.根据权利要求1所述的一种基于树搜索的RDF查询方法,其特征在于,所述步骤1)中的构建RDF数据对应的ID三元组集合,包括如下步骤:
1-1)在将RDF数据建模为有向标签图时,维护一个名为vHash的哈希节点映射表,即将相同的S或O映射到同一个节点,每个节点对应唯一的节点ID和标签(Label),同时构建一个节点ID到S/O的逆节点哈希映射表vHash-;
1-2)在将RDF数据建模为有向标签图时,同时维护一个名为eHash的哈希边映射表,其作用是将相同的P映射到一个具有相同标签的有向边,每条边对应唯一的边标签,同时构建一个边标签到P的哈希逆边映射表eHash-;
1-3)根据步骤1-1)和步骤1-2)的转换,将RDF三元组的集合转化为一个ID三元组的集合,分别存储RDF数据的ID三元组集合,即节点映射表vHash、逆节点映射表vHash-、边映射表eHash和逆边映射表eHash-。
3.根据权利要求1所述的一种基于树搜索的RDF查询方法,其特征在于,所述步骤2)中的构建邻接边、逆邻接表、P-In和P-Out四种索引,包括如下步骤:
2-1)在SPARQL查询图中,若变量节点u0存在入射边,且与之相连的为一个常量节点u1,通过访问常量节点u1的邻接表并验证边的标签获得变量节点u0的候选域;
2-2)在SPARQL查询图中,若变量节点u0存在出射边,且与之相连的为一个常量节点u1,以冗余的方式构建逆邻接表,通过访问变量u0相关的常量节点u1减少逆邻接表的候选域;
2-3)在SPARQL查询图中,若变量节点u0存在出射边,且与之相连的为一个变量节点u1,通过构建数据图中边标签相关的起始节点集合p-In(ei)={vi|<vi,vj>∈E′,L′<vi,vj>=ei},以减少变量节点的候选域,其中vi,vj是数据图G中的节点,ei为查询图中边的标签;
2-4)在SPARQL查询图中,若变量节点u0存在入射边,且与之相连的为一个变量节点u1,通过构建数据图边标签相关的终止节点集合p-Out(ei)={vj|<vi,vj>∈E,L(<vi,vj>)=ei},以减少变量节点的候选域,其中vi,vj是数据图G中的节点,ei为查询图中边的标签。
4.根据权利要求1所述的一种基于树搜索的RDF查询方法,其特征在于,所述步骤3)中的将SPARQL查询建模为有向标签图Q=<V,Lv,Mv,E,Le,Me>,包括如下步骤:
3-1)在SPARQL查询中,将相同的S和O建模为同一个节点,对应唯一的节点ID,S或O通常包含常量和变量的情况;对于SPARQL中S或O为常量的情况,其对应的数据图节点的标签可以使用S或O访问步骤1)中构造的vHash表获得该节点的标签;对于S或O为变量的情况,使用{*}作为该节点的标签;
3-2)对于SPARQL查询中的P,通过访问步骤1)所得到的边映射表eHash获得有向边所对应的标签;
3-3)采用邻接表的方式对SPARQL查询进行存储。
5.根据权利要求1所述的一种基于树搜索的RDF查询方法,其特征在于,所述步骤4),具体包括如下步骤:
4-1)使用startVertexList表示查询图初始节点的候选域,初始化startVertexList为所有查询图的节点;
4-2)从候选集合startVertexList中移除度为1的变量节点且该节点的邻居仍为变量节点;
4-3)若startVertexList不空,则依次为start...
【专利技术属性】
技术研发人员:董荣胜,刘江江,李凤英,
申请(专利权)人:桂林电子科技大学,
类型:发明
国别省市:广西;45
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。