本文由学者Lei Zou, M. Tamer Özsu, Lei Chen, Xuchuan Shen, Ruizhe Huang & Dongyan Zhao于2014/08/01在《The VLDB Journal 》联合发表
原文下载链接文末自取
给定SPARQL查询Q,先将其编码为查询签名图Q*。然后,在G*上找到Q的匹配。最后,验证是否每个在G*上的Q*匹配也是Q相对于G的匹配。在VS*-tree中自上而下查找匹配项,基本查询处理算法1如下:
首先,在VS-tree中找到G1上的Q*2匹配并插入队列H,得出其摘要匹配并压入队列H。从H弹出摘要匹配并将其扩展到其子状态(子状态=自身做笛卡尔积运算)。从H迭代弹出摘要匹配项,重复此过程直到叶节点。最后,在VS*-tree的叶结点上找到Q*的匹配。
基本BVS-Query算法通过减少Q中每个查询顶点的候选项,而不是改进在非叶子级别查找摘要匹配项,改进算法称为VS*-Query(即算法2)。给定Q中的顶点vi,节点di ∈GI)VS*-tree不能匹配vi,当且仅当下列条件之一成立:
使用了算法2优化了VS*-tree中的引入,使用算法3找到了Q*的匹配项: