1.一种基于双层索引的子图查询方法,其特征在于,具体按照以下步骤依次实施:步骤1,对图数据库和查询图集合同时提取频繁子树;
步骤2,利用现有图查询方法中的特征提取和索引建立方法,选取步骤1得到的频繁子树作为索引特征;
步骤3,在步骤2选取得到的索引特征的基础上对图数据库进行编码,并在查询图集和图数据库上分别建立索引,同时根据特征同构判定代价最小的目标,对建立的两个索引进行优化处理;
步骤4,遍历步骤3优化后的两个索引,在对比索引进行过滤后再进行验证,生成候选集;
步骤5,将步骤4生成的候选集与查询集进行子图同构验证,计算共享框架,得到结果图数据集。
2.根据权利要求1所述的基于双层索引的子图查询方法,其特征在于,步骤3中的编码如下:给出一个图G=<V,E,L,l>,已知其频繁子树为preTree,其中,V为顶集,E为边集,L是标记集,l是关联函数;图G的编码标示为T-Code(G),其定义为一组序列其中序列的定义如下:对于任意j,1≤j≤|VG|,i)对于1≤j≤|VpreTree|,aj包含了一个三元组(v_label,v_parent,e_label),其中,v_label表示该节点的标记,v_parent表示其父节点的位置,e_label表示边的标记;
ii)对于j=|VpreTree|+1时,aj包含了一个三元组(0,-1,0)和一个边序集,其中三元组(0,-1,0)表示该节点为虚拟节点,而边序集中每个边序的三元组(e_FromPos,e_ToPos,e_label)分别表示该边的起始节点,终止节点和边的标记;
iii)对于|VpreTree|+1<j≤|V|时,aj包含了一个三元组(v_label,v_parent,e_label)和一个附加边序集。
3.一种基于双层索引的子图查询方法,其特征在于,具体按照以下步骤依次实施:步骤1,对图数据库和查询图集合同时提取频繁子树;
步骤2,利用现有图查询方法中的特征提取和索引建立方法,选取查询图集合的图拓扑结构信息和步骤1得到的频繁子树组合后作为索引特征;
步骤3,在步骤2选取得到的索引特征的基础上对图数据库进行编码,并在查询图集和图数据库上分别建立索引,同时根据特征同构判定代价最小的目标,对建立的两个索引进行优化处理;
步骤4,遍历步骤3优化后的两个索引,在对比索引进行过滤后再进行验证,生成候选集;
步骤5,将步骤4生成的候选集与查询集进行子图同构验证,计算共享框架,得到结果图数据集。
4.根据权利要求3所述的基于双层索引的子图查询方法,其特征在于,步骤3中的编码如下进行:给出一个图G=<V,E,L,l>,已知其频繁子树为preTree,其中,V为顶集,E为边集,L是标记集,l是关联函数;图G的编码标示为T-Code(G),其定义为一组序列其中序列的定义如下:对于任意j,1≤j≤|VG|,i)对于1≤j≤|VpreTree|,aj包含了一个三元组(v_label,v_parent,e_label),其中,v_label表示该节点的标记,v_parent表示其父节点的位置,e_label表示边的标记;
ii)对于j=|VpreTree|+1时,aj包含了一个三元组(0,-1,0)和一个边序集,其中三元组(0,-1,0)表示该节点为虚拟节点,而边序集中每个边序的三元组(e_FromPos,e_ToPos,e_label)分别表示该边的起始节点,终止节点和边的标记;
iii)对于|VpreTree|+1<j≤|V|时,aj包含了一个三元组(v_label,v_parent,e_label)和一个附加边序集。
5.根据权利要求4所述的基于双层索引的子图查询方法,其特征在于,在所述步骤2中,图拓扑结构信息包括路径、图谱及拉普拉斯图谱。