【技术实现步骤摘要】
一种图数据上的语义关联搜索的查询松弛方法
本专利技术属于计算机
,涉及图搜索技术,为一种图数据上的语义关联搜索的查询松弛方法。
技术介绍
图数据有着很好的表现力,例如RDF数据,它能够直观地展现实体,即图上的点之间复杂的关系,被应用在越来越多的领域中。特别地,图数据很适合用来回答关联查询。也就是说,给定图上的几个查询实体,查询结果是能够包含这几个查询实体的连通子图,该子图表示的实体及其关系被称为语义关联。图上有很多搜索技术,比较基本的有深度优先搜索、广度优先搜索、以及这两种搜索的一些变种。在处理与图搜索相关的问题时,往往都离不开这两种方法。一般地,图数据是一个有限的有向图,也称为实体关联图,记为G=<E,A,R,l>。其中,E是一个实体集,在图中表示为顶点;A是一个弧集,每条弧a∈A的方向由尾节点t(a)指向头节点h(a),t(a)∈E,h(a)∈E;R是一个关系集;l:A→R代表l标记了弧a(a∈A),并且关系l(a)∈R。对于给定的非空查询实体集合如果一个语义关联x=<Ex,Ax& ...
【技术保护点】
1.一种图数据上的语义关联搜索的查询松弛方法,其特征是将语义关联看作树形,树中的叶子节点都为实体,其中用于搜索的实体为查询实体,语义关联的直径为任意两个实体间的最大距离,对于给定的实体关联图G和直径约束D,以及非空查询实体集合Q,计算出Q的最大成功子查询集合Q
【技术特征摘要】
1.一种图数据上的语义关联搜索的查询松弛方法,其特征是将语义关联看作树形,树中的叶子节点都为实体,其中用于搜索的实体为查询实体,语义关联的直径为任意两个实体间的最大距离,对于给定的实体关联图G和直径约束D,以及非空查询实体集合Q,计算出Q的最大成功子查询集合Qmax用于搜索,实现查询松弛;
计算Qmax时首先分别计算所有查询实体qe的优先级pr,建立元组<qe,qe,pr>,将其加入优先队列中,只要优先队列不为空,就取出队首元组,即当前优先队列中优先级最高的元组,对队首元组的查询实体qe进行验证,以队首元组的查询实体qe为验证点,计算相对于验证点满足距离条件的所有查询实体得到子查询集合Qe,作为最优解,如当前元组计算的Qe大于前一组元组的Qe,则更新最优解,直至当前实体的优先级已经无法得出更优的解,则终止,得到的最大Qe即为最大成功子查询集合Qmax;所述距离条件为:
(1)任意一个子查询集合中的查询实体到验证点的距离不超过
(2)如果直径约束是奇数,则对于所有到验证点距离为的查询实体,验证点有一个邻居点,邻居点到这些查询实体的距离为
2.根据权利要求1所述的一种图数据上的语义关联搜索的查询松弛方法,其特征是进一步包括以下步骤:
(1)初始时建立一个空的优先队列pq,该优先队列为一个最大堆,存储的元素为元组<实体,起始实体,优先级>,记为<e,sqe,pr>,Qmax初始为空集,用于记录当前最优解,设置一个checked集合用于记录已经被验证过的实体,首先对于每个查询实体qe,计算优先级pr,得到元组<qe,qe,pr>加入pq,并在实体访问列表visitedqe中加入qe,对于e,其优先级pr的计算如下:
pr(e)=|{sqe}∪{qe∈(Q{sqe}):dist(e,sqe)+dist(e,qe‘)≤D}|
其中sqe代表e的起始查询实体,所有元组中的查询实...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。