当前位置: 首页 > 专利查询>东南大学专利>正文

一种面向关系型数据库的图查询方法技术

技术编号:15691015 阅读:70 留言:0更新日期:2017-06-24 03:52
本发明专利技术公开了一种面向关系型数据库的图查询方法,主要应用于普通用户查询关系型数据库的场景。本发明专利技术中,离线处理阶段首先将关系型数据转换成图数据,并在该图数据上建立相关索引。在线查询阶段允许数据查询者用自己的词汇来构建图查询,然后对图查询的节点做初步匹配,最后进行Top‑k不精确子图匹配,对用户构建的图查询和离线转换得到的图数据进行图匹配。通过匹配,用户能够得到满足其查询要求的若干子图,而这些子图则作为查询结果返回给用户。

A graph query method for relational database

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)取元组对应的列值作为相应列节点的标识符;d)取二元关系的表名作为对应边的标识符;e)取被引用列的名称作为外键引用边对应的标识符。所述二元关系是指关系表有且仅有两个不同的外键,且分别指向关系表s和关系表t中的某个属性,则该关系表可转化为关系表s和t之间的一个二元关系;步骤2)离线构建图数据索引,具体为:遍历步骤1)生成的图结构数据,针对图结构数据中每个节点、边,在索引文件中插入一条索引记录;步骤3)用户首先构建图查询,所述图查询中包括命名节点、目标节点,节点之间用边来连接,所述命名节点需要加上标识,所述目标节点不需要加上标识,然后利用用户输入的词汇构建的查询表示成一个有向图,一个查询表示成如下的一个五元组;Q=(VQ,EQ,LQ,MQ,TQ)其中,VQ表示查询中的命名节点集合,命名节点是指节点上有标签来标识的节点;EQ为图查询中包括的所有边;LQ为所有标签的集合,即无论是节点还是边的标签都来自这个集合;MQ表示图查询中包含的中间节点,采用标识“*”来表示;TQ表示图查询中所有的目标查询节点,这些节点是用户通过查询数据想得到的信息,用“?”表示;步骤4)对用户构建的图查询中的每个节点,通过查询索引来得到每个节点字符串近似相似的候选匹配节点集合;步骤5)通过Top-k匹配算法,在目标图上搜索与图查询近似匹配度最高的k个子图并返回给用户。本专利技术方法的优选方案中,步骤1)中构建的图结构数据存储在neo4j图数据库中。本专利技术方法的优选方案中,所述步骤2)中Lucene来构建图结构数据索引。本专利技术方法的优选方案中,所述步骤3)中,图查询中还包括中间节点,所述中间节点不需要加上标识。本专利技术方法的优选方案中,所述步骤5)中的Top-k图匹配算法包括计算图之间的结构相似度和图上节点或边的字符串相似度,然后通过加权计算得到近似匹配度,其中k是由用户配置的子图个数有益效果:传统面向关系型数据库的查询方法存在的主要问题是:基于关键词的查询能够表达的查询意图有限且比较模糊,并且关键词查询得到的结果准确性不高;另外由于自然语言存在的歧义性较大,基于自然语言的查询方式使得计算机处理起来比较难,实用性较差。此外,将查询转换成SQL的方式可能使得查询时间不可控。所以,基于关键词和自然语言的查询方式分别受到查询准确率和解析难度较大的影响很难做到满足非专业人员查询的要求。本专利技术提出一种无模式的图形化查询接口,因为图能够较自然地表达用户的查询意图,并允许用户用不精确的信息或模糊的信息碎片来达到查询信息的目的。并利用图匹配算法来查询结果,当数据和查询都可以用图来表达的时候,在关系型数据库上的查询问题就转化成子图匹配问题。本专利技术中的子图匹配被定义成一种松散机制的匹配方式,即查询得到的答案并一定要满足严格子图匹配的约束,由于用户往往对数据的组织结构不了解,其构建的图查询并不一定和数据中的词汇或结构保持一致,其次,一定程度上也达到了不精确匹配的效果。本专利技术与现有技术相比,具有以下优点:本专利技术基于不精确图匹配以及图数据库相关技术旨在为关系型数据库的查询提供支持。离线部分利用数据转换技术将关系型数据库转换成图结构数据,为了加快对图数据的检索,在图数据上建立倒排索引。本专利技术中定义图查询为有向图,图查询的结点和边的标识符由查询者指定。在线处理对于图查询的每个节点通过查询索引来近似得到候选匹配节点集合。利用候选匹配集合我们采用一种改进的子图匹配算法来进行Top-k子图生成,最后生成的Top-k子图。综上所述,本专利技术能够为普通用户提供一种查询关系型数据库的方式,与现存的面向关系型数据库的查询方法相比用户更容易接受、且该方法的正确率与召回率均超过现有的关键词和自然语言查询方法。附图说明图1是系统模块图。图2是查询匹配图。图3是图上节点概率转移图。图4是Top-k算法流程图。具体实施方式为使本专利技术的目的技术方案和优点更加清楚,以下结合实施例和说明书附图对本专利技术进一步说明。本专利技术方法包括以下几个步骤:步骤1)对目标关系型数据做离线处理,按照转换规则将关系型数据转换成图结构数据,并存储在Neo4j图数据库中,数据存储细节不属于本专利描述范围,具体构建规则为:a)针对关系型数据库中所有表、元组,创建表节点和元组节点;b)针对a)中所述的每个元组下的每个列值不为空的列创建属性节点;c)对于关系型数据中的外键引用、二元关系,创建边来关联对应的边。在创建节点和边时按照如下方式生成对应的标识符a)取表名作为表节点的标识符;b)手动指定元组的标识符列;c)取元组对应的列值作为相应列节点的标识符;d)取二元关系的表名作为对应边的标识符;e)取被引用列的名称作为外键引用边对应的标识符。其中二元关系是指关系表有且仅有两个不同的外键,且分别指向关系表s和关系表t中的某个属性,则该关系表可转化为关系表s和t之间的一个二元关系。步骤2)构建基于图数据的索引,针对图中每个节点、边的标识符,在索引文件中插入一条倒排索引,并将倒排索引存储在Lucene中。步骤3)在线部分:用户首先构建图查询,图查询中可以包括命名节点、目标节点、中间节点,节点之间用边来连接,节点和边都可以加上标识。利用用户输入的词汇构建的查询可以表示成一个有向图,一个查询可以表示成如下的一个五元组。Q=(VQ,EQ,LQ,MQ,TQ)其中,VQ表示查询中的命名节点集合,命名节点是指节点上有标签来标识的节点;EQ为图查询中包括的所有边,边可以有标签也可以没有;LQ为所有标签的集合,即无论是节点还是边的标签都来自这个集合;MQ表示图查询中包含的中间节点,在本文中采用标识“*”来表示;类似的,TQ表示本文档来自技高网...
一种面向关系型数据库的图查询方法

【技术保护点】
一种面向关系型数据库的图查询方法,其特征在于,该方法包括如下步骤:步骤1)对目标关系型数据做离线处理,即按照以下转换规则将关系型数据转换成图结构数据:a)针对关系型数据库中所有表、元组,创建表节点和元组节点;b)针对关系型数据库中每个元组下的每个列值不为空的列创建属性节点;c)对于关系型数据中的外键引用、二元关系,创建边来关联对应的节点;在创建节点和边后按照如下方式生成对应的标识符:a)取表名作为表节点的标识符;b)手动指定元组的标识符列;c)取元组对应的列值作为相应列节点的标识符;d)取二元关系的表名作为对应边的标识符;e)取被引用列的名称作为外键引用边对应的标识符。所述二元关系是指关系表有且仅有两个不同的外键,且分别指向关系表s和关系表t中的某个属性,则该关系表可转化为关系表s和t之间的一个二元关系;步骤2)离线构建图数据索引,具体为:遍历步骤1)生成的图结构数据,针对图结构数据中每个节点、边,在索引文件中插入一条索引记录;步骤3)用户首先构建图查询,所述图查询中包括命名节点、目标节点,节点之间用边来连接,所述命名节点需要加上标识,所述目标节点不需要加上标识,然后利用用户输入的词汇构建的查询表示成一个有向图,一个查询表示成如下的一个五元组;Q=(V...

【技术特征摘要】
1.一种面向关系型数据库的图查询方法,其特征在于,该方法包括如下步骤:步骤1)对目标关系型数据做离线处理,即按照以下转换规则将关系型数据转换成图结构数据:a)针对关系型数据库中所有表、元组,创建表节点和元组节点;b)针对关系型数据库中每个元组下的每个列值不为空的列创建属性节点;c)对于关系型数据中的外键引用、二元关系,创建边来关联对应的节点;在创建节点和边后按照如下方式生成对应的标识符:a)取表名作为表节点的标识符;b)手动指定元组的标识符列;c)取元组对应的列值作为相应列节点的标识符;d)取二元关系的表名作为对应边的标识符;e)取被引用列的名称作为外键引用边对应的标识符。所述二元关系是指关系表有且仅有两个不同的外键,且分别指向关系表s和关系表t中的某个属性,则该关系表可转化为关系表s和t之间的一个二元关系;步骤2)离线构建图数据索引,具体为:遍历步骤1)生成的图结构数据,针对图结构数据中每个节点、边,在索引文件中插入一条索引记录;步骤3)用户首先构建图查询,所述图查询中包括命名节点、目标节点,节点之间用边来连接,所述命名节点需要加上标识,所述目标节点不需要加上标识,然后利用用户输入的词汇构建的查询表示成一个有向图,一个查询表示成如下的一个五元组;Q=(VQ,EQ,LQ,MQ,TQ)其中,VQ表示查询中的命...

【专利技术属性】
技术研发人员:漆桂林孙松张晓
申请(专利权)人:东南大学
类型:发明
国别省市:江苏,32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1