SINBAD:实现结构无关的公共邻居查询
在数据查询领域,如何实现结构无关的公共邻居查询是一个重要的问题。本文将介绍一种名为SINBAD的算法,它能够利用节点局部性信息来评估邻居轴,实现结构无关的查询。
邻居轴的概念
邻居轴用于选择两个上下文节点的公共节点。即使文档结构发生变化,与两个节点都相关的公共节点在语义上仍然与这些节点相关。节点的局部性是指与上下文节点相关的所有(局部)节点的集合。因此,邻居轴选择的公共节点应该同时位于两个输入节点的局部性范围内。
例如,如果想知道Hill和Antoni的共同团队,结果应该是公共局部性中的唯一团队节点(纽约尼克斯队)。但如果查询与Hill和Antoni相关的公共名称节点,这个查询就具有歧义性,此时邻居轴应返回这两个节点公共局部性中的所有名称节点。
邻居轴节点的定义如下:设 $c_1$ 和 $c_2$ 为两个上下文节点,$\ell$ 为该步骤的名称测试。$c_1$ 和 $c_2$ 带有标签 $\ell$ 的邻居节点,记为 $neighborhood(c_1, c_2, \ell)$,是一个节点列表 $[n_1, n_2, \ldots, n_j]$,其中:
- $n_1, n_2, \ldots, n_j \in N$ 且 $j \geq 1$
- $\forall n_i \in neighborhood(c_1, c_2, \ell)$,$L(n_i) = \ell$
- $\forall n_i \in neighborhood(c_1, c_2, \ell)$,$n_i \in Locality(c_1) \land n_i \in Locality(c_2)$
- $\fo
超级会员免费看
订阅专栏 解锁全文
10

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



