System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本说明书实施例通常涉及图数据库领域,尤其涉及图查询语句的图逻辑执行计划生成方法、数据处理方法及装置。
技术介绍
1、随着图数据库和图计算技术的逐渐成熟,图数据库被越来越多地应用于各种应用场景。然而,在对图数据库进行图数据查询时,并没有统一的图查询语言标准,从而使得每种图查询语言实现的图查询语句存在表达形式差异,由此需要采用绑定的逻辑执行计划生成方案来生成不同的逻辑执行计划,从而无法实现图查询语言兼容。
技术实现思路
1、本说明书实施例提供图查询语句的图逻辑执行计划生成方法、数据处理方法及装置。利用该图逻辑执行计划生成方法,针对图查询语句生成由图逻辑算子组成的图逻辑执行计划。由于图逻辑算子用于描述图查询语句所对应的图查询任务的最小处理逻辑执行单元,与图查询语句的具体图查询语言实现无关,从而针对语义相同的图查询语句的不同图查询语言实现方式,可以得到相同的图逻辑执行计划,由此实现图逻辑执行计划生成方案的图查询语言兼容性。
2、根据本说明书的实施例的一个方面,提供一种用于生成图查询语句的图逻辑执行计划的方法,包括:生成图查询语句的抽象语法树;以及对所述抽象语法树进行基于图逻辑算子的图逻辑转换,以得到所述图查询语句的图逻辑执行计划,所述图逻辑执行计划包括被组织为树状结构的图逻辑算子集合。
3、可选地,在上述方面的一个示例中,对所述抽象语法树进行基于图逻辑算子的图逻辑转换,以得到所述图查询语句的图逻辑执行计划可以包括:根据所述抽象语法树的节点结构和节点语义,将所述抽象语
4、可选地,在上述方面的一个示例中,根据所述抽象语法树的节点结构和节点语义,将所述抽象语法树切分为多个可转换子树结构可以包括:按照树遍历的方式,根据所述抽象语法树的节点结构和节点语义来从所述抽象语法树中搜索出所述多个可转换子树结构。
5、可选地,在上述方面的一个示例中,一旦搜索出可转换子树结构,就执行所搜索出的可转换子树结构的图逻辑转换。
6、可选地,在上述方面的一个示例中,所述可转换子树结构包括可独立完成图逻辑转换的最大子树结构。
7、可选地,在上述方面的一个示例中,所述方法还可以包括:将所述抽象语法树转换为通用语法树,所述通用语法树针对语义相同的图查询语句的不同图查询语言实现方式具有统一的描述结构。相应地,对所述抽象语法树进行基于图逻辑算子的图逻辑转换,以生成所述图查询语句的图逻辑执行计划可以包括:对所述通用语法树进行基于图逻辑算子的图逻辑转换,以生成所述图查询语句的图逻辑执行计划。
8、可选地,在上述方面的一个示例中,将所述抽象语法树转换为通用语法树可以包括:从所述抽象语法树中确定出存在图查询语言实现差异的差异子树结构;以及根据所述差异子树结构的差异类型所对应的结构转换方式,对所述差异子树结构进行结构转换。
9、可选地,在上述方面的一个示例中,所述图查询语句实现差异包括语义结构实现差异和语法结构实现差异。相应地,根据所述差异子树结构的差异类型所对应的转换方式,对所述差异子树结构进行结构转换可以包括:响应于所述差异子树结构的差异类型为语义结构实现差异,在所述差异子树结构的父节点下增加标准通用语法树中规定的其它图查询语言实现的子树结构;响应于所述差异子树结构的差异类型为语法结构实现差异,将所述差异子树结构转换为所述标准通用语法树中规定的统一子树结构。
10、可选地,在上述方面的一个示例中,所述方法还可以包括:对所生成的图逻辑执行计划进行计划优化。
11、可选地,在上述方面的一个示例中,针对所述图逻辑执行计划的计划优化经由可插拔式执行计划优化器实现。
12、根据本说明书的实施例的另一方面,提供一种数据处理方法,包括:生成图查询语句的抽象语法树;对所述抽象语法树进行基于图逻辑算子的图逻辑转换,以得到所述图查询语句的图逻辑执行计划,所述图逻辑执行计划包括被组织为树状结构的图逻辑算子集合;以及根据所述图逻辑执行计划来执行与所述图查询语句对应的数据处理。
13、根据本说明书的实施例的另一方面,提供一种用于生成图查询语句的图逻辑执行计划的装置,包括:抽象语法树生成器,生成图查询语句的抽象语法树;以及图逻辑转换器,对所述抽象语法树进行基于图逻辑算子的图逻辑转换,以生成所述图查询语句的图逻辑执行计划,所述图逻辑执行计划包括被组织为树状结构的图逻辑算子集合。
14、可选地,在上述方面的一个示例中,所述图逻辑转换器可以包括:树结构切分模块,根据所述抽象语法树的节点结构和节点语义,将所述抽象语法树切分为多个可转换子树结构,所述可转换子树结构包括可独立完成图逻辑转换的子树结构,并且具有图逻辑转换方式,所述图逻辑转换方式包括图逻辑算子转换和图逻辑算子执行顺序关系转换;以及图逻辑转换模块,根据可转换子树结构的图逻辑转换方式对所述可转换子树结构进行图逻辑转换。
15、可选地,在上述方面的一个示例中,所述树结构切分模块按照树遍历的方式,根据所述抽象语法树的节点结构和节点语义来从所述抽象语法树中搜索出所述多个可转换子树结构。
16、可选地,在上述方面的一个示例中,所述装置还可以包括:语法树转换器,将所述抽象语法树转换为通用语法树,所述通用语法树针对语义相同的图查询语句的不同图查询语言实现方式具有统一的描述结构。相应地,所述图逻辑转换器对所述通用语法树进行基于图逻辑算子的图逻辑转换,以生成所述图查询语句的图逻辑执行计划。
17、可选地,在上述方面的一个示例中,所述语法树转换器可以包括:差异树结构确定模块,从所述抽象语法树中确定出存在图查询语言实现差异的差异子树结构;以及差异树结构转换模块,根据所述差异子树结构的差异类型所对应的结构转换方式,对所述差异子树结构进行结构转换。
18、可选地,在上述方面的一个示例中,所述图查询语句实现差异包括语义结构实现差异和语法结构实现差异。响应于所述差异子树结构的差异类型为语义结构实现差异,所述差异树结构转换模块在所述差异子树结构的父节点下增加标准通用语法树中规定的其它图查询语言实现的子树结构;响应于所述差异子树结构的差异类型为语法结构实现差异,所述差异树结构转换模块将所述差异子树结构转换为所述标准通用语法树中规定的统一子树结构。
19、根据本说明书的实施例的另一方面,提供一种数据处理装置,包括:抽象语法树生成器,生成图查询语句的抽象语法树;图逻辑转换器,对所述抽象语法树进行基于图逻辑算子的图逻辑转换,以得到所述图查询语句的图逻辑执行计划,所述图逻辑执行计划包括被组织为树状结构的图逻辑算子集合;以及计划执行器,根据所述图逻辑执行计划来执行与所述图查询语句对应的数据本文档来自技高网...
【技术保护点】
1.一种用于生成图查询语句的图逻辑执行计划的方法,包括:
2.如权利要求1所述的方法,其中,对所述抽象语法树进行基于图逻辑算子的图逻辑转换,以得到所述图查询语句的图逻辑执行计划包括:
3.如权利要求2所述的方法,其中,根据所述抽象语法树的节点结构和节点语义,将所述抽象语法树切分为多个可转换子树结构包括:
4.如权利要求3所述的方法,其中,一旦搜索出可转换子树结构,就执行所搜索出的可转换子树结构的图逻辑转换。
5.如权利要求2所述的方法,其中,所述可转换子树结构包括可独立完成图逻辑转换的最大子树结构。
6.如权利要求1所述的方法,还包括:
7.如权利要求6所述的方法,其中,将所述抽象语法树转换为通用语法树包括:
8.如权利要求7所述的方法,其中,所述图查询语句实现差异包括语义结构实现差异和语法结构实现差异,
9.如权利要求1所述的方法,还包括:
10.如权利要求9所述的方法,其中,针对所述图逻辑执行计划的计划优化经由可插拔式执行计划优化器实现。
11.一种数据处理
12.一种用于生成图查询语句的图逻辑执行计划的装置,包括:
13.如权利要求12所述的装置,其中,所述图逻辑转换器包括:
14.如权利要求13所述的装置,其中,所述树结构切分模块按照树遍历的方式,根据所述抽象语法树的节点结构和节点语义来从所述抽象语法树中搜索出所述多个可转换子树结构。
15.如权利要求12所述的装置,还包括:
16.如权利要求15所述的装置,其中,所述语法树转换器包括:
17.如权利要求16所述的装置,其中,所述图查询语句实现差异包括语义结构实现差异和语法结构实现差异,
18.一种数据处理装置,包括:
19.一种用于生成图查询语句的图逻辑执行计划的装置,包括:
20.一种数据处理装置,包括:
...【技术特征摘要】
1.一种用于生成图查询语句的图逻辑执行计划的方法,包括:
2.如权利要求1所述的方法,其中,对所述抽象语法树进行基于图逻辑算子的图逻辑转换,以得到所述图查询语句的图逻辑执行计划包括:
3.如权利要求2所述的方法,其中,根据所述抽象语法树的节点结构和节点语义,将所述抽象语法树切分为多个可转换子树结构包括:
4.如权利要求3所述的方法,其中,一旦搜索出可转换子树结构,就执行所搜索出的可转换子树结构的图逻辑转换。
5.如权利要求2所述的方法,其中,所述可转换子树结构包括可独立完成图逻辑转换的最大子树结构。
6.如权利要求1所述的方法,还包括:
7.如权利要求6所述的方法,其中,将所述抽象语法树转换为通用语法树包括:
8.如权利要求7所述的方法,其中,所述图查询语句实现差异包括语义结构实现差异和语法结构实现差异,
9.如权利要求1所述的方法,还包括:
10...
【专利技术属性】
技术研发人员:黄科,王涛,金晔俊,
申请(专利权)人:支付宝杭州信息技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。