【技术实现步骤摘要】
异构图数据库的数据查询方法及其系统
本说明书涉及数据库
技术介绍
传统数据库很难处理关系运算(如社交、电商、金融、零售、物联网等行业),于是图数据库应运而生,它是一种支持海量复杂数据关系运算的数据库。目前图数据库的发展正处于方兴未艾的阶段,已经出现了形形色色的图数据库,如Neo4j、JanusGraph、AmazonNeptune等,甚至还有通过关系型数据库来模拟图数据库的应用场景。在实际使用图数据时,可能会有跨图查询的场景(图数据可能存储在上面提及的不同的存储引擎中),这就给获取图数据带来了困难。譬如,如果需要从商家图、用户图、商品图三个子图中获取用户的消费习惯,则需要同时请求这三个子图中的数据,然后处理不同的结果,然后进行结果合并。可见,现有技术中,开发人员在开发图数据应用时,如果需要跨子图或跨引擎请求数据,则需要熟悉不同子图的定义和不同图执行引擎的细节,同时手动合并各个子图的数据。而图数据的获取过程非常繁琐,图数据的质量也不高。
技术实现思路
本说明书提供了一种异构图数据库的数据查 ...
【技术保护点】
1.一种异构图数据库的数据查询方法,包括:/n预先设置统一视图中元数据与异构图数据库的多个子图中元数据之间的关联关系;/n获取符合所述统一视图中元数据的统一查询请求,根据所述关联关系将所述统一查询请求分解为对应不同子图的多个子查询;/n在所述多个子查询所对应的多个子图中分别执行所述多个子查询,得到多个子查询结果,其中所述子查询和子查询结果符合对应子图中元数据;/n根据所述关联关系将所述多个子查询结果进行合并,得到符合所述统一视图中元数据的查询结果。/n
【技术特征摘要】
1.一种异构图数据库的数据查询方法,包括:
预先设置统一视图中元数据与异构图数据库的多个子图中元数据之间的关联关系;
获取符合所述统一视图中元数据的统一查询请求,根据所述关联关系将所述统一查询请求分解为对应不同子图的多个子查询;
在所述多个子查询所对应的多个子图中分别执行所述多个子查询,得到多个子查询结果,其中所述子查询和子查询结果符合对应子图中元数据;
根据所述关联关系将所述多个子查询结果进行合并,得到符合所述统一视图中元数据的查询结果。
2.如权利要求1所述的异构图数据库的数据查询方法,其中,该方法还包括,预先设置所述多个子图中数据结构到统一图数据结构的适配规则;
所述根据所述关联关系将所述多个子查询结果进行合并之前,还包括:
根据所述适配规则将所述多个子查询结果转换为符合所述统一视图中元数据的统一图数据结构。
3.如权利要求1所述的异构图数据库的数据查询方法,其中,所述在所述多个子查询所对应的多个子图中分别执行所述多个子查询,进一步包括:
将不同的子查询分别路由到不同的执行引擎中执行查询操作。
4.如权利要求3所述的异构图数据库的数据查询方法,其中,所述执行引擎包括以下之一或其任意组合:
一个或多个图引擎,一个或多个关系数据库引擎,一个或多个图引擎之外的非关系数据库引擎。
5.如权利要求1所述的异构图数据库的数据查询方法,其中,所述元数据包括以下之一或其任意组合:图基础信息、点定义、边定义、属性定义。
6.如权利要求1所述的异构图数据库的数据查询方法,其中,所述根据所述关联关系将所述统一查询请求分解为对应不同子图的多个子查询,进一步包括:
通过对所述统一查询请求的语法分析和词法分析,得到该统一查询请求涉及的所述统一视图中的元数据;
根据所述关联关系得到所述统一视图中的元数据对应的各个子图中的元数据;
根据所述统一查询请求和所述各个子图中的元数据,构造用于各个子图的子查询。
7.如权利要求1-6中任意一项所述的异构图数据库的数据查询方法,其中,所述根据所述关联关系将所述多个子查询结果进行合并,进一步包括:
对第一子查询结果中的各个节点进行遍历,如果遍历到的第一节点根据所述关联关系存在关联节点,则对该关联节点所在的第二子查询结果进行遍历;
如果所述第二子查询结果中遍历到的第二节点的类型与所述第一节点的类型相同,则进一步判断所述第一节点和所述第二节点中相应的属性是否相等,如果相等则将所述第一节点和所述第二节点融合。
8.如权利要求7所述的异构图数据库的数据查询方法,其中,所述将所述第一节点和所述第二节点融合,进一步包括:
将所述第二节点的出入边链接到所述第一节点;
将所述第二节点的属性信息添加到所述第一节点的属性中。
9.如权利要求1-6中任意一项所述的异构图数据库的数据查询方法,其中,所述根据所述关联关系将所述多个子查询结果进行合并,进一步包括:
对第三子查询结果中的各个节点进行遍历,如果遍历到的第三节点根据所述关联关系存在关联节点,则对该关联节点所在的第四子查询结果进行遍历;
如果所述第四子查询结果中遍历到的第四节点的类型与所述第三节点的类型相同,则进一步判断所述第三节点和所述第四节点中相应的属性是否相等,如果相等则在所述第三节点和所述第四节点之间构造一条对等边。
10.一种异构图数据库的数据查询系统,包括:
元数据中心,其中存储有统一视图中元数据与异构图数据库的多个子图中元数据之间的关联关系;
解析路由层,用于根据所述关联关系将符合所述统一视图中元...
【专利技术属性】
技术研发人员:唐烨,
申请(专利权)人:支付宝杭州信息技术有限公司,
类型:发明
国别省市:浙江;33
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。