基于视图的 XML 树语言重写
1. 计算最大包含重写(MCR)
当查询和视图为正则树查询(RTQ)时,我们可以有效计算查询重写值(QRV),并且证明它也是一个 RTQ。
首先,定义 ✩ 操作的逆操作 ✪:
对于 υ, υ′ ∈ Υ x,
[
υ ✪ υ′ =
\begin{cases}
\xi & \text{如果 } υ′ = υ ✩ \xi \
\text{未定义} & \text{否则}
\end{cases}
]
此定义自然地扩展到 Υ x 的子集。可以验证:
命题 2:X = V ✪ Qc 且 Y = V ✪ Q。
得到 X 和 Y 后,可按命题 1 得到 R = Y \ X。接下来,我们给出当 J 和 J′ 为 RTQ 时,计算 K = J ✪ J′ 的基于自动机的解决方案。
为了便于使用自动机处理,引入颜色标记模式树中的位置。除字母表 Σ 外,考虑 “红色” 字母表 Σr = {ar : a ∈ Σ} 和 “蓝色” 字母表 Σb = {ab : a ∈ Σ},称 Σ 中的元素为 “黑色”,Σ 为 “黑色” 字母表。根据节点符号颜色,将节点分为黑色、红色或蓝色节点。
定义以下操作符:
- b:对于 (p, x) ∈ Υ x,返回一个在 Σ ∪ Σb 上与 p 同构的树,其中位置 x 处的节点为蓝色。
- r:对于 (p, y) ∈ Υ y,返回一个在 Σ ∪ Σr 上与 p 同构的树,其中位置 y 处的节点为红色。
- br:对于 (p, x, y) ∈ Υ x,y,返回一个在 Σ ∪ Σb ∪ Σr 上与 p
超级会员免费看
订阅专栏 解锁全文
1732

被折叠的 条评论
为什么被折叠?



