本发明属于计算机查询,涉及一种基于离散樽海鞘算法的sparql查询优化方法。
背景技术:
1、物联网中的设备和数据通常来自不同的厂商、不同的领域,它们使用的数据格式和语义可能存在差异,导致信息孤岛的问题。语义web提供了一种标准化的数据交换和共享机制,使得不同设备和数据源之间能够相互理解和交互。资源描述框架(resourcedescription framework,rdf)是w3c提出的一种基于图的数据模型,通过三元组的形式描述主语、谓语和宾语间三者的关系,用于表示资源信息web资源的元数据,能够使信息检索系统更好地在语义web上精确定位和提取信息。随着语义物联网的迅速发展,越来越多的行业和领域,如智能家居、智慧城市等,广泛使用语义web技术以语义结构化的方法进行数据的表示,rdf数据量逐渐增大且变的越来越复杂。为了查询和存储这些大量增长的rdf数据,需要高效的rdf管理解决方案。sparql是w3c提出的一种标准查询语言,以实现对rdf数据的查询和检索。sparql查询的基本组成单元是三元组(triple pattern),一组三元组构成了基本图模式(basic graph pattern,bgp),不过sparql的三元组与rdf的三元组有所不同,三元组的主语、谓语和宾语除了可以是常量,也可以是变量,从而更好地进行信息的定位和提取。
2、在处理rdf数据集的sparql查询方面,现有系统如rdf-3x,g-store等在中小型rdf数据集上取得了高性能,但当数据集越来越大时,这些系统无法有效处理大规模和复杂的rdf数据集。传统的查询处理方法可能导致查询响应时间延迟过高,无法满足实时环境监测、智能城市规划等领域下对及时查询结果的需求。在sparql查询优化中,目前存在针对于特定的查询形状进行优化(如链形查询),但在面对不同查询形状和三元组数量时,如何提升查询效率仍然是一个主要挑战。因此,我们需要继续探索如何在不同查询形状和三元组数量的情况下改进sparql查询的效率,降低查询延迟,以应对日益复杂和庞大的rdf数据和实时应用需求。
技术实现思路
1、本发明解决了语义物联网中rdf数据量增大导致的查询效率低下和实时性低的问题。
2、为了解决上述技术问题,本发明采用的技术方案是:一种基于离散樽海鞘算法的sparql查询优化方法,包括以下步骤:
3、s1:对语义物联网中的rdf数据进行查询处理,将sparql查询的基本图模式bgp抽象为完全有向图g;
4、s2:基于完全有向图g构建权重矩阵w;
5、s3:将基本图模式bgp的三元组的不同顺序作为离散樽海鞘算法的初始种群,根据构建的权重矩阵w利用离散樽海鞘算法计算出sparql查询的最优执行顺序,将最优的执行顺序作为sparql查询的顺序进行查询。
6、进一步,所述步骤s1具体包括:将一个含有n个三元组的基本图模式bgp抽象为有n个顶点的完全有向图g,其中图的顶点表示基本图模式bgp中的一个三元组,边表示三元组之间的连接。
7、进一步,所述步骤s2具体包括:计算三元组的基数估计和连接估计,构建权重矩阵w,矩阵的值作为边的权重即三元组之间的连接成本。
8、进一步,所述根据构建的权重矩阵w利用离散樽海鞘算法计算出sparql查询的最优执行顺序,具体包括:
9、s31:利用反向学习机制初始化樽海鞘种群,每个樽海鞘个体代表一种查询顺序;
10、s32:根据sparql查询抽象的完全有向图g的权重矩阵w计算樽海鞘种群的适应度值,根据适应度值选取食物位置、领导者和追随者;
11、s33:根据预设的迭代次数、参数c1进行领导者更新;
12、s34:根据预设的迭代次数进行追随者更新;
13、s35:重复执行步骤s31-s34直至达到预设的迭代次数为止,将樽海鞘种群的最佳适应度值的樽海鞘个体输出;
14、s36:对输出的最佳适应度值的樽海鞘个体使用lin-kernighan算法进行局部寻优,将最佳樽海鞘个体的解作为sparql查询的最佳的查询执行顺序。
15、进一步,一种电子设备,包括存储器、处理器及存储在存储器上并在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述基于离散樽海鞘算法的sparql查询优化方法的步骤。
16、进一步,一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述基于离散樽海鞘算法的sparql查询优化方法的步骤。
17、本发明的有益效果在于:
18、本发明中所采用的离散樽海鞘算法,相比于蚁群算法、粒子群算法等启发式算法相比,该算法在解决sparql查询重排序优化问题上具有结构简单,算法参数少,查询效率高等优势。
19、本发明所涉及基于离散樽海鞘的sparql查询优化方法,为了求解sparql查询重排序优化问题,采用三种变换算子对樽海鞘算法进行离散化改进。在算法初始化阶段,通过反向学习机制进行种群的初始化,能够改善算法的搜索空间,提高算法在搜索过程中的种群多样性;在领导者更新阶段,引入交换和对称算子,在跟随者更新阶段,引入汉明距离和移位算子;在满足终止条件后,引入lin-kernighan算法,寻找最佳的查询顺序。本发明解决了语义物联网中面对大量rdf数据查询效率低、实时性等问题,为语义物联网应用提供了高效、实时的查询处理能力。
1.一种基于离散樽海鞘算法的sparql查询优化方法,其特征在于,包括以下步骤:
2.根据权利要求1所述一种基于离散樽海鞘算法的sparql查询优化方法,其特征在于:所述步骤s1具体包括:将一个含有n个三元组的基本图模式bgp抽象为有n个顶点的完全有向图g,其中图的顶点表示基本图模式bgp中的一个三元组,边表示三元组之间的连接。
3.根据权利要求1所述一种基于离散樽海鞘算法的sparql查询优化方法,其特征在于:所述步骤s2具体包括:计算三元组的基数估计和连接估计,构建权重矩阵w,矩阵的值作为边的权重即三元组之间的连接成本。
4.根据权利要求1所述一种基于离散樽海鞘算法的sparql查询优化方法,其特征在于:所述根据构建的权重矩阵w利用离散樽海鞘算法计算出sparql查询的最优执行顺序,具体包括:
5.根据权利要求4所述一种基于离散樽海鞘算法的sparql查询优化方法,其特征在于:所述步骤s31中,使用反向学习机制生成与原始种群的相反种群,选取适应度高的个体构成初始樽海鞘种群。
6.根据权利要求4或5所述一种基于离散樽海鞘算法的sparql查询优化方法,其特征在于:所述反向学习机制为:
7.根据权利要求4或5所述一种基于离散樽海鞘算法的sparql查询优化方法,其特征在于:所述s33中领导者更新按照如下公式:
8.根据权利要求4或5所述一种基于离散樽海鞘算法的sparql查询优化方法,其特征在于:所述s34中追随者更新按照如下公式:
9.一种电子设备,包括存储器、处理器及存储在存储器上并在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至8任一项所述的基于离散樽海鞘算法的sparql查询优化方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至8任一项所述的基于离散樽海鞘算法的sparql查询优化方法的步骤。