CN112835920A - 基于混合存储模式的分布式sparql查询优化方法 - Google Patents

基于混合存储模式的分布式sparql查询优化方法 Download PDF

Info

Publication number
CN112835920A
CN112835920A CN202110086134.XA CN202110086134A CN112835920A CN 112835920 A CN112835920 A CN 112835920A CN 202110086134 A CN202110086134 A CN 202110086134A CN 112835920 A CN112835920 A CN 112835920A
Authority
CN
China
Prior art keywords
query
data
sparql
distributed
subject
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202110086134.XA
Other languages
English (en)
Other versions
CN112835920B (zh
Inventor
冯钧
邓治国
陆佳民
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hohai University HHU
Original Assignee
Hohai University HHU
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hohai University HHU filed Critical Hohai University HHU
Priority to CN202110086134.XA priority Critical patent/CN112835920B/zh
Publication of CN112835920A publication Critical patent/CN112835920A/zh
Application granted granted Critical
Publication of CN112835920B publication Critical patent/CN112835920B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/242Query formulation
    • G06F16/2433Query languages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2453Query optimisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2471Distributed queries

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Mathematical Physics (AREA)
  • Fuzzy Systems (AREA)
  • Probability & Statistics with Applications (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了基于混合存储模式的分布式SPARQL查询优化方法,属于知识图谱的应用,包括如下步骤:1)构建RDF数据存储模块,包括数据特征集的生成、前缀树索引的构建以及RDF数据的存储;2)构建SPARQL查询模块,包括查询解析、查询优化、查询执行。本发明实现了基于混合存储模式的分布式SPARQL查询优化方法,根据RDF原始数据,通过逻辑划分,以不同的关系形式对RDF数据进行存储,然后基于存储的模式构建了前缀树索引和数据特征集,在执行SPARQL查询的过程中基于索引和数据特征集对查询匹配进行优化,从而更有效的获取查询结果。

Description

基于混合存储模式的分布式SPARQL查询优化方法
技术领域
本发明属于知识图谱的应用,具体的涉及基于混合存储模式的分布式SPARQL查询优化方法。
背景技术
近年来,随着知识图谱相关技术的发展,知识图谱数据呈现爆炸式增长,由此也引发了诸多问题。如何有效的管理大规模的知识图谱数据,对于基于知识图谱的智能问答、搜索、推荐等上层应用具有重要的影响。在语义网中主要以RDF(Resource DescriptionFramework)数据模型来表示知识图谱数据,其主要形式为一个三元组<主语,谓语,宾语>,其中主语和宾语表示客观世界的实体,谓语描述实体之间的关系。SPARQL是由W3C推荐的标准RDF数据查询语言。通常情况下,SPARQL选择语句主要包含两部分:select子句和where子句,其中select部分包含待选择的数据,where子句部分包含用于过滤和匹配数据的条件。对于SPARQL查询而言,其本质是在知识图谱中进行子图匹配。
传统的RDF数据管理方式主要是集中式管理,也就是往往以单节点的形式来存储RDF数据,当遇到问题的时采用纵向扩展的方式,通过增大节点的内存容量等来提升节点对数据的处理能力。但随着RDF数据的激增,集中式管理的方式往往不能满足真实场景的需求,存在管理效率低、扩展性能差等问题。随着大数据技术的发展,出现了众多优秀的数据处理框架和模型,近些年兴起的Spark是一款内存型引擎,其克服了传统的MapReduce模型存在过多数据I/O导致效率低下的问题。在Spark基础上存在很多优秀的模块,其中包括Spark SQL可以通过简单的编程模型,对数据进行交互式分析。
针对传统RDF数据管理的性能瓶颈问题,越来越多的方法借助现有的大数据技术和框架,通过分布式的方式对RDF数据进行管理,通过在分布式环境下处理SPARQL查询,提升数据管理效率和查询性能,从而为基于知识图谱的应用提供更好的支撑。
发明内容
发明目的:为克服传统RDF数据管理中的不足,本发明目的是提供基于混合存储模式的分布式SPARQL查询优化方法,通过基于关系模式的数据模型并借助大数据技术,在分布式环境下更有效的管理RDF数据,并在前缀树索引查询优化策略的基础上,提升分布式环境下SPARQL查询的效率。
技术方案:为实现上述发明目的,本发明采用如下技术方案:基于混合存储模式的分布式SPARQL查询优化方法,包括以下步骤:
1)构建RDF数据存储模块,包括数据特征集的生成、前缀树索引的构建以及RDF数据的存储;
2)构建SPARQL查询模块,包括查询解析、查询优化、查询执行。
进一步地,所述的步骤1)中,构建RDF数据存储模块包括以下步骤:
1.1)基于原始三元组表数据生成数据集的基本特征信息,包括三元组的数量、不同主语的数量、不同宾语的数量、不同谓语的数量;
1.2)构建前缀树索引;
1.3)基于三元组表构建垂直划分表和宽属性表。
进一步地,所述的步骤1.2)中,前缀树索引的构建是基于前缀树的变种进行构建的,用于SPARQL查询匹配过程中符合一定条件三元组的快速检索,避免不必要的磁盘读取操作。
进一步地,所述的步骤1.2)中,包括构建以主语为根的前缀树索引和以宾语为根的前缀树索引;构建两个不同的前缀树索引,利用三元组中已知的主语和谓语来快速检索到宾语,或者是通过已知的宾语和谓语快速检索到对应的主语。
进一步地,所述的步骤1.3)中,所述的垂直划分表的构建是基于三元组表中不同谓语来构建的,即含有共同谓语的三元组被划分到同一个表中,该表只有两列,分别为主语列和宾语列,表的名称对应一个谓语;所述的宽属性表的构建,是基于三元组的主语进行划分,将相同主语的元组划分为一行,三元组的宾语可以通过主语,谓语进行定位;对于主语和宾语中一对多的情形,使用一个集合容器,存储不同的宾语;最终使用ORC列式存储,并结合SNAPPY压缩算法,将数据存储在磁盘上。
进一步地,所述的步骤2)中,构建SPARQL查询模块包括以下步骤:
2.1)查询解析;在执行SPARQL查询时,首先使用Jena ARQ对SPARQL查询进行解析,分解成若干个待匹配的三元组;
2.2)查询优化;SPARQL查询的本质是子图匹配,在基于关系模式查找对应数据的过程中主要涉及的操作就是连接操作,连接操作涉及磁盘读写和数据的传输,代价昂贵;
2.3)查询执行;依据上一步骤中优化后的查询连接顺序,构造连接树,并采用自底向上的方式处理书中的节点;连接树中的节点代表SPARQL查询的子查询,在处理完树中所有的节点后,树的根节点即代表最终的查询结果。
进一步地,步骤2.2)中查询的优化首先依据分解后的三元组的变量的个数进行非递减排序,变量个数相同的依据元组的数据特征集和选择性进行非递减排序,然后依据排序后的元组构建连接树;连接树中的每一个节点代表SPARQL查询的一个子查询,在执行子查询的过程中,具有共享主语变量或者宾语变量的元组被划分到同一个节点中。
进一步地,步骤2.3)中查询的执行涉及到查询的转换操作,即将相应的SPARQL子查询转换为等价的Spark SQL查询;Spark SQL查询根据RDF数据加载过程中生成并存储在MySQL中的元数据,关联存储在磁盘中的物理数据,通过Spark算子操作,计算得到相应的子查询结果;对于子查询中的三元组匹配操作,主要包括下述几种情形:
3.1)索引匹配;若当前元组只包含一个变量,且该变量对应位置为主语或者宾语所在位置,则根据构建好的前缀树索引快速匹配变量位置对应的可能的映射常量;
3.2)查询垂直划分表;若节点中只有一个三元组且谓语所在位置为常量,则通过谓语匹配到对应的垂直划分表,在垂直划分表中进行数据的匹配;
3.3)查询宽属性表;若节点中包含若干个三元组,且这些三元组的主语是其共享变量,则通过查询宽属性表,找到对应的主语,即可一次获取相应的变量应当映射到的常量。
进一步地,步骤3.2)中对于垂直划分表的查询操作,数据采用ORC列式存储格式将列式文件分成若干组,并在每一组列式文件中应用布隆过滤器的原理,在表中查询目标值时,不必按照顺序进行依次查询,可以利用布隆过滤器跳过不包含目标值的组,提升查找效率;同时在构建垂直划分表时,会根据所有表的大小以及频繁谓词的相关数据,设置一个合理的阈值,在垂直划分表之间执行连接操作的时候,将小于阈值的表广播到其他节点,即使用BroadcastJoin算法,从而将Reduce-Side连接操作,转换为Map-Side连接操作,避免数据的Shuffle操作,提升连接操作的效率。
进一步地,步骤3.3)中对于宽属性表的查询操作,对于含有公共主语的三元组,只需要扫描依次表,即可获取对应的宾语,对表的扫描同样利用布隆过滤器的原理对于数据进行过滤,提升数据查找的效率;对于宽属性表中主语和宾语一对多的情形,利用Hive操作中的lateralviewexplode(列名)操作,将某一个单元的一行数据转化为多行,即转换为二元表格的形式,用于查询匹配操作。
发明原理:该方法主要包括RDF数据存储模块和SPARQL查询模块,查询模块是构建于存储模块之上的。首先构建RDF数据存储模块,对RDF数据分别以三元组表、垂直划分表和宽属性表进行逻辑形式划分,其中垂直划分表和宽属性表是基于三元组表创建的。在导入数据的时候,基于逻辑划分将RDF数据物理存储到HDFS中,并使用MySQL管理集群中的元数据信息。在数据加载过程中,构建前缀树索引并生成RDF数据的基本信息,如不同主语、谓语和宾语的个数等,用于SPARQL查询执行的优化;其次执行SPARQL查询时,将查询分解为不同的三元组模式,根据三元组中涉及的变量个数和节点的基数估计,对三元组进行非递减排序,然后根据有序的三元组构建连接树,最终对连接树中的节点采用自底向上的方式进行查询匹配。每个节点的查询匹配操作主要是通过将三元组模式转化为等价的Spark SQL,然后通过元数据信息关联到存储在HDFS中的RDF数据,基于Spark执行引擎执行任务并返回结果,最终得到连接树中根节点的数据即为SPARQL的查询结果。在执行数据加载和SPARQL查询过程中,由YARN负责集群资源的管理和调度。
有益效果:与现有技术相比,本发明实现了基于混合存储模式的分布式SPARQL查询优化方法,根据RDF原始数据,通过逻辑划分,以不同的关系形式对RDF数据进行存储,然后基于存储的模式构建了前缀树索引和数据特征集,在执行SPARQL查询的过程中基于索引和数据特征集对查询匹配进行优化,从而更有效的获取查询结果。
附图说明
图1是本发明所述方法的框架示意图;
图2为本发明所述存储模块数据的RDF数据的存储形式;
图3为本发明所述存储模块数据的加载流程图;
图4为本发明所述的SPARQL查询执行流程图。
具体实施例方式
为了详细的说明本发明所公开的技术方案,下面结合说明书附图及具体实施方案做进一步的阐述。
本发明所提供的基于混合存储模式的分布式SPARQL查询优化方法,其整系统架构如图1,本实施例以RDF公共数据集WatDiv为例,具体如下:
S1:构建RDF数据存储模块,包括数据特征集的生成、前缀树索引的构建以及RDF数据的存储。
S2:构建SPARQL查询模块,包括查询解析、查询优化、查询执行。
其中,在S1中,构建RDF数据存储模块整体流程如图3所示,其主要包括以下步骤:
S101:RDF数据以N-Triple的形式导入系统,在执行数据加载的过程中,需要传入一个名称参数作为数据库得名称,文件位置参数用于定位RDF文件数据,数据的特征信息如三元组总数、不同的元组总数、不同的主语数、不同的谓语数、不同的宾语数、主语的选择性等相关信息默认以JSON文件的形式存储到磁盘上,在需要使用到数据特征信息时,需要读取并解析JSON文件,然后查找相应的特征信息。需要说明的是JSON文件的所占用的存储空间相对于RDF数据源的大小,可以忽略不计。
S102:前缀树的构建。在执行SPARQL查询过程中,不同的三元组中往往存在很多已知的常量,可以利用已知的常量快速获取对应变量的可能的值,而不需要查找相关的表格,从而减少磁盘I/O的次数。前缀树中每一个节点都是一个字符并包括一个潜在的字符串,其主要操作包括插入一个字符串、判断是否包含某个字符串、判断是否包含某个字符前缀。以<sub、pre、obj>为例,向前缀树中依次插入该元组中的字符串,在插入的过程中通过当前主语和宾语是否为一对一的情形,存储对应的字符串。若sub和obj之间为一对一关系,即可以通过<sub、pre>唯一确定obj,则在构建主语前缀树的时候,在相应的节点存储对应的宾语。同理,以同样的方式构建宾语前缀树。
S103:构建垂直划分表和宽属性表。在构建垂直划分表的时候,首先获取RDF数据集的不同的谓语的集合,然后遍历该集合中的每一个谓语属性,通过谓语对数据进行划分,将具有共同谓语的数据划分为一个具有两列的数据表中,并将数据表存在数据库中;宽属性表的构建,主要是基于三元组的主语进行划分,将具有共同主语的三元组划分为一行,其中对于主语和宾语一对多的情形使用一个集合存储多个元组,将集合作为一个元素存放在对应的单元,对于宽属性表而言,就是将知识图谱的数据存放在一张表中;构建完的表使用ORC列式存储格式,并结合SNAPPY压缩算法,其数据存储在HDFS集群中,数据加载阶段完成后,数据的逻辑存储形式如图2所示。
其中,在S2中,构建SPARQL查询模块,用于处理基于RDF数据的SPARQL查询,能够在理想的时间内响应用户的查询,返回给用户想要的结果,查询处理的整体流程如图4所示,其主要包括以下步骤:
S201:查询解析。SPARQL查询的本质是子图匹配,对于一个SPARQL查询,通过JenaARQ将其进行分解,转化为等价的若干个三元组子查询,其中每一个子查询的结果对应原始查询的一部分结果,将每一个子查询的结果进行合并,即得到最终的SPARQL查询结果;
S202:查询优化。对于SPARQL查询过程中,最消耗资源的操作主要是连接操作,若查询分解得到的三元组总数为N,则查询中需要进行表连接操作的次数为N-1次,对于不同的连接顺序,其涉及的操作代价和时间性能具有很大的差异,如何获取一个较优的连接顺序,对于SPARQL查询性能具有重要的影响。为了得到一个较优的连接顺序,首先根据分解得到的三元组集合中不同三元组的变量的个数进行非递减排序,对于变量个数相同的三元组则按照三元组的选择性进行排序。同时结合数据的特征集对查询连接顺序进一步的优化,这里关键的一点是基数评估,不同的连接顺序产生的中间结果往往不同,利用特征集优化连接顺序,使得连接过程中产生的中间结果尽可能的少。
S203:查询执行。依据上一步得到的有序三元组,依次构造连接树,将具有共同主语变量的三元组划分到一个树节点中,对于构造好的连接树采用自底向上的方式,对每一个节点进行子查询匹配,最终得到的根节点数据即为SPARQL查询的结果。
其中,在S203中,中查询的执行涉及到查询的转换操作,即将相应的SPARQL子查询转换为等价的Spark SQL查询。Spark SQL查询根据RDF数据加载过程中生成并存储在MySQL中的元数据,关联存储在磁盘中的物理数据,通过Spark算子操作,计算得到相应的子查询结果。对于子查询中的三元组匹配操作,主要包括下述几种情形:
(S2031)索引匹配。若当前元组只包含一个变量,且该变量对应位置为主语或者宾语所在位置,则根据构建好的前缀树索引快速匹配变量位置对应的可能的映射常量;
(S2032)查询垂直划分表。若节点中只有一个三元组且谓语所在位置为常量,则通过谓语匹配到对应的垂直划分表,在垂直划分表中进行数据的匹配;
(S2033)查询宽属性表。若节点中包含若干个三元组,且这些三元组的主语是其共享变量,则通过查询宽属性表,找到对应的主语,即可一次获取相应的变量应当映射到的常量。
其中,在(S2032)中对于垂直划分表的查询操作,数据采用ORC列式存储格式将列式文件分成若干组,并在每一组列式文件中应用布隆过滤器的原理,在表中查询目标值时,不必按照顺序进行依次查询,可以利用布隆过滤器跳过不包含目标值的组,提升查找效率。同时在构建垂直划分表时,会根据所有表的大小以及频繁谓词的相关数据,设置一个合理的阈值,在垂直划分表之间执行连接操作的时候,将小于阈值的表广播到其他节点,即使用Broadcast Join算法,从而将Reduce-Side连接操作,转换为Map-Side连接操作,避免数据的Shuffle操作,提升连接操作的效率。
其中,在(S2033)中对于宽属性表的查询操作,对于含有公共主语的三元组,只需要扫描一次宽属性表,即可获取对应的宾语,对表的扫描同样利用布隆过滤器的原理对于数据进行过滤,提升数据查找的效率;对于宽属性表中主语和宾语一对多的情形,利用Hive操作中的lateralviewexplode(列名)操作,将某一个单元的一行数据转化为多行,即转换为二元表格的形式,用于查询匹配操作。
本发明以一种将水利知识图谱与事理图谱基于对象规则库和属性规则库耦合,以结合包含专家经验、历史场景模式匹配、模型匹配的推理规则库为主要事理节点推理驱动的决策支持方法与系统。

Claims (10)

1.基于混合存储模式的分布式SPARQL查询优化方法,其特征在于,包括以下步骤:
1)构建RDF数据存储模块,包括数据特征集的生成、前缀树索引的构建以及RDF数据的存储;
2)构建SPARQL查询模块,包括查询解析、查询优化、查询执行。
2.根据权利要求1所述的基于混合存储模式的分布式SPARQL查询优化方法,其特征在于,所述的步骤1)中,构建RDF数据存储模块包括以下步骤:
1.1)基于原始三元组表数据生成数据集的基本特征信息,包括三元组的数量、不同主语的数量、不同宾语的数量、不同谓语的数量;
1.2)构建前缀树索引;
1.3)基于三元组表构建垂直划分表和宽属性表。
3.根据权利要求2所述的基于混合存储模式的分布式SPARQL查询优化方法,其特征在于,所述的步骤1.2)中,前缀树索引的构建是基于前缀树的变种进行构建的,用于SPARQL查询匹配过程中符合一定条件三元组的快速检索,避免不必要的磁盘读取操作。
4.根据权利要求2所述的基于混合存储模式的分布式SPARQL查询优化方法,其特征在于,所述的步骤1.2)中,包括构建以主语为根的前缀树索引和以宾语为根的前缀树索引;构建两个不同的前缀树索引,利用三元组中已知的主语和谓语来快速检索到宾语,或者是通过已知的宾语和谓语快速检索到对应的主语。
5.根据权利要求2所述的基于混合存储模式的分布式SPARQL查询优化方法,其特征在于,所述的步骤1.3)中,所述的垂直划分表的构建是基于三元组表中不同谓语来构建的,即含有共同谓语的三元组被划分到同一个表中,该表只有两列,分别为主语列和宾语列,表的名称对应一个谓语;所述的宽属性表的构建,是基于三元组的主语进行划分,将相同主语的元组划分为一行,三元组的宾语通过主语,谓语进行定位;对于主语和宾语中一对多的情形,使用一个集合容器,存储不同的宾语;最终使用ORC列式存储,并结合SNAPPY压缩算法,将数据存储在磁盘上。
6.根据权利要求1所述的基于混合存储模式的分布式SPARQL查询优化方法,其特征在于,所述的步骤2)中,构建SPARQL查询模块包括以下步骤:
2.1)查询解析
在执行SPARQL查询时,首先使用Jena ARQ对SPARQL查询进行解析,分解成若干个待匹配的三元组;
2.2)查询优化
SPARQL查询的本质是子图匹配,在基于关系模式查找对应数据的过程中主要涉及的操作就是连接操作,连接操作涉及磁盘读写和数据的传输,代价昂贵;
2.3)查询执行
依据上一步骤中优化后的查询连接顺序,构造连接树,并采用自底向上的方式处理书中的节点;连接树中的节点代表SPARQL查询的子查询,在处理完树中所有的节点后,树的根节点即代表最终的查询结果。
7.根据权利要求6所述的基于混合存储模式的分布式SPARQL查询优化方法,其特征在于,所述的步骤2.2)中,查询的优化首先依据分解后的三元组的变量的个数进行非递减排序,变量个数相同的依据元组的数据特征集和选择性进行非递减排序,然后依据排序后的元组构建连接树;连接树中的每一个节点代表SPARQL查询的一个子查询,在执行子查询的过程中,具有共享主语变量或者宾语变量的元组被划分到同一个节点中。
8.根据权利要求7所述的基于混合存储模式的分布式SPARQL查询优化方法,其特征在于,所述的步骤2.3)中,查询的执行涉及到查询的转换操作,即将相应的SPARQL子查询转换为等价的Spark SQL查询;Spark SQL查询根据RDF数据加载过程中生成并存储在MySQL中的元数据,关联存储在磁盘中的物理数据,通过Spark算子操作,计算得到相应的子查询结果;对于子查询中的三元组匹配操作,包括下述几种情形:
3.1)索引匹配;若当前元组只包含一个变量,且该变量对应位置为主语或者宾语所在位置,则根据构建好的前缀树索引快速匹配变量位置对应的映射常量;
3.2)查询垂直划分表;若节点中只有一个三元组且谓语所在位置为常量,则通过谓语匹配到对应的垂直划分表,在垂直划分表中进行数据的匹配;
3.3)查询宽属性表;若节点中包含若干个三元组,且这些三元组的主语是其共享变量,则通过查询宽属性表,找到对应的主语,即一次获取相应的变量应当映射到的常量。
9.根据权利要求8所述的基于混合存储模式的分布式SPARQL查询优化方法,其特征在于,所述的步骤3.2)中,对于垂直划分表的查询操作,数据采用ORC列式存储格式将列式文件分成若干组,并在每一组列式文件中应用布隆过滤器的原理,在表中查询目标值时,不必按照顺序进行依次查询,利用布隆过滤器跳过不包含目标值的组,提升查找效率;同时在构建垂直划分表时,会根据所有表的大小以及频繁谓词的相关数据,设置一个合理的阈值,在垂直划分表之间执行连接操作的时候,将小于阈值的表广播到其他节点,即使用BroadcastJoin算法,从而将Reduce-Side连接操作,转换为Map-Side连接操作。
10.根据权利要求6所述的基于混合存储模式的分布式SPARQL查询优化方法,其特征在于,所述的步骤3.3)中,对于宽属性表的查询操作,对于含有公共主语的三元组,需要扫描依次表,即获取对应的宾语,对表的扫描同样利用布隆过滤器的原理对于数据进行过滤;对于宽属性表中主语和宾语一对多的情形,利用Hive操作中的lateralviewexplode操作,将某一个单元的一行数据转化为多行,即转换为二元表格的形式,用于查询匹配操作。
CN202110086134.XA 2021-01-22 2021-01-22 基于混合存储模式的分布式sparql查询优化方法 Active CN112835920B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110086134.XA CN112835920B (zh) 2021-01-22 2021-01-22 基于混合存储模式的分布式sparql查询优化方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110086134.XA CN112835920B (zh) 2021-01-22 2021-01-22 基于混合存储模式的分布式sparql查询优化方法

Publications (2)

Publication Number Publication Date
CN112835920A true CN112835920A (zh) 2021-05-25
CN112835920B CN112835920B (zh) 2022-10-14

Family

ID=75929450

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110086134.XA Active CN112835920B (zh) 2021-01-22 2021-01-22 基于混合存储模式的分布式sparql查询优化方法

Country Status (1)

Country Link
CN (1) CN112835920B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113190645A (zh) * 2021-05-31 2021-07-30 国家电网有限公司大数据中心 一种索引结构建立方法、装置、设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070198548A1 (en) * 2005-11-28 2007-08-23 Lee Won S Compressed prefix trees and estDec+ method for finding frequent itemsets over data streams
CN105787090A (zh) * 2016-03-15 2016-07-20 国网信息通信产业集团有限公司 一种电力数据的olap系统的索引建立方法和系统
US20170102869A1 (en) * 2012-01-16 2017-04-13 Touchtype Ltd. System and method for inputting text
CN111641729A (zh) * 2019-05-23 2020-09-08 北京航空航天大学 一种基于前缀树的域间路径标识前缀冲突检测与分解方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070198548A1 (en) * 2005-11-28 2007-08-23 Lee Won S Compressed prefix trees and estDec+ method for finding frequent itemsets over data streams
US20170102869A1 (en) * 2012-01-16 2017-04-13 Touchtype Ltd. System and method for inputting text
CN105787090A (zh) * 2016-03-15 2016-07-20 国网信息通信产业集团有限公司 一种电力数据的olap系统的索引建立方法和系统
CN111641729A (zh) * 2019-05-23 2020-09-08 北京航空航天大学 一种基于前缀树的域间路径标识前缀冲突检测与分解方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113190645A (zh) * 2021-05-31 2021-07-30 国家电网有限公司大数据中心 一种索引结构建立方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN112835920B (zh) 2022-10-14

Similar Documents

Publication Publication Date Title
US10846285B2 (en) Materialization for data edge platform
Li Human-in-the-loop data integration
US10769142B2 (en) Graph processing in database
CN107491561B (zh) 一种基于本体的城市交通异构数据集成系统及方法
CN102270232B (zh) 一种存储优化的语义数据查询系统
CN107291807B (zh) 一种基于图遍历的sparql查询优化方法
US9141666B2 (en) Incremental maintenance of range-partitioned statistics for query optimization
CN108509543B (zh) 一种基于Spark Streaming的流式RDF数据多关键词并行搜索方法
CN106599052B (zh) 一种基于Apache Kylin的数据查询系统及其方法
CN107491476B (zh) 一种适用于多种大数据管理系统的数据模型转换及查询分析方法
CN105630881A (zh) 一种rdf的数据存储方法和查询方法
US11468031B1 (en) Methods and apparatus for efficiently scaling real-time indexing
Afzal et al. OWLMap: fully automatic mapping of ontology into relational database schema
CN113094449A (zh) 基于分布式键值库的大规模知识图谱存储方案
CN112835920B (zh) 基于混合存储模式的分布式sparql查询优化方法
Khelil et al. Combining graph exploration and fragmentation for scalable RDF query processing
CN108804580B (zh) 一种在联邦型rdf数据库中查询关键字的方法
Albahli et al. ohStore: Ontology hierarchy solution to improve RDF data management
US11657051B2 (en) Methods and apparatus for efficiently scaling result caching
Leeka et al. RQ-RDF-3X: going beyond triplestores
US9881055B1 (en) Language conversion based on S-expression tabular structure
Yuksel et al. An analysis of RDF storage models and query optimization techniques
CN112148830A (zh) 一种基于最大区域网格的语义数据存储与检索的方法及装置
Li et al. Query optimization for massive RDF data based on Spark
CN109582698B (zh) 多个连续top-k关键词查询结果更新方法、系统、存储介质及终端

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant