时间:2022-12-12 10:30:02 | 来源:信息时代
时间:2022-12-12 10:30:02 来源:信息时代
半结构化索引 : 对主要是XML数据的半结构化数据所建立的索引。结构汇总(structural summary)类索引,以XML-树结构中结点的路径信息为基础,采取某种化简方式,使得化简后的树结构只维护不同的路径信息,而不会存在具有相同路径的两个结点。该类索引仍然采取标签有向图的结构。当基于结构汇总进行XML查询处理时,避免了对XML中标签路径相同的结点需要重新遍历所有相同路径的缺陷。
T-索引(T-index): 即模板索引(template index),它是一个通用的用于半结构化数据的索引结构。T-索引具有以下特点: ①允许在空间与通用性之间进行权衡。②索引构建效率比较高。③索引本身占用空间不是很大。④具有很好的推广性。
T-索引的关键思想在于,将数据库对象按等价类(equivalence class)进行分组,每个类包含与路径模板(path template)定义相同的路径。由于计算完全的等价关系代价很高,因此T-索引只考虑计算效率较高的半双拟(bisimulation)或双拟(simulation)关系,为便于描述,本索引中所提到的等价关系均指这种半双拟或双拟等价关系。
如果存在一个半双拟关系~,即v~u,则两个结点v和u是半相似(bisimilar)的,写为v≈bu。同样的,如果存在两个双拟关系≤,即v≤u和u≤v,则两个结点v和u是相似(similar)的,写为v≈su。实际上,有一个简单的判断相互半相似的推论。如果两个结点是相互半相似的,则进入它们的输入边(in-coming path)是相同的。
基于上述这种等价关系,利用非确定性自动机(non-deterministic automaton)可以构建一个T-索引,自动机中的状态代表等价类,状态迁移对应于类中对象间的边。在T-索引中,半结构化数据被建模成一个边带有标记的图(labeled graph),图中结点对应数据库中的对象,边对应对象的属性。标记图用DB=(V,E,R)形式化表示,其中V表示图的顶点,是有限的顶点集合; E表示图中相邻结点之间的边,是带标记的边集合;R是根结点集合,从R中某个根结点ri出发可达V中以ri为根的所有相关顶点。
一个路径模板t具有T1x1T2x2…Tnxn表达形式,其中每个T或者是一个正则路径表达式(regular path expression),或者是P和F二个占位符之一。P可用正则路径表达式来替换,F可用公式替换。一个查询由一条查询路径和一组变量集合构成,其表示形式为“select xi1,xi2,…,xik from P1x1P2x2…Pnxn”,查询路径就是对路径模板的实例化。比如,一个真实的查询具有形式“select x from(*.Restaurant) x(Menu.*.Dinner.*.Lasagna) y” ,其中(*.Restaurant)和(Menu.*.Dinner.*.Lasagna)就是路径模板实例。如果令t=Px1Px2…Pxk,那么t1=Px就是1-索引,t2=*x1Px2就是2-索引。
实际上,有一个简单的判断1-索引和2-索引的推论。1-索引就是从根结点root进入某个结点v的所有路径均相同。2-索引就是一对结点(对应一条标记路径的起始点和终止点)具有相同的标记路径。图1和图2给出了1-索引和2-索引。在图1中,(a)为数据图;(b)为该数据图对应的1-索引;(c)为数据图对应的强数据向导(data guide)。
图1 1-索引
图2 2-索引
图3 一系列A(K)索引