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

基于图索引的图数据库关键词邻近搜索方法技术

技术编号:6104482 阅读:290 留言:0更新日期:2012-04-11 18:40
本发明专利技术涉及数据库关键词搜索技术领域,尤其涉及一种基于图索引的图数据库关键词邻近搜索方法。本发明专利技术包括线下的索引构建步骤和线上的搜索步骤,线下的索引构建步骤包括为有权重图G=(V,E,w)定义了一种d-距离子图,采用一种不完整的Dijkstra算法来生成以图中某一节点为中心的d-距离子图,得到的最大d-距离子图都保存在子图库中,并构建从节点到子图的索引,设计一种d-距离图索引结构,将d-距离图索引按解释型方式存储,线上的搜索步骤使用搜索算法在组合子图中进行搜索并输出top-k答案。本发明专利技术通过将搜索目标从一个完整的图缩小为一组大小有限的子图,可极大地提高搜索的效率。

【技术实现步骤摘要】

本专利技术涉及数据库关键词搜索
,尤其涉及一种。
技术介绍
关键词邻近搜索是一项用于数据库内结构化及半结构化数据的关键词搜索的主流技术。不同于传统的应用于非结构数据的关键词搜索技术,如Google等搜索引擎的方法,这项技术并不是只查找包含了所有给定关键词的单个文档或对象,而是在数据库中去查找包含了所有关键词的结构体,这些结构体由一些相互间存在结构联系的对象所组成, 作为一个整体可满足用户的信息需求。它既不需要用户掌握结构化的查询语言和复杂的数据库模式,又能充分发掘数据库内的数据本身所具有的结构化信息的潜在价值,并在传统关键词搜索技术失效时仍然能够为用户发现有用的信息。因此,它具有十分重要的科研与产业价值。关键词邻近搜索方法大致可按所检索的数据库类型分为三类关系数据库的,XML 数据库的,和图数据库的。其中,关系数据库的关键词邻近搜索方法帮助用户查找包含给定关键词的关系元组通过主外键关系所组成的连接网络(Connected Network,CN),它可利用关系数据库的模式减小搜索空间,还可利用RDBMS的SQL执行引擎来做查询优化;XML数据库的关键词邻近搜索方法帮助用户查找以包含给定关键词的XML标签的最低公共祖先 (Lowest Common Ancestor, LCA)为根的树,它可利用XML标签的Dewey编码来提高搜索速度;而图数据库的关键词邻近搜索方法则是用于对真正的图结构数据进行检索,它主要依靠一些图搜索算法来实现,相对于前两类方法技术还不成熟(参见文献1-4)。面向图数据的关键词邻近搜索本质上类似于图论中的经典NP完全问题——组 Steiner树(Group Steiner Tree, GST)问题,但是复杂度更高,一般采用启发式算法予以解决。现有的算法的公共思想是先将所有包含了给定关键词的匹配节点加入到一个被称为“前线”的集合当中,然后迭代地从前线中挑选节点进行访问,每访问一个节点,就把它的所有未访问的邻居节点都加入到前线中来。如果当前访问的节点是沿从某个关键词的匹配节点出发的路径而到达,则它与该关键词相连,如果当前访问的节点与查询中所有的关键词相连,则找到一棵以它为根节点、以各个关键词的匹配节点为叶子节点的连接树,作为搜索的结果保存起来。如果这棵连接树被其它找到的连接树完全覆盖,则这棵连接树会被放弃,也就是说,只有最小连接树才会被保留。当最好的k个最小连接树被找到后,搜索停止, 输出top-k答案。为了提高面向图数据的关键词邻近搜索的速度,最近有人提出了一种基于图索引的方法首先定义了一种无权重图的r-半径子图,即以图中某一个节点为中心,包含所有从中心出发r跳内可达的节点,及这些节点之间所有的边;找出图中所有的最大r-半径子图,即不会被其它子图完全覆盖的子图,建立关键词与子图间的倒排索引;搜索时找到所有包含了查询中全部关键词的匹配子图,为每一个匹配子图生成一个由其中所有包含了关键词的节点以及它们之间的所有路径组成的子图(称为Steiner图)作为查询结果。这种方法还是存在很多问题。首先,一个Reiner图并不是一个合理的查询答案,因为它包含了过多的信息,与最小连接树相比让用户无法准确从中识别有用的信息,另外各个Meiner图之间重复信息太多,大部分答案都没有意义。其次,还有一些技术性难题没有解决,主要包括r-半径子图在没有大小上界限定的情况下可能会非常的大,根据我们对实际数据的调查,当子图过大时会使得整个方法都失效,查询速度反而更慢;关键词到子图的这种简单的图索引结构比较低效,因为查询处理中还需要知道包含了关键词的节点,以及节点与子图间的映射关系等信息,多次索引查询造成了磁盘I/O的次数增加,直接导致了性能下降(参见文献5)。文献 1 -S. Li and etc. Retrieving and organizing web pages by “information unit" . In Wffff Conference Proceedings, pages 230-244,2001 ;文献 2 :G. Bhalotia and etc. Keyword searching and browsing in databases using banks. In ICDE Conference Proceedings, pages 431-440,2002 ;文献3 :V. Kacholia and etc. Bidirectional expansion for keyword search on graph databases. In SIGMOD Conference Proceedings, pages 505-516,2005 ;文献4:H.He and etc. Blinks :Ranked keyword searches on graphs. In SIGMOD Conference Proceedings, pages 305-316,2007文献 5 :G. Li, B. C. Ooi, J. Feng, J. Wang, and L. Zhou. Ease :an effective 3-in-l keyword search method for unstructured, semi-structured and structured data. In SIGMOD Conference Proceedings, pages 903-914,2008.
技术实现思路
针对上述存在的技术问题,本专利技术的目的是提供一种,以极大地提高面向图数据库的关键词邻近搜索效率。为达到上述目的,本专利技术采用如下的技术方案一种,包括线下的索引构建步骤和线上的搜索步骤所述的线下的索引构建步骤包括以下子步骤①为无向有权重图G = (V, E,w)定义了一种d-距离子图;②给定子图中节点个数上界B,采用一种不完整的Dijkstra算法来生成以图中某一节点为中心的d-距离子图;③对已生成的子图进行过滤,保证所有最终得到的子图都不被其它子图完全覆盖;④将得到的最大d-距离子图都保存在子图库中,并构建从节点到子图的索引;⑤设计一种d-距离图索引结构,每个关键词的索引条目包括了所有包含该关键词的d-距离子图的id,以及每个子图中包含了该关键词的节点id的集合;⑥将d-距离图索引按解释型方式存储;所述线上的搜索步骤包括以下子步骤①将图中所有的边都以十字链表的结构常驻在内存中;②给定关键词查询,在图索引中检索,找出所有匹配子图及其匹配节点集合;③组合所有匹配子图,得到组合子图;④使用搜索算法在组合子图中进行搜索并输出top-k答案。所述d-距离子图给定一个期望距离d,对于图中任一节点ν e V,以ν为中心的 d-距离子图为Gvd=(rvd,£vd),其中,图中节点μ e C当且仅当u与ν的距离不大于d,图中边当且仅当Kd且u,Vvd ο所述最大d-距离子图为当且仅当它不会被任何其它d-距离子图所覆盖,它的节点集合不是任何其它d-距离子图的节点集合的真子集。对每个新生成的d-距离子图都要进行最大化处理,包括以下步骤先将已生成的最大d-距离子图放入集合M,然后逐个取出与新生成的d-距离子图作比较,本文档来自技高网
...

【技术保护点】
1.一种基于图索引的图数据库关键词邻近搜索方法,包括线下的索引构建步骤和线上的搜索步骤,其特征在于:所述的线下的索引构建步骤包括以下子步骤:①为无向有权重图G=(V,E,w)定义了一种d-距离子图;②给定子图中节点个数上界B,采用一种不完整的Dijkstra算法来生成以图中某一节点为中心的d-距离子图;③对已生成的子图进行过滤,保证所有最终得到的子图都不被其它子图完全覆盖;④将得到的最大d-距离子图都保存在子图库中,并构建从节点到子图的索引;⑤设计一种d-距离图索引结构,每个关键词的索引条目包括了所有包含该关键词的d-距离子图的id,以及每个子图中包含了该关键词的节点id的集合;⑥将d-距离图索引按解释型方式存储;所述线上的搜索步骤包括以下子步骤:①将图中所有的边都以十字链表的结构常驻在内存中;②给定关键词查询,在图索引中检索,找出所有匹配子图及其匹配节点集合;③组合所有匹配子图,得到组合子图;④使用搜索算法在组合子图中进行搜索并输出top-k答案。

【技术特征摘要】

【专利技术属性】
技术研发人员:钟鸣刘梦赤桑雷汪帅
申请(专利权)人:武汉大学
类型:发明
国别省市:83

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

1