Schemaless and Structureless Graph Querying-vldb2014

来源:互联网 发布:java soa架构案例 编辑:程序博客网 时间:2024/06/03 19:20
1.摘要     
      给定一个查询,一个好的图查询系统应该支持多种转换(同义词、缩略词、简写以及本体等等),并且能够对给出的结果进行排序。
      本文提出了一种新型的查询框架来方便用户查询,本文解决的问题可以概括为为:给定一个查询Q以及数据库G,找出图数据库中所有由Q经转换函数可以转化的图。

2.已有的方法    

Spark查询只需用户输入关键字即可,而无需输入复杂的图结点关系就能得到查询结果。但其只能提取字符串相似匹配,通过修改可以使其支持其它转换。NeMa支持图结构和字符串相似度匹配(Jaccard)。

3.本文方法

3.1.线下操作

  • 定义度量函数(节点匹配代价、边匹配代价、匹配函数)
  • 确定参数
  • 冷启动
   冷启动:冷启动的目的在于如何生成好的查询训练集,从而可以得到好的匹配函数的参数。步骤:
        (1) 从图数据库中随机选择一些子图作为查询模板Q’;

        (2) 将查询模板中的一些结点和边用转换函数进行转化得到查询Q;

        (3) 提取和Q精确匹配的子图Qe

        (4) (Q, Q’)与(Q, Qe)组成训练集。

3.2在线查询

      图查询是NP-hard问题,因此本文给出了两个启发式。

3.2.1 启发式1

将图匹配的代价累加到一个结点上,则每个结点的匹配得分可以代表包括该节点在内的图匹配代价。

每个结点计算公式:


其中mji(t)(ui)表示第t次迭代uj结点对节点ui匹配贡献的得分。


3.2.2 启发式2

利用启发式1进行计算时需要计算大量的结点。由结点匹配代价计算公式可得,对于任意的查询结点v经过相同的转换函数匹配代价相同。基于此将经过同一个结点转换的结点浓缩为一个结点计算,则可以有效减少结点得分的计算个数。由浓缩结点组成的图成为概要图。若查询图中两个结点之间存在边,则连接概要图中对应的结点,而与图数据库无关。其中,边的匹配代价为图数据库中所有这类边的匹配代价的上界。

基于这种发现问题的求解步骤为:

(1) 构造概要图;

(2) 在概要图上利用启发式1计算;

(3) 利用概要图中计算出的结果求原图中与之对应子图的得分。

循环执行直到找到k个结果。


4.online demo

http://slq.cs.ucsb.edu/dev/login.jsp

0 0
原创粉丝点击