Top-k queries on RDF graphs-Information Sciences2015

  1. 问题描述
    本文解决的问题可以描述为:在RDF图上查找语义上top-k的结果。例如:“找出欧洲经济增长最快的两个国家”“哪3个国家和相邻的国家具有最大的国土面积差异?”
  2. 概述
    由于top-k问题总是和数值的大小相关,所以文章主要关心的是顶点的数值信息。本文提出的方法由一个新的树结构索引MS-Tree、基于MS-Tree树的过滤器和模式匹配函数组成。首先,基于MS-Tree自顶向下从RDF数据中选择出那些候选实体并排序,然后通过图形搜索进行匹配。文章所做的工作可以概括为以下两点:(1)根据数值,用数值属性和查询语义来定义数据模型。(2)引入一个新的树形结构索引MS-Tree。根据MS-Tree 我们可以得到一个紧密的上界来尽早得到我们的查询结果,同时还利用了一个评估算法来得到最终的查询。

  3. 步骤
    一般的top-k查询做的工作是1.找到所有的匹配;2,计算每一个匹配的分数;3.对这些分数进行排序;4.得到前k个结果。本文对于这个步骤进行了简化,提高效率。本文利用MS-Tree来找到所有按照数值属性进行排序的实体,然后从一个实体出发,搜索这个实体周围的节点来找到那些匹配。对于那些还未搜索到的点,定义了一个上界,基于这个上界进行剪枝,当找到k个结果或者剩下的节点的最大值比上界小就停止。
  4. MS-Tree
    MS-Tree是一棵满足一下要求的树:
    • 是一棵高度平衡树;
    • 每一个节点有三个属性:一个二进制子串,数值属性的最大值与最小值,和他的子节点;
    • 树有一个节点约束N,除了根节点和叶节点,每一个节点的儿子节点的数目满足在N/2到N之间;
    • 每一个节点的二进制编码都是根据RDF图中节点邻居来编码的,节点的最大值和最小值的设定分别是数值属性的最大值和最小值;
    • 每一个父节点的二进制编码都是儿子节点的或运算;
    • 每一个非叶结点的最大值和最小值等于他子孙节点的最大值和最小值;
      构造过程:
    • 编码阶段:为每一个实体构造一个标签(二进制子串);
    • 构造阶段:根据标签构造S-Tree;
    • 为每一个节点分配最大值和最小值。


  5. 查询处理
    查询处理可以分为两个阶段:第一阶段:自顶向下访问树节点,当一个节点和分数函数有关的时候,把他们按照数值属性大小排序,当到达叶节点的时候,很有可能利用它来构造候选集;第二阶段,利用图搜索方法搜索匹配查询,当找到当找到k个结果或者剩下的节点的最大值比上界小就停止。同时,当查询涉及到多个属性的时候,定义了一个优化算法来优化性能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值