The invention discloses a graph query method for relational database, which is mainly applied to the scene of ordinary user inquiring relational database. In the off-line processing phase, the relational data is transformed into the chart data, and the relevant index is established on the data of the graph. Online query allows data query by using their own words to construct the graph query, and then the node graph query do preliminary matching, finally Top K inexact subgraph matching, graph matching graph data obtained for the user to construct a graph query and offline conversion. By matching, users can obtain several subgraphs that satisfy their query requirements, and these subgraphs are returned to the user as query results.
【技术实现步骤摘要】
一种面向关系型数据库的图查询方法
本专利技术属于计算机
,涉及一种面向关系型数据库的查询方法。
技术介绍
作为传统的数据存储方式,关系数据库在数据存储领域一直扮演着重要的角色。近年来,基于数据库的问答系统在医疗、交通、生物工程、智慧城市等多个领域都有广泛的应用。其中,普通用户对于数据的查询需求是体现数据价值的一个重要方面。面向关系型数据库的查询接口技术的研究与普通用户联系紧密,一直以来受到很多研究者的关注,因此,相关研究在应用上有很高的价值。传统面向关系型数据库的查询方法存在的主要问题是:基于关键词的查询能够表达的查询意图有限且比较模糊,并且关键词查询得到的结果准确性不高;另外由于自然语言存在的歧义性较大,基于自然语言的查询方式使得计算机处理起来比较难,实用性较差。此外,将查询转换成SQL的方式可能使得查询时间不可控。本专利技术提出一种图查询方法,利用图匹配算法来查询结果。
技术实现思路
技术问题:针对传统关系型数据库的查询方法的缺陷,本专利技术提出了一种基于不精确图匹配的关系型数据库图查询方法。技术方案:本专利技术提出一种面向关系型数据库的图查询方法,包括以下步骤:步骤1)对目标关系型数据做离线处理,即按照以下转换规则将关系型数据转换成图结构数据:a)针对关系型数据库中所有表、元组,创建表节点和元组节点;b)针对关系型数据库中每个元组下的每个列值不为空的列创建属性节点;c)对于关系型数据中的外键引用、二元关系,创建边来关联对应的节点;在创建节点和边后按照如下方式生成对应的标识符:a)取表名作为表节点的标识符;b)手动指定元组的标识符列;c)取元组对应的 ...
【技术保护点】
一种面向关系型数据库的图查询方法,其特征在于,该方法包括如下步骤:步骤1)对目标关系型数据做离线处理,即按照以下转换规则将关系型数据转换成图结构数据:a)针对关系型数据库中所有表、元组,创建表节点和元组节点;b)针对关系型数据库中每个元组下的每个列值不为空的列创建属性节点;c)对于关系型数据中的外键引用、二元关系,创建边来关联对应的节点;在创建节点和边后按照如下方式生成对应的标识符:a)取表名作为表节点的标识符;b)手动指定元组的标识符列;c)取元组对应的列值作为相应列节点的标识符;d)取二元关系的表名作为对应边的标识符;e)取被引用列的名称作为外键引用边对应的标识符。所述二元关系是指关系表有且仅有两个不同的外键,且分别指向关系表s和关系表t中的某个属性,则该关系表可转化为关系表s和t之间的一个二元关系;步骤2)离线构建图数据索引,具体为:遍历步骤1)生成的图结构数据,针对图结构数据中每个节点、边,在索引文件中插入一条索引记录;步骤3)用户首先构建图查询,所述图查询中包括命名节点、目标节点,节点之间用边来连接,所述命名节点需要加上标识,所述目标节点不需要加上标识,然后利用用户输入的词汇 ...
【技术特征摘要】
1.一种面向关系型数据库的图查询方法,其特征在于,该方法包括如下步骤:步骤1)对目标关系型数据做离线处理,即按照以下转换规则将关系型数据转换成图结构数据:a)针对关系型数据库中所有表、元组,创建表节点和元组节点;b)针对关系型数据库中每个元组下的每个列值不为空的列创建属性节点;c)对于关系型数据中的外键引用、二元关系,创建边来关联对应的节点;在创建节点和边后按照如下方式生成对应的标识符:a)取表名作为表节点的标识符;b)手动指定元组的标识符列;c)取元组对应的列值作为相应列节点的标识符;d)取二元关系的表名作为对应边的标识符;e)取被引用列的名称作为外键引用边对应的标识符。所述二元关系是指关系表有且仅有两个不同的外键,且分别指向关系表s和关系表t中的某个属性,则该关系表可转化为关系表s和t之间的一个二元关系;步骤2)离线构建图数据索引,具体为:遍历步骤1)生成的图结构数据,针对图结构数据中每个节点、边,在索引文件中插入一条索引记录;步骤3)用户首先构建图查询,所述图查询中包括命名节点、目标节点,节点之间用边来连接,所述命名节点需要加上标识,所述目标节点不需要加上标识,然后利用用户输入的词汇构建的查询表示成一个有向图,一个查询表示成如下的一个五元组;Q=(VQ,EQ,LQ,MQ,TQ)其中,VQ表示查询中的命...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。