《子图匹配装置及子图匹配的方法.pdf》由会员分享,可在线阅读,更多相关《子图匹配装置及子图匹配的方法.pdf(14页珍藏版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 103077216 A (43)申请公布日 2013.05.01 CN 103077216 A *CN103077216A* (21)申请号 201210586892.9 (22)申请日 2012.12.28 G06F 17/30(2006.01) (71)申请人 中国科学院深圳先进技术研究院 地址 518055 广东省深圳市南山区西丽大学 城学苑大道 1068 号 (72)发明人 曾理 成杰峰 冯圣中 (74)专利代理机构 深圳市科进知识产权代理事 务所 ( 普通合伙 ) 44316 代理人 宋鹰武 (54) 发明名称 子图匹配装置及子图匹配的方法 (57) 摘要 。
2、一种子图匹配装置, 用于在大规模图中查找 出与带环图匹配的子图, 包括 : 生成树模块、 匹配 模块、 判断模块以及集合模块。生成树模块根据 最小生成树算法找到带环图的生成树 ; 匹配模块 自底向上对数据图进行生成树匹配, 寻找与生成 树匹配的树 Li(i=1) ; 判断模块判断所述树 Li 的评分函数值与缺失边数之和是否大于等于预设 值, 若是, 则判断模块判断树 Li 能否扩展为带环 图 ; 集合模块还在所述树 Li 的评分函数值与缺失 边数之和大于等于预设值时将所述集合 V 中前固 定值个匹配图输出。 (51)Int.Cl. 权利要求书 2 页 说明书 7 页 附图 4 页 (19)中华。
3、人民共和国国家知识产权局 (12)发明专利申请 权利要求书2页 说明书7页 附图4页 (10)申请公布号 CN 103077216 A CN 103077216 A *CN103077216A* 1/2 页 2 1. 一种子图匹配装置, 用于在大规模图中查找出与带环图匹配的子图, 包括 : 生成树模块, 用于根据最小生成树算法找到所述带环图的生成树 ; 匹配模块, 用于自底向上对数据图进行生成树匹配, 寻找与生成树匹配的树 Li (i=1) ; 判断模块, 用于判断所述树 Li 的评分函数值与缺失边数之和是否大于等于预设值, 其 中, 所述判断模块还用于在所述树 Li 的评分函数值与缺失边数之。
4、和小于预设值时判断所 述树 Li 能否扩展为带环图 ; 集合模块, 用于在树 Li 能扩展为带环图时将所述树 Li 扩展为匹配图, 并存入集合 V 中, 其中, 所述集合模块还用于将所述集合 V 中的匹配图按照权重从小到大来排序, 所述判 断模块还用于判断集合 V 中匹配图的个数是否大于等于固定值, 且在集合 V 中匹配图的个 数大于等于固定值时将所述预设值设为第固定值个匹配图的权重 ; 其中, 所述集合模块还用于在所述树 Li 的评分函数值与缺失边数之和大于等于预设 值时将所述集合 V 中前固定值个匹配图输出。 2. 如权利要求 1 所述的子图匹配装置, 其特征在于, 所述集合模块在所述树 。
5、Li 不能扩 展为带环图时丢弃树 Li。 3. 如权利要求 1 所述的子图匹配装置, 其特征在于, 评分函数为 : 其中 u, v MQ MQ是查询图 Q 在数据图 GD中的匹配图, (X ; Y)=(-1(u) ; -1(v) 为查 询图 Q 中的边, C(X ; Y) 为与查询边 (X ; Y) 关联的系数, dist(u ; v) 表示顶点 u 和 v 的最短 路径的距离值。 4. 如权利要求 1 所述的子图匹配装置, 其特征在于, 所述匹配模块包括 : 分解子模块, 用于将所述生成树自顶向下分解为只有边的子树 ; 判断子模块, 用于判断子树生长后形成的树是否为 I 型子树 ; 寻找子模。
6、块, 用于在所述子树生长后形成的树为 I 型子树时在所述数据图中寻找所述 子树的根结点到叶子节点的最优结果, 放入 pTable 中, 其中, 所述寻找子模块还用于将所 述 pTable 中 dist 值 (权重值) 最小的数据放入 sTable 中, 并删除 pTable 中 dist 值最小的 数据, 所述判断子模块还用于判断所述子树是否为最后一棵子树 ; 输出子模块, 用于在所述子树是最后一棵子树时将所述 sTable 的内容作为所述生成 树的一个匹配结果 (树 Li) 。 5. 如权利要求 4 所述的子图匹配装置, 其特征在于, 所述寻找子模块还用于在所述子 树生长后形成的树不为 I 。
7、型子树时在所述数据图中寻找所述子树的兄弟节点之间的最优 结果, 放入 pTable 中。 6. 如权利要求 4 所述的子图匹配装置, 其特征在于, 所述分解子模块还用于在所述子 树不是最后一棵子树时将所述子树作为叶子节点。 7. 一种子图匹配的方法, 用于在大规模图中查找出与带环图匹配的子图, 其特征在于, 所述方法包括以下步骤 : 根据最小生成树算法找到所述带环图的生成树 ; 自底向上对数据图进行生成树匹配, 寻找与生成树匹配的树 Li(i=1) ; 判断所述树 Li 的评分函数值与缺失边数之和是否大于等于预设值 ; 权 利 要 求 书 CN 103077216 A 2 2/2 页 3 若所。
8、述树 Li 的评分函数值与缺失边数之和小于预设值, 则判断所述树 Li 能否扩展为 带环图 ; 若所述树 Li 能扩展为带环图, 则将所述树 Li 扩展为匹配图, 并存入集合 V 中 ; 将所述集合 V 中的匹配图按照权重从小到大来排序 ; 判断所述集合 V 中匹配图的个数是否大于等于固定值 ; 若所述集合 V 中匹配图的个数大于等于固定值, 则将所述预设值设为第固定值个匹配 图的权重, 其中, 若所述树 Li 的评分函数值与缺失边数之和大于等于预设值, 则将所述集 合 V 中前固定值个匹配图输出。 8. 如权利要求 7 所述的子图匹配的方法, 其特征在于, 还包括以下步骤 : 若所述树 Li。
9、 不能扩展为带环图时, 则丢弃树 Li。 9. 如权利要求 7 所述的子图匹配的方法, 其特征在于, 所述评分函数为 : 其中 u, v MQ,MQ是查询图 Q 在数据图 GD中的匹配图, (X ; Y)=(-1(u) ; -1(v) 为查 询图 Q 中的边, C(X ; Y) 为与查询边 (X ; Y) 关联的系数, dist(u ; v) 表示顶点 u 和 v 的最短 路径的距离值。 10. 如权利要求 7 所述的子图匹配的方法, 其特征在于, 步骤 “自底向上对数据图进行 生成树匹配, 寻找与生成树匹配的树 Li(i=1) ” 包括以下步骤 : 将所述生成树自顶向下分解为只有边的子树 ;。
10、 判断子树生长后形成的树是否为 I 型子树 ; 若所述子树生长后形成的树为 I 型子树, 则在所述数据图中寻找所述子树的根结点到 叶子节点的最优结果, 放入 pTable 中 ; 将所述 pTable 中 dist 值 (权重值) 最小的数据放入 sTable 中, 并删除 pTable 中 dist 值最小的数据 ; 判断所述子树是否为最后一棵子树 ; 若所述子树为最后一棵子树时将所述 sTable 的内容作为所述生成树的一个匹配结果 (树 Li) 。 11. 如权利要求 10 所述的子图匹配的方法, 其特征在于, 步骤 “自底向上对数据图进行 生成树匹配, 寻找与生成树匹配的树 Li(i=。
11、1) ” 还包括以下步骤 : 若所述子树生长后形成的树不为 I 型子树, 则在所述数据图中寻找所述子树的兄弟节 点之间的最优结果, 放入 pTable 中。 12. 如权利要求 10 所述的子图匹配的方法, 其特征在于, 步骤 “自底向上对数据图进行 生成树匹配, 寻找与生成树匹配的树 Li(i=1) ” 还包括以下步骤 : 若所述子树不是最后一棵子树, 则将所述子树作为叶子节点。 权 利 要 求 书 CN 103077216 A 3 1/7 页 4 子图匹配装置及子图匹配的方法 技术领域 0001 本发明涉及数据查找技术, 尤其涉及一种对大型数据图进行子图匹配的子图匹配 装置及子图匹配的方法。
12、。 背景技术 0002 随着网页技术和新的数据管理与存储技术的发展, 图结构的数据变得越来越普 遍。图结构能够清晰的表现对象之间的复杂关系。许多应用需要处理图结构的数据, 比如 语义网1、 生物信息学中的蛋白质交互网络2和社会科学中的社交网络等。 这些应用要 求有效的存储和分析单个或多个大型图数据。 0003 在分析图数据时, 经常需要对图进行查询, 与关系数据库中的查询不同, 图的查询 一般基于图的结构。 大体上可以将与图有关的查询分成三类。 第一类是关于路径的查询, 如 最短路径查询 35 要求找出两个顶点之间的最短路径, 可达性查询 58 要求判断两个 顶点之间是否有路径相连。第二类与顶。
13、点有关, 例如最近邻居顶点查询 9,10 查找与给定 顶点最接近的邻居顶点。第三类是子图查询 11,12, 要求找出需要的子图结构, 例如子图 同构、 子图匹配和频繁子图挖掘, 相比路径和顶点的查询, 子图查询更能挖掘图的信息。这 些查询操作是许多应用的基础, 因此快速处理这些查询十分重要。 0004 传统上, 子图匹配是指子图同构。给定查询图 Q 和数据图 G, 子图同构要求找出 G 中与 Q 有着相同结构的子图。子图同构在数据库方面的主要应用是频繁子图挖掘。在很多 情况下, 尤其在万维网迅速发展的现在, 很多应用通常需要处理单个大型的数据图, 如连接 分析、 社交网络和语义网。 为高效的管。
14、理和分析大型数据图, 逐渐在原有的子图同构问题上 发展出一种新的子图匹配问题, 该子图匹配问题对标签图进行查询。标签图是指图中每个 顶点或边都有一个标签, 如社交网络中, 工作职位可以作为每个用户顶点的标签。 一个查询 图 Q 代表要查询的模式, 查询图的顶点也带有标签。子图匹配问题要求查询的匹配结果同 时满足标签条件和结构条件 :(1) 标签条件, Q中顶点的标签要与G中匹配顶点的标签相同 ; (2) 结构条件, 对 Q 中的边, G 中相应匹配的顶点之间要有路径相连。因此子图同构要求边 与边的严格匹配, 而这种子图匹配问题要求查询图中的边与数据图中的路径匹配。 0005 1、 现有的查找子。
15、图匹配的算法并未考虑 top-k 的问题。面对大型数据图, 给定查 询的匹配结果集十分巨大, 因此采用已有的子图匹配算法找出全部匹配, 然后通过排序取 得 top-k 结果会十分耗时。 0006 2、 现有的 top-k 连接算法能够直接用来求解 top-k 的子图匹配, 但对该算法的分 析和实验表明, 此算法并不具备较好性能, 尤其是针对大型的数据图。已有的 top-k 子树匹 配算法无法直接用于求解 top-k 子图匹配。 0007 1B.Berendt,A.Hotho,and G.Stumme.Towards semantic web mining.The Semantic WebISW。
16、C2002,pages264278,2002. 0008 2J.Van Helden,A.Naim,R.Mancuso,M.Eldridge,L.Wernisch,D.Gilbert,S. J.Wodak,et al.Representing and analysing molecular and cellular functionusing 说 明 书 CN 103077216 A 4 2/7 页 5 the computer.Biological Chemistry,381(9/10):921936,2000. 0009 3E.P.Chan and H.Lim.Optimization a。
17、nd evaluation of shortest path queries.The VLDB JournalThe International Journal on Very Large Data Bases,16(3):343369,2007. 0010 4N.Jing,Y.W.Huang,and E.A.Rundensteiner.Hierarchical encoded path views for path query processing:An optimal model and its performance evaluation.Knowledge and Data Engin。
18、eering,IEEE Transactions on,10(3):409 432,1998. 0011 5E.Cohen,E.Halperin,H.Kaplan,and U.Zwic k.Reachability and distancequeries via2-hop labels.In Proceedings of the thirteenth annual ACM-SIAMsymposium on Discrete algorithms,pages937946.Society for Industrial andApplied Mathematics,2002. 0012 6H.Wan。
19、g,H.He,J.Yang,P.S.Yu,and J.X.Yu.Dual labeling:Answering graph reachability queries in constant time.In Data Engineering,2006. 0013 ICDE06.Proceedings of the22nd International Conference on,pages7575.Ieee,2006. 0014 7S.Trisl and U.Leser.Fast and practical indexing and querying of very largegraphs.In 。
20、Proceedings of the2007ACM SIGMOD international conferenceon Management of data,pages845856.ACM,2007. 0015 8Y.Chen and Y.Chen.An efficient algorithm for answering graph reachabilityqueries.In Data Engineering,2008.ICDE 2008.IEEE 24th InternationalConference on,pages893902.IEEE,2008. 0016 9D.Papadias,。
21、J.Zhang,N.Mamoulis,and Y.Tao.Query processing in spatialnetwork databases.In Proceedings of the29th international conference onVery large data bases-Volume29,pages802813.VLDB Endowment,2003. 0017 10Jiefeng Cheng,Jeffrey Xu Yu,and Philip S.Yu.Graph pattern matching:A join/semijoin approach.In TKDE,pa。
22、ges10061021,Los Alamitos,CA,USA,2010.IEEE Computer Society. 0018 11H.Tong,C.Faloutsos,B.Gallagher,and T.Eliassi-Rad.Fast best-effortpattern matching in large attributed graphs.In Proceedings of the 13thACM SIGKDD international conference on Knowledge discovery and data mining,pages737-746.ACM,2007. 。
23、0019 12J.Cheng,J.X.Yu,B.Ding,P.S.Yu,and H.Wang.Fast graph pattern matching.In Data Engineering,2008.ICDE2008.IEEE24th InternationalConference on,pages913922.Ieee,2008. 发明内容 0020 有鉴于此, 有必要提供一种子图匹配装置及子图匹配的方法。 0021 本发明提供的一种子图匹配装置, 用于在大规模图中查找出与带环图匹配的子 说 明 书 CN 103077216 A 5 3/7 页 6 图, 包括 : 生成树模块、 匹配模块、 。
24、判断模块以及集合模块。 其中, 生成树模块, 用于根据最小 生成树算法找到所述带环图的生成树 ; 匹配模块, 用于自底向上对数据图进行生成树匹配, 寻找与生成树匹配的树 Li(i=1) ; 判断模块, 用于判断所述树 Li 的评分函数值与缺失边 数之和是否大于等于预设值, 其中, 所述判断模块还用于在所述树 Li 的评分函数值与缺失 边数之和小于预设值时判断所述树Li能否扩展为带环图 ; 集合模块, 用于在树Li能扩展为 带环图时将所述树Li扩展为匹配图, 并存入集合V中, 其中, 所述集合模块还用于将所述集 合 V 中的匹配图按照权重从小到大来排序, 所述判断模块还用于判断集合 V 中匹配图。
25、的个 数是否大于等于固定值, 且在集合 V 中匹配图的个数大于等于固定值时将所述预设值设为 第固定值个匹配图的权重 ; 其中, 所述集合模块还用于在所述树 Li 的评分函数值与缺失边 数之和大于等于预设值时将所述集合 V 中前固定值个匹配图输出。 0022 本发明还提供一种子图匹配的方法, 用于在大规模图中查找出与带环图匹配的子 图, 所述方法包括以下步骤 : 根据最小生成树算法找到所述带环图的生成树 ; 自底向上对 数据图进行生成树匹配, 寻找与生成树匹配的树 Li(i=1) ; 判断所述树 Li 的评分函数值 与缺失边数之和是否大于等于预设值 ; 若所述树 Li 的评分函数值与缺失边数之和。
26、小于预 设值, 则判断所述树Li能否扩展为带环图 ; 若所述树Li能扩展为带环图, 则将所述树Li扩 展为匹配图, 并存入集合 V 中 ; 将所述集合 V 中的匹配图按照权重从小到大来排序 ; 判断所 述集合 V 中匹配图的个数是否大于等于固定值 ; 若所述集合 V 中匹配图的个数大于等于固 定值, 则将所述预设值设为第固定值个匹配图的权重, 其中, 若所述树 Li 的评分函数值与 缺失边数之和大于等于预设值, 则将所述集合 V 中前固定值个匹配图输出。 0023 本发明中的子图匹配装置及子图匹配的方法通过将带环图转换为生成树, 自底向 上对数据图进行生成树匹配, 寻找与生成树匹配的树, 判断。
27、树的评分函数值与缺失边数之 和是否大于等于集合中第固定值个匹配图的权重来决定树是否为匹配结果, 提高了对数据 图查询匹配的速度。 附图说明 0024 图 1 为本发明一实施方式中子图匹配装置的模块图 ; 0025 图 2 为 I 型子树的生成过程 ; 0026 图 3 为 II 型子树的生成过程 ; 0027 图4为本发明一实施方式中利用图1所示的子图匹配装置进行子图匹配的方法的 流程图 ; 0028 图 5 为图 4 中步骤 S204 的具体流程图。 具体实施方式 0029 下面详细描述本发明的实施例, 所述实施例的示例在附图中示出, 其中自始至终 相同或类似的标号表示相同或类似的元件或具有。
28、相同或类似功能的元件。 下面通过参考附 图描述的实施例是示例性的, 仅用于解释本发明, 而不能理解为对本发明的限制。 0030 在本发明的描述中, 术语 “内” 、“外” 、“纵向” 、“横向” 、“上” 、“下” 、“顶” 、“底” 等指 示的方位或位置关系为基于附图所示的方位或位置关系, 仅是为了便于描述本发明而不是 要求本发明必须以特定的方位构造和操作, 因此不能理解为对本发明的限制。 说 明 书 CN 103077216 A 6 4/7 页 7 0031 请参阅图 1, 图 1 所示为本发明一实施方式中子图匹配装置 10 的模块图。 0032 在本实施方式中, 子图匹配装置10包括 :。
29、 生成树模块102、 匹配模块104、 判断模块 106、 集合模块 108、 存储器 110 以及处理器 112, 其中, 生成树模块 102、 匹配模块 104、 判断 模块 106 以及集合模块 108 存储在存储器 110 中, 处理器 112 用于执行存储在存储器 110 中的功能模块。 0033 在本实施方式中, 子图匹配装置 10 用于在大规模图中查找出与带环图匹配的子 图。 0034 在被实施方式中, 大规模图以表格的形式存储在存储器 110 中, 其中, 表格中包括 起点标签与终点标签以及起点标签与终点标签之间的权重。 0035 在本实施方式中, 生成树模块 102 用于根据。
30、最小生成树算法找到所述带环图的生 成树。 0036 匹配模块 104 用于自底向上对数据图进行生成树匹配, 寻找与生成树匹配的树 Li (i=1) 。 0037 判断模块 106 用于判断所述树 Li 的评分函数值与缺失边数之和是否大于等于预 设值。 0038 在本实施方式中, 所述判断模块106还用于在所述树Li的评分函数值与缺失边数 之和小于预设值时判断所述树 Li 能否扩展为带环图。 0039 在本实施方式中, 在本实施方式中, 生成树匹配得到的树 Li 与带环图具有相同的 顶点, 但是其缺失了部分边。因此将 Li 扩展成带环图, 只需搜索缺失的边, 在数据图是否存 在对应的路径。如果存。
31、在, 则表示可以扩展, 树 Li 扩展后成为带环图在数据图中对应的匹 配图为 Mi, 否则, 不可以扩展。 0040 在本实施方式中, 判断模块 106 通过评分函数计算所述树 LQ所扩展的带环图 (MQ) 的权重, 评分函数如下 : 0041 0042 其中u, vMQ,MQ是查询图Q在数据图GD中的匹配图 ; (X ; Y)=(-1(u) ; -1(v)为 查询图 Q 中的边 ; C(X ; Y) 为与查询边 (X ; Y) 关联的系数, 它由用户指定, 默认为 1 ; dist(u ; v) 表示顶点 u 和 v 的最短路径的距离值。当两顶点的最短路径距离越小时, 认为这两顶点 连接越紧。
32、密, 因此 score(MQ) 值越小, 则认为匹配 MQ越好。 0043 集合模块 108 用于在树 Li 能扩展为带环图时将所述树 Li 扩展为匹配图, 并存入 集合 V 中, 其中, 所述集合模块 108 还用于将所述集合 V 中的匹配图按照权重从小到大来排 序, 所述判断模块 106 还用于判断集合 V 中匹配图的个数是否大于等于固定值, 且在集合 V 中匹配图的个数大于等于固定值时将所述预设值设为第固定值个匹配图的权重。 0044 在本实施方式中, 所述集合模块108还用于在所述树Li的评分函数值与缺失边数 之和大于等于预设值时将所述集合 V 中前固定值个匹配图输出。 0045 在本。
33、实施方式中, 所述集合模块 106 在所述树 Li 不能扩展为带环图时丢弃树 Li。 0046 在本实施方式中, 所述判断模块 106 还用于在所述集合 V 中匹配图的个数小于固 定值时将预设值设为 + 。 0047 在本实施方式中, 所述匹配模块 104 包括 : 分解子模块 1040、 判断子模块 1042、 寻 说 明 书 CN 103077216 A 7 5/7 页 8 找子模块 1044 以及输出子模块 1046。 0048 分解子模块 1040 用于将所述生成树自顶向下分解为只有边的子树。 0049 判断子模块 1042 用于判断子树生长后是否为 I 型子树。 0050 在本实施方。
34、式中, 子树生长后形成的树的类型有两种 : I 型子树与 II 型子树, 其 中, I 型子树为叶子节点无兄弟的树, II 型子树为叶子节点有兄弟节点的树。 0051 请参阅图 2 以及图 3, 图 2 所示为 I 型子树的生成过程, 图 3 所示为 II 型子树的生 成过程。 0052 在图 2 中, 子树由一个根节点 A 和一个子节点 B 的子树组成 (B 是低一层子树的根 节点, C 可以为一个叶子节点 ), 节点 B 有一条边指向根节点。在本实施方式中, C 可以为低 一层子树, 可由其他子树通过 I 型或者 II 型生长而来。 0053 在图3中, 子树由一个根节点A和多个子节点BC。
35、的子树组成(BC是低一层子 树的根节点, BC 可以为一个节点 )。节点 BC 有一条边指向根节点。在本实施方式中, BC 可以为低一层子树, 可由其他子树通过 I 型或者 II 型生长而来。 0054 请继续参阅图 1, 寻找子模块 1044 用于在所述子树生长后为 I 型子树时在所述数 据图中寻找所述子树生长后形成的树的根结点到叶子节点的最优结果, 放入 pTable 中, 其 中, 所述寻找子模块1044还用于将所述pTable中dist值 (权重值) 最小的数据放入sTable 中, 并删除 pTable 中 dist 值最小的数据, 所述判断子模块 1042 还用于判断所述子树是否 。
36、为最后一棵子树。 0055 输出子模块1046用于在所述子树是最后一棵子树时将所述sTable的内容作为所 述生成树的一个匹配结果 (树 Li) 。 0056 在本实施方式中, 所述寻找子模块 1044 还用于在所述子树生长后形成的树不为 I 型子树时在所述数据图中寻找所述子树生长后形成的树的兄弟节点之间的最优结果, 放入 pTable 中。 0057 在本实施方式中, 所述分解子模块 1040 还用于在所述子树不是最后一棵子树时 将所述子树作为叶子节点。 0058 请参阅图 4, 图 4 所示为本发明一实施方式中利用图 1 所示的子图匹配装置 10 进 行子图匹配的方法的流程图。 0059 。
37、在本实施方式中, 子图匹配的方法用于在大规模图中查找出与带环图匹配的子 图。 0060 在步骤 S202, 生成树模块 102 根据最小生成树算法找到所述带环图的生成树。 0061 在步骤 S204, 匹配模块 104 自底向上对数据图进行生成树匹配, 寻找与生成树匹 配的树 Li(i=1) 。 0062 在步骤S206, 判断模块106判断所述树Li的评分函数值与缺失边数之和是否大于 等于预设值。 0063 在本实施方式中, 判断模块 106 通过评分函数计算所述树 LQ所扩展的带环图 (MQ) 的权重, 评分函数如下 : 0064 0065 其中u, vMQ,MQ是查询图Q在数据图GD中的。
38、匹配图 ; (X ; Y)=(-1(u) ; -1(v)为 说 明 书 CN 103077216 A 8 6/7 页 9 查询图 Q 中的边 ; C(X ; Y) 为与查询边 (X ; Y) 关联的系数, 它由用户指定, 默认为 1 ; dist(u ; v) 表示顶点 u 和 v 的最短路径的距离值。当两顶点的最短路径距离越小时, 认为这两顶点 连接越紧密, 因此 score(MQ) 值越小, 则认为匹配 MQ越好。 0066 若所述树 Li 的评分函数值与缺失边数之和大于等于预设值, 则在步骤 S206, 集合 模块 108 将所述集合 V 中前固定值个匹配图输出。 0067 若所述树 L。
39、i 的评分函数值与缺失边数之和小于预设值, 则在步骤 S208, 判断模块 106 判断所述树 Li 能否扩展为带环图。 0068 在本实施方式中, 生成树匹配得到的树 Li 与带环图具有相同的顶点, 但是其缺失 了部分边。 因此将Li扩展成带环图, 只需搜索缺失的边, 在数据图是否存在对应的路径。 如 果存在, 则表示可以扩展, 树 Li 扩展后成为带环图在数据图中对应的图为 Mj, 否则, 不可以 扩展。 0069 若所述树Li能扩展为带环图, 则在步骤S212, 集合模块108将所述树Li扩展为匹 配图, 并存入集合 V 中。 0070 在步骤 S214, 集合模块 108 将所述集合 。
40、V 中的匹配图按照权重从小到大来排序。 0071 在步骤S216, 判断模块106判断所述集合V中匹配图的个数是否大于等于固定值。 0072 若所述集合V中匹配图的个数大于等于固定值, 则在步骤S218, 判断模块106将所 述预设值设为第固定值个匹配图的权重。 0073 若所述集合V中匹配图的个数小于固定值, 则在步骤S220, 判断模块106将预设值 设为 + 。 0074 请参阅图 5, 图 5 为图 4 中步骤 S204 的具体流程图。 0075 在步骤 S300, 分解子模块 1040 将所述生成树自顶向下分解为只有边的子树。 0076 在步骤 S302, 判断子模块 1042 判断。
41、子树是否为 I 型子树。 0077 在本实施方式中, 子树生长后形成的树的类型有两种 : I 型子树与 II 型子树, 其 中, I 型子树为叶子节点无兄弟的树, II 型子树为叶子节点有兄弟节点的树。 0078 在本实施方式中, 判断子模块 1042 通过子树生长后形成的树的节点的关系确定 子树是否为 I 型子树。 0079 若所述子树生长后形成的树为 I 型子树, 则在步骤 S304, 寻找子模块 1044 在所述 数据图中寻找所述子树生长后形成的树的根结点到叶子节点的最优结果, 放入 pTable 中。 在本实施方式中, pTable 用于存储节点连接的中间结果。 0080 在步骤 S3。
42、06, 寻找子模块 1044 将所述 pTable 中 dist 值 (权重值) 最小的数据放 入 sTable 中, 并删除 pTable 中 dist 值最小的数据。在本实施方式中, sTable 存储已找出 的匹配结果。 0081 在步骤 S308, 判断子模块 106 判断所述子树是否为最后一棵子树。 0082 若所述子树为最后一棵子树, 则在步骤S310, 输出子模块1046将所述sTable的内 容作为所述生成树的一个匹配结果 (树 Li) 。 0083 若所述子树不是最后一棵子树, 则在步骤 S312, 分解子模块 1040 将所述子树作为 叶子节点。 0084 在步骤 S302。
43、 中的判断结果中, 若所述子树生长后形成的树不为 I 型子树, 则表示 子树生长后形成的树为II型子树, 在步骤S314, 寻找子模块1044在所述数据图中寻找所述 说 明 书 CN 103077216 A 9 7/7 页 10 子树生长后形成的树的兄弟节点之间的最优结果, 放入 pTable 中。 0085 本发明实施方式中的子图匹配装置 10 及子图匹配的方法通过将带环图转换为生 成树, 自底向上对数据图进行生成树匹配, 寻找与生成树匹配的树, 判断树的评分函数值与 缺失边数之和是否大于等于集合中第固定值个匹配图的权重来决定树是否为匹配结果, 提 高了对数据图查询匹配的速度。 0086 虽。
44、然本发明参照当前的较佳实施方式进行了描述, 但本领域的技术人员应能理 解, 上述较佳实施方式仅用来说明本发明, 并非用来限定本发明的保护范围, 任何在本发明 的精神和原则范围之内, 所做的任何修饰、 等效替换、 改进等, 均应包含在本发明的权利保 护范围之内。 说 明 书 CN 103077216 A 10 1/4 页 11 图 1 图 2 说 明 书 附 图 CN 103077216 A 11 2/4 页 12 图 3 说 明 书 附 图 CN 103077216 A 12 3/4 页 13 图 4 说 明 书 附 图 CN 103077216 A 13 4/4 页 14 图 5 说 明 书 附 图 CN 103077216 A 14 。