system: [SYSTEM]

user: 3. 模式映射重写 3.1. 扩展 给定一个映射场景 M = ( S ， T ， Σ S T ) ，由 R = ∪ i ψ i ( x ¯ i ， y ¯ i ) 表示在 Σ s t 中的所有映射规则结论的集合，由 R k p o w 表示在R中的所有数量≤k的多重原子集合；每当多重集合中出现相同原子的多个副本时，本文假设它们已被正确重命名，以避免变量的冲突。给定映射场景 M = ( S ， T ， Σ S T ) ，本文的目标是在一组表示M的核心模式映射的一阶逻辑规则下重写给定的映射规则，从中生成一个SQL脚本，直接生成核心目标实例。为了执行重写，将依赖于核解的概念。在本节中，我们将介绍映射规则结论中基于扩展的核解概念，并在下一节中使用它来执行重写，使用扩展作为研究映射规则结论之间可能存在冗余的一种方法。 定义7. 映射规则中的扩展 给定映射场景M和映射规则集 Σ S T ，在 Σ S T 中有映射规则 t g d . m : ϕ ( x ¯ 2 ) → ∃ y ¯ 2 ( ψ l ( x ¯ 2 ， y ¯ 2 ) ) ，m的扩展集合用 e x p a n s i o n s M ( m ) 表示， e x p a n s i o n s M ( m ) 是一组包含存在量词的逻辑查询公式： ε = χ l ( x ¯ 1 ， y ¯ 1 ) ∧ ∃ x ¯ 2 ， y ¯ 2 : ( ψ l ( x ¯ 2 ， y ¯ 2 ) ∧ E Q U A L h c f ( x ¯ 1 ， x ¯ 2 ) ) ，其中 χ l ( x ¯ 1 ， y ¯ 1 ) 是 R k p o w 中带标记的原子(k是 ψ l ( x ¯ 2 ， y ¯ 2 ) 的大小)，且存在满射 h f ， h c f : ψ ( x ¯ 2 ， y ¯ 2 ) → χ ( x ¯ 1 ， y ¯ 1 ) 。 在接下来的文章中，假设扩展中 x ¯ 1 ∩ x ¯ 2 = ∅ ， y ¯ 1 ∩ y ¯ 2 = ∅ ，即 x ¯ 1 ， x ¯ 2 ， y ¯ 1 ， y 2 是不相交的。注意扩展 ε 也可以被看作是一个含有自由变量 x ¯ 1 ， y ¯ 1 的查询 ε ( x ¯ 1 ， y ¯ 1 ) 。接下来会证明，在通解 J ∈ U S o l M ( I ) 上进行这样的查询，结果恰好会返回目标实例集合 W 〈 I ， J 〉 中的一组目标实例。 给定实例J，并给 x ¯ 1 ， y ¯ 1 赋值 a 1 ，如果满足以下条件，则称 J | = a 1 ( ε ( x ¯ 1 ， y ¯ 1 ) ) ： J | = a 1 ( χ l ( x ¯ 1 ， y ¯ 1 ) ) a 1 ， a 2 是 E Q U A L h f ( a 1 ( x ¯ 1 ) ， a 2 ( x ¯ 2 ) ) 的形式。 由于映射规则结论的扩展数量随着结论之间连接的数量而增加，并且它通常是输入映射规则的大小的指数。将 e x p a n s i o n s M ( m ) 称为 Σ S T 中映射规则的所有扩展集。 3.1.1. 扩展与核解 根据参考文献 [ 15 ] 我们可以知道，在目标数据库存储的目标实例中，为了生成核解，需要选择最大的实例，具体步骤是首先选择包含属性更多的实例，再此基础上选择包含信息性更大的实例，最后将能够 满足 J 0 = ∪ S e l e c t B e s t B l o c k ( S i n g l e ( F u l l ( W 〈 I ， J 〉 ) ) ) 关系的实例称之为核解。我们在本节引入核解的概念， 基于扩展给出核解的相似概念，但是这个核解并不是依赖于实例的而是基于本文所说的扩展生成的。 3.1.2. 扩展的分类 在本文第2节中介绍的公式同态可以用来确定什么时候扩展能够产生一个比其他块包含更多属性或更具信息性的实例，由此引入了一个更紧凑的和更具信息性的扩展的并行定义。 定义8. 更紧凑和更具信息性的扩展 给定由具体实例组成的扩展： ε = χ l ( x ¯ 1 ， y ¯ 1 ) ∧ ∃ x ¯ 2 ， y ¯ 2 : ( ψ l ( x ¯ 2 ， y ¯ 2 ) ∧ E Q U A L h c f ( x ¯ 1 ， x ¯ 2 ) ) ε ′ = χ ′ l ( x ¯ ′ 1 ， y ¯ ′ 1 ) ∧ ∃ x ¯ ′ 2 ， y ¯ ′ 2 : ( ψ ′ l ( x ¯ ′ 2 ， y ¯ ′ 2 ) ∧ E Q U A L h c ' f ( x ¯ ′ 1 ， x ¯ ′ 2 ) ) 如果存在一个更紧凑的同态 h c f : χ l ( x ¯ 1 ， y ¯ 1 ) → χ ′ l ( x ¯ ′ 1 ， y ¯ ′ 1 ) ，则称 ε ′ 比 ε 更紧凑，用 ε ≺ ε ′ 表示； 如果存在更恰当的同态 h p f : χ l ( x ¯ 1 ， y ¯ 1 ) → χ ′ l ( x ¯ ′ 1 ， y ¯ ′ 1 ) ，称 ε ′ 比 ε 更具有信息性，用 ε < ε ′ 表示； 当根据公式同态 h f 使得 ε ′ 比 ε 更紧凑(或更具信息性)时，可以这样写 ε ≺ h f ε ′ ( ε < h f ε ′ )。 3.1.3. 扩展的选择 根据上述方法，给定一个扩展 ε ，我们可以基于扩展 ε 生成一个新的查询，叫做 m o s t C o m p ( ε ) 。主要通过向 ε 添加 ε ′ 的否定， ε ′ 比 ε 更紧凑。有如下等式： 定义9. 更紧凑的扩展： m o s t C o m p (ε) 给定一个映射场景M，以及它的一组扩展 e x p a n s i o n s ( M ) ，其中的一个扩展如下： ε = χ l ( x ¯ 1 ， y ¯ 1 ) ∧ ∃ x ¯ 2 ， y ¯ 2 : ( ψ l ( x ¯ 2 ， y ¯ 2 ) ∧ E Q U A L h c f ( x ¯ 1 ， x ¯ 2 ) ) m o s t C o m p ( ε ) 通过如下方式获得： 1) 初始化 m o s t C o m p ( ε ) = ε ； 2) 对于 e x p a n s i o n s ( M ) 中的任意 ε ′ = χ ′ l ( x ¯ ′ 1 ， y ¯ ′ 1 ) ∧ ∃ x ¯ ′ 2 ， y ¯ ′ 2 : ( ψ ′ l ( x ¯ ′ 2 ， y ¯ ′ 2 ) ∧ E Q U A L h c ' f ( x ¯ ′ 1 ， x ¯ ′ 2 ) ) 和任意形如 ε ≺ h f ε ′ 的公式同态 h f 。即 ε ′ 根据 h f 变得比 ε 更紧凑，向 m o s t C o m p ( ε ) 添加公式 ∧ ¬ ∃ x ¯ ′ 1 ， y ¯ ′ 1 : ( ε ′ ∧ E Q U A L h c f ( x ¯ 1 ， x ¯ ′ 1 ) ) 。 本文将用 m o s t C o m p ( M ) 来表示形式为 m o s t C o m p ( ε ) 的扩展所有重写的集合，其中 ε ∈ e x p a n s i o n s ( M ) 。 在第一次重写之后，与通过实例生成核解的方法所述的策略相一致，我们在其他扩展中寻找有利于在目标中生成更具信息性的目标实例的扩展，并且进一步重写 m o s t C o m p ( ε ) 。在这个过程中，产生成了一个在 m o s t C o m p ( ε ) 基础上的公式，叫做 m o s t I n f ( ε ) ，如下所示： 定义10. 更具信息性的扩展： m o s t I n f (ε) 给定一个映射场景M，以及它的一组扩展 e x p a n s i o n s ( M ) ，其中的一个扩展如下： ε = χ l ( x ¯ 1 ， y ¯ 1 ) ∧ ∃ x ¯ 2 ， y ¯ 2 : ( ψ l ( x ¯ 2 ， y ¯ 2 ) ∧ E Q U A L h c f ( x ¯ 1 ， x ¯ 2 ) ) m o s t I n f ( ε ) 的具体操作如下： 1) 初始化 m o s t I n f ( ε ) = m o s t C o m p (ε) 2) 对于 e x p a n s i o n s ( M ) 中的任意扩展 ε ′ = χ ′ l ( x ¯ ′ 1 ， y ¯ ′ 1 ) ∧ ∃ x ¯ ′ 2 ， y ¯ ′ 2 : ( ψ ′ l ( x ¯ ′ 2 ， y ¯ ′ 2 ) ∧ E Q U A L h c ' f ( x ¯ ′ 1 ， x ¯ ′ 2 ) ) 和任意形如 ε < h f ε ′ 的公式同态 h f ，即 ε ′ 由 h f 变得比 ε 更具信息性，向 m o s t I n f ( ε ) 添加公式 ∧ ¬ ∃ x ¯ ′ 1 ， y ¯ ′ 1 : ( m o s t C o m p ( ε ′ ) ∧ E Q U A L h c f ( x ¯ 1 ， x ¯ ′ 1 ) ) 。 我们用 m o s t I n f ( M ) 表示 m o s t I n f ( ε ) 形式的所有重写集。 总之，为了选择最大目标实例，本文考虑映射规则tgd中的每个扩展 ε ： a) 首先通过添加所有的扩展 ε i 否定，将 ε 重写成一个新形式： m o s t C o m p ( ε ) ， ε i 比 ε 更紧凑；本文期望用这些新的公式选择在与 ε 相关的目标实例中更紧凑的； b) 然后通过添加 m o s t C o m p ( ε j ) 的否定，进一步将 m o s t C o m p ( ε ) 重写为一个新的公式 m o s t I n f ( ε ) ，扩展 ε j 比 ε 更具信息性。 与扩展类似，扩展的重写也可以被视为查询。给定扩展 ε ，以及相关的查询 ε ( x ¯ 1 ， y ¯ 1 ) ， m o s t C o m p ( ε ) 和 m o s t I n f ( ε ) 都可以看作是带有自由变量 x ¯ 1 ， y ¯ 1 的查询。本文编写这些查询如下： m o s t C o m p ( ε ) ( x ¯ 1 ， y ¯ 1 ) 和 m o s t I n f ( ε ) ( x ¯ 1 ， y ¯ 1 ) 。为了简化符号，本文将省略显式引用变量，仅用 m o s t C o m p ( ε ) 和 m o s t I n f ( ε ) 来代表查询。 3.2. 规则选择 在前文中，通过对初始映射规则结论进行分析，给出了扩展的概念，进而我们希望通过扩展对初始模式映射规则集进行重写以让他可以直接生成核解。但是分析发现，不是所有的规则都会在目标中生成冗余实例。若对初始规则集中的所有规则都进行重写，会导致运行时间过长，效率低等问题。由于有些规则已经满足核心模式映射条件，不需要进行重写就可以直接生成满足核解的目标实例，我们希望对规则集进行选择，只对不满足核心模式映射条件的规则进行重写。 3.2.1. 规则冗余程度 为了识别不同规则生成冗余的大小程度，必须对规则源模式与目标模式之间的属性相似度进行计算。针对本文研究数据特点，由于数据来自不同的web数据源，在计算属性相似度时选用Jaccard相似系数方法来计算源和目标模式属性相似度。 定义11. Jaccard相似系数 给定两个集合A、B，Jaccard相似系数定义为A与B交集的大小与A与B并集的大小的比值，定义如下： J ( A ， B ) = | A ∩ B | | A ∪ B | = | A ∩ B | | A | + | B | − | A ∩ B | 当集合A，B都为空时， J ( A ， B ) 定义为1。 本文称给定规则源模式与目标模式之间的相似系数大于0.7时，该规则生成的目标实例冗余度较低，不需要进行重写。当相似系数低于0.7时，应进行规则分解，查看规则中全称量词的数量来进一步确定该规则是否会生成冗余度较高的目标实例，是否需要重写。 3.2.2. 规则分解 给定映射场景 以及它的初始规则集，本文将根据文献 [ 16 ] 中研究的策略来对冗余度较高的给定规则进行分解，具体方法如下。 分析表级之间映射关系的构成，考虑源和目标模式下包含如下对应关系： 1) 1:1映射关系 1:1映射关系是指web数据源模式与目标数据模式中的表结构是一致的，即标准数据库中的某些表在源数据库中有唯一的一个数据与之对应。对于映射关系为1:1的映射规则，若其目标模式中不含存在量词，则不要进行重写，直接作为核模式映射输出。若其目标模式中包含存在量词，这些规则生成的数据中必定包含较多的变量，说明这些规则是冗余的，直接进入待重写的规则库。 2) 1:N映射表关系 1:N映射关系是指web数据源模式与目标数据模式的表结构并非是一致的，即源数据库中原始数据的一个表映射到目标数据库中的多个表。首先将其分解为1:1类型的映射，然后根据其包含存在量词的数量来确定其冗余程度的大小，判断是否需要对其进行重写。 3) N:M映射表关系 N:M映射关系是指web数据源模式与目标数据模式的表结构并非是一致的，即源数据库中原始数据的多个表映射到目标数据库中的多个表。当规则中的映射关系为M:N时，可以首先将其转换成M个1:N的映射关系；然后再将1:N的映射处理为N个1:1之间的映射；最后对M * N个1:1的映射关系进行判断处理即可。在其中若不包含存在量词，则作为核心模式映射输出；若其中包含存在量词，则其冗余度较大，需要按照本文方法进行重写，转换成核心模式映射来计算核解。 3.3. 重写方法 3.3.1. 源重写 扩展作为目标模式上的公式，在本节中表明可以根据源模式上的关系来重写扩展，我们将其称为扩展的源重写。虽然扩展是一个用于在目标模式中选择原子的查询，但它的源重写说明了这些原子存在的“前提条件”。通过引入标签技术 [ 2 ]，在源上重写扩展的策略得以实现。事实上，扩展是从映射规则结论中得到的标记原子的合取范式。对于每一个原子，都用一个前提联系起来(前提就是相应的规则的左侧)。通过连接其所有原子的前提，能够获得扩展的源重写。注意到标签系统在这一步中起着核心作用：通过查看每个扩展的原子的标签，可以立即知道它的出自哪一个映射规则，因此也就知道了它的前提。 定义12. 映射规则的前提 给定映射规则 t g d . m ∀ x ¯ : ϕ ( x ¯ ) → ∃ y ¯ ( ψ l ( x ¯ ， y ¯ ) ) 和原子 R l ( x ¯ i ， y ¯ i ) ∈ ψ l ( x ¯ ， y ¯ ) ， R l ( x ¯ i ， y ¯ i ) ∈ ψ l ( x ¯ ， y ¯ ) 的前提 p r e m i s e ( R l ( x ¯ i ， y ¯ i ) ) 实际上是由映射规则的左侧公式 ϕ ( x ¯ ) 构成的。 给定一个查询公式 χ l ( x ¯ 1 ， y ¯ 1 ) ，其具体前提由如下公式表示： p r e m i s e ( χ l ( x ¯ 1 ， y ¯ 1 ) ) = ∧ { p r e m i s e ( R i l ( x ¯ i ， y ¯ i ) ) | R i l ( x ¯ i ， y ¯ i ) ∈ χ l ( x ¯ 1 ， y ¯ 1 ) } 定义13. 源重写 给定映射规则 m : ϕ ( x ¯ 2 ) → ∃ y ¯ 2 ( ψ l ( x ¯ 2 ， y ¯ 2 ) ) 和扩展集合 e x p a n s i o n s M ( m ) 中的扩展 ε = χ l ( x ¯ 1 ， y ¯ 1 ) ∧ ∃ x ¯ 2 ， y ¯ 2 : ( ψ l ( x ¯ 2 ， y ¯ 2 ) ∧ E Q U A L h c f ( x ¯ 1 ， x ¯ 2 ) ) ，它的源重写 S o u r c e R e w ( ε ) 是下面的公式： S o u r c e R e w ( ε ) = p r e m i s e ( χ l ( x ¯ 1 ， y ¯ 1 ) ) ∧ ∃ x ¯ 2 : ( ϕ ( x ¯ 2 ) ∧ E Q U A L h c f ( x ¯ 1 ， x ¯ 2 ) ) 注意到，虽然tgd的扩展 ε 可以看作是一个查询 ε ( x ¯ 1 ， y ¯ 1 ) ， ε ( x ¯ 1 ， y ¯ 1 ) 包括映射规则m的全称量词和存在量词，它的源重写 S o u r c e R e w ( ε ) ，也是一个查询 S o u r c e R e w ( ε ) ( x ¯ 1 ) ，但其中所有自由变量都是映射规则m的全称量词。 3.3.2. 源重写的否定 给定扩展 ε ，它的源重写 S o u r c e R e w ( ε ) 说明了产生其所有实例的前提条件。本文只想选择关于信息量最大的，最具代表性的实例。因此，需要生成新的表达式，分别为与扩展相关的最紧凑和更具信息性的见证块集提供前提条件。 为了进行上述操作，给定扩展 ε ，引入公式 S o u r c e R e w ( m o s t C o m p ( ε ) ) 和 S o u r c e R e w ( m o s t I n f ( ε ) ) ，类似于 m o s t C o m p ( ε ) 和 m o s t I n f ( ε ) ，但是在源上重写了。为了生成 S o u r c e R e w ( m o s t C o m p ( ε ) ) ，每当扩展 ε ′ 比 ε 更紧凑时，在 ε 的源重写中加入 S o u r c e R e w ( ε ′ ) 的否定。 定义14. 重写源上的mostComp() 给定场景M，以及M上的一组扩展 e x p a n s i o n s ( M ) ，他们的重写是 m o s t C o m p ( ε ) ， 对于扩展集 e x p a n s i o n s ( M ) 中的每个 ε ，其公式 S o u r c e R e w ( m o s t C o m p ( ε ) ) 生成的方式如下： i) 首先初始化 S o u r c e R e w ( m o s t C o m p ( ε ) ) = S o u r c e R e w (ε) ii) 然后对于扩展集 e x p a n s i o n s ( M ) 中的任何扩展 ε ′ ，若 ε ′ 是比 ε 更紧凑的，称 h c f 为从 χ l ( x ¯ 1 ， y ¯ 1 ) 到 χ ′ l ( x ¯ ′ 1 ， y ¯ ′ 1 ) 的更紧凑的同态；向 S o u r c e R e w ( m o s t C o m p ( ε ) ) 添加一个公式： ∧ ¬ ∃ x ¯ ′ : ( S o u r c e R e w ( ε ′ ) ∧ E Q U A L h c f ( x ¯ 1 ， x ¯ ′ 1 ) ) 定义15. 重写源上的mostInf() 给定场景M，以及M上的一组扩展 e x p a n s i o n s ( M ) ，对于扩展集 e x p a n s i o n s ( M ) 中的每个 ε ，其公式 S o u r c e R e w ( m o s t I n f ( ε ) ) 生成的方式如下： i) 初始化 S o u r c e R e w ( m o s t I n f ( ε ) ) = S o u r c e R e w ( m o s t C o m p (ε) ) ii) 然后对于扩展集 e x p a n s i o n s ( M ) 中的任何扩展 ε ′ ，若 ε ′ 是比 ε 更具信息性的，称 h c f 为从 χ l ( x ¯ 1 ， y ¯ 1 ) 到 χ ′ l ( x ¯ ′ 1 ， y ¯ ′ 1 ) 的更恰当的同态；向 S o u r c e R e w ( m o s t I n f ( ε ) ) 添加一个公式： ∧ ¬ ∃ x ¯ ′ 1 : ( S o u r c e R e w ( m o s t C o m p ( ε ′ ) ) ∧ E Q U A L h c f ( x ¯ 1 ， x ¯ ′ 1 ) ) 3.3.3. 重写算法 现在准备介绍本文的最终重写算法。主要介绍一个映射场景M中扩展规则的概念，由于希望规则被规范化。因此，使用公式 S o u r c e R e w ( m o s t I n f ( ε ) ) 为每个规范化的扩展 ε 都建立一个规则，其中将只有全称量词出现作为前提条件。在 ε 不是规范化的情况下，生成一系列规范化规则，由 n o r m a l i z e ( ε ) 表示， n o r m a l i z e ( ε ) 中每个规范化分量对应一个规则。 定义16. 扩展规则 对于扩展集 e x p a n s i o n s ( M ) 中的每个扩展 ε ，都生成一组扩展规则 e x p a n s i o n R u l e ( ε ) ，其形式如下： ∀ x ¯ 1 : S o u r c e R e w ( m o s t I n f ( ε ) ) ( x ¯ 1 ) → χ i ( x ¯ 1 ， y ¯ 1 ) 其中 χ i ( x ¯ 1 ， y ¯ 1 ) 是 n o r m a l i z e ( ε ) 的规范化分量。映射场景M的扩展规则集如下： Σ M e = { e x p a n s i o n R u l e ( ε ) | ε ∈ e x p a n s i o n s ( M ) } 正如前面几节所讨论的，一个简单的优化是由仅为原子集为核解的扩展生成的扩展规则组成。 为了处理非标准化块，我们在规则结论中寻找适当的同态：我们将公式同态的概念扩展到Skolem公式，将Skolem项考虑为存在量词；然后进一步的进行重写，如下所示： 定义17. 最终重写finalRew() 对于每条属于 Σ M e 的规则r，规则 f i n a l R e w ( r ) 通过如下方式获得： 将在规则选择过程中冗余度较高的规则r称为分解规则。 若r不是分解规则， f i n a l R e w ( r ) = r 。 若r是形式为 r . ϕ ( x ) → ψ ( x ) 的分解规则： i) 首先初始化 f i n a l R e w ( r ) = r ； ii) 对于 Σ M e 中的任意规则 r ′ . ϕ ′ ( x ′ ) → ψ ′ ( x ′ ) ，根据同态 h i f 说明 ψ ′ ( x ′ ) 是比 ψ ( x ) 更具信息性的，向 f i n a l R e w ( r ) 增加一个前提公式 ∧ ¬ ∃ ( x ¯ ′ ) : ( ϕ ′ ( x ′ ) ∧ E Q U A L h i f ( x ¯ ， x ′ ¯ ) ) 。 最后构成了一组新的一阶逻辑规则，具体表示如下： Σ M c = { f i n a l R e w ( r ) | r ∈ Σ M e }