26、高效识别 XML 关键字搜索的贡献节点

高效识别 XML 关键字搜索的贡献节点

1. 引言

关键字搜索为用户从 XML 文档中获取所需信息提供了便捷的接口,但由于缺乏精确的查询语义,可能会返回不相关的数据。因此,有许多研究致力于为用户自动推理有意义的答案。

一般来说,XML 文档可以看作是一棵有根树,其中每个节点代表一个元素或内容。基于最近公共祖先(LCA)的方法会首先识别 LCA 节点,该节点的子树中至少包含每个关键字一次。然而,LCA 节点有时对用户的查询不够具体,因此有研究提出了最小最低公共祖先(SLCA)的概念。一个节点被称为 SLCA 需要满足两个条件:一是它是 LCA;二是它没有包含所有查询关键字的后代节点。

例如,对于查询 Q1 = (Jim, POSITION, TEAM NAME),在给定的 XML 树中,LCA 列表是 [1, 1.2, 1.3]。由于节点 1 有后代节点 1.2 和 1.3 也是 LCA,所以只有节点 1.2 和 1.3 是 SLCA。可以看到,对应的两个 TEAM 元素比 LEAGUE 元素(即节点 1)包含更具体的信息。

SLCA 方法基于祖先/后代关系实现了特异性,但它没有区分兄弟节点的重要性。因此,有研究进一步提出了贡献节点的概念。一个节点是贡献节点需要满足:一是它是给定 SLCA 的后代节点或它本身就是 SLCA 之一;二是它没有兄弟节点 n2 使得 dMatch(n2) ⊃ dMatch(n)。

已有研究给出了一个高效的系统 MaxMatch 来产生所需的输出,它包含一个核心模块 PruneMatch 来修剪不太重要的节点。其主要思想是先通过后序遍历收集每个子树代表的关键字,然后在前序遍历中使用这些信息来确定要修剪的节点。虽然 M

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值