CN111026750A - 用AIR树解决SKQwhy-not问题的方法及系统 - Google Patents

用AIR树解决SKQwhy-not问题的方法及系统 Download PDF

Info

Publication number
CN111026750A
CN111026750A CN201911128645.2A CN201911128645A CN111026750A CN 111026750 A CN111026750 A CN 111026750A CN 201911128645 A CN201911128645 A CN 201911128645A CN 111026750 A CN111026750 A CN 111026750A
Authority
CN
China
Prior art keywords
query
node
objects
nodes
leaf
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201911128645.2A
Other languages
English (en)
Other versions
CN111026750B (zh
Inventor
李艳红
冯禹鹤
张望
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
South Central Minzu University
Original Assignee
South Central University for Nationalities
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by South Central University for Nationalities filed Critical South Central University for Nationalities
Priority to CN201911128645.2A priority Critical patent/CN111026750B/zh
Publication of CN111026750A publication Critical patent/CN111026750A/zh
Application granted granted Critical
Publication of CN111026750B publication Critical patent/CN111026750B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2246Trees, e.g. B+trees
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2453Query optimisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24564Applying rules; Deductive queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/248Presentation of query results
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种用AIR树解决SKQwhy‑not问题的方法及系统,涉及空间关键字查询技术领域,本发明通过将对象的数字属性以布尔表达式的形式表示,更接近现实应用场景;并设计AIR树来巧妙的组织对象信息,同时设计出相应的查询策略,实现通过修改查询q',用最小的修改代价,满足在查询结果中所有缺失对象均出现,进而解决空间关键字查询中why‑not问题的方法及系统。

Description

用AIR树解决SKQwhy-not问题的方法及系统
技术领域
本发明涉及空间关键字查询技术领域,具体涉及一种用AIR树解决SKQwhy-not问题的方法及系统。
背景技术
随着越来越多的对象与地理位置和文本描述相关联,空间关键字查询(SKQ)已经被提出且被广泛的研究。在现实生活中,对象一般具有其他的数字属性,例如平均价格、比率、流行度等。如果在查询中没有考虑到这些限制的条件,通常不可能或者很难得到用户所要的结果。因此,为了满足查询用户在这些属性上的限制条件和精炼查询过程,空间关键字查询需要考虑到数字属性。
本文主要针对top-k增强型空间关键字查询。在检索top-k对象时,该类查询首先检索满足q查询中的数字属性要求的对象,然后根据查询点与对象之间的空间距离和文本相似性的综合得分进行排名。图1给出的是一个增强型空间关键字查询的一个示例,表1给出的是对象的文本信息和相关属性信息。
表1:图1中对象的相关信息
Figure BDA0002277657580000011
Figure BDA0002277657580000021
如图1所示,用户发起一个关于关键字cafe的查询,其中平均价格不超过42美元、评分高于4.3分、流行度大于700。然后这些增强性的需求可以用一个布尔表达式来表示:(avg-price<42∧Rating>4.3∧Popularity>700)。首先,对象o3、o5、o8满足以上增强性查询需求,然后根据对象o3、o5、o8与查询q之间的文本匹配和空间匹配程度,可以使用所选择的排序函数返回排序在前的前三个对象。除此之外,由于o1与q没有相同的关键字,所以o1被忽略;o2、o4、o6、o7也被忽略,因为它们都不满足查询属性要求。
然而,在某些情况下,当用户想要的对象没有出现在查询结果集中,用户可能会思考为什么这些想要的对象没有出现在查询结果集中,如何将他们想要的对象添加到查询结果集中。例如,在用户发起一个查询并且得到包含o3、o5、o8的查询结果后,他或许想知道为什么他们熟悉的对象o1、o6没有出现在查询结果集中,o3、o5、o8难道真的比o1、o6好吗?他们如何才能使他们熟悉的对象o1、o6出现在查询结果集中?
在获取查询结果后,用户可能发现他们想要某些对象不在查询结果集中,从而他们就会质疑整个查询结果。解决为什么这些想要的对象缺失以及如何高效地检索出用户想要的查询对象的问题就称为why-not问题。然而,目前尚未有解决增强型的空间关键字top-k查询中why-not问题的相关技术。因此,亟需一种能够解决增强型空间关键字top-k查询中why-not问题的技术方案。
发明内容
针对现有技术中存在的缺陷,本发明的目的在于提供一种用AIR树解决SKQwhy-not问题的方法及系统,有效解决空间关键字查询中why-not问题。
为达到以上目的,本发明采取的技术方案是:一种用AIR树解决SKQwhy-not问题的方法,包括以下步骤:
获取所有对象o,构建AIR树索引;
获取初始查询q=(q.loc,q.doc0,q.B,k,α)和缺失对象集M;根据缺失对象的关键字的频率递减的顺序构建候选关键字列表CKS、根据缺失对象的相似性得分递减的顺序构建候选属性值对列表CAS;将精炼查询q'的关键字集q'.doc和属性值对q'.B'分别设置为q.doc0和q.B;
有序地抽取CKS中的关键字和CAS中的属性值对,分别添加至查询q'的关键字集q'.doc和查询q'的属性值对q'.B'中,形成新的精炼查询q';分别对各个精炼查询q'进行处理以找出最佳精炼查询,直至CKS和CAS都为空;
分别对各个精炼查询q'进行处理,具体包括:
计算q'的修改代价p',过滤掉p'≥pc的查询q',pc为保留初始查询关键字和属性、且所有的缺失对象都出现在查询结果中的查询qb的修改代价;
对于p'<pc的查询q',根据预设的非叶子结点筛选规则选出符合条件的AIR树的非叶子结点,得出待筛选的叶子结点的集合,根据预设的叶子结点筛选规则选出符合条件的AIR树的叶子结点;
将符合条件的叶子结点指向的对象添加到满足查询q'要求的对象中,并计算查询q'和对象之间的相似性得分;
对满足查询q'要求的对象中的所有对象均根据其相似性得分从高至低排序,直到所有原始结果对象和所有缺失对象均出现,获得k'个对象;
如果k'≤km,km为保留初始查询关键字和属性、且所有的缺失对象都出现在查询结果中时结果集的大小,则计算q'的修改代价p',如果p'<pc,则将查询q'作为当前最佳精炼查询。
在上述方案的基础上,获取所有对象o,构建AIR树索引,具体包括以下步骤:
AIR树的每一个非叶子结点Ri包含四个属性:
<Ri.id,Ri.MBR,Ri.S,Ri.Address>,其中Ri.id是结点的id,Ri.MBR是包含结点Ri中所有对象的最小边界矩形,Ri.Address是Ri的所有子结点的地址列表,Ri.S是Ri中所有子结点的属性值对的并集;每一个非叶子结点Ri与一个倒排文件相关联,所述倒排文件由关键字列表组成,每个关键字都指向包含该关键字的Ri的子节点的ID的列表;
AIR树的每一个叶子结点Ri中每个对象oj的信息包含三个属性:(oj.id,oj.loc,oj.S),其中oj.id是对象id,oj.loc是oj的空间位置,oj.S是oj的属性值对。
在上述方案的基础上,B为布尔表达式:
Figure BDA0002277657580000041
Figure BDA0002277657580000051
为一个谓词集合,其中i∈[1,n],i∈N*
在上述方案的基础上,计算q'的修改代价p',计算公式为:
Figure BDA0002277657580000052
其中,β1,β2,β3,β4分别表示是cost函数中k值、关键字、属性种类、属性值的权重;βi≥0且
Figure BDA0002277657580000053
k'是精炼查询q'的查询结果集的大小,k0是初始查询q的结果集的大小,km是保留初始查询关键字和属性,且所有的缺失对象都出现在查询结果中时结果集的大小,用km-k0规范化k'-k0;Δdoc是从q.doc0调整到q'.doc所需改变的关键字的数量,
Figure BDA0002277657580000054
其中缺失对象集M={m1,m2,...,mj},通过|q.doc0∪M.doc|来规范化Δdoc;ΔAn是从初始查询调整到精炼查询所需改变的属性种类的数量,通过|q.B∪M.B|来规范化ΔAn
Figure BDA0002277657580000055
n是q.B和M.B所包含的属性的总和;Δvi是包含属性Ai的所有对象关于该属性的属性值的最大差值;|vi'-vi|是属性Ai中当前查询属性值vi'与初始查询属性值vi之间的差值的绝对值,且|vi'-vi|≤Δvi,通过Δvi来规范化|vi'-vi|。
在上述方案的基础上,计算查询q和对象o之间的相似性得分,计算公式为:
Figure BDA0002277657580000056
其中α是0到1之间的一个变量,用来定义距离邻近度与文本相关性之间的相对重要性,d(q.loc,o.loc)表示的是查询q与对象o之间的欧氏距离,dmax(q.loc,O.loc)表示的是查询点q到对象集合O中的所有对象的最大距离,用对象集O中所有对象间距离的最大值表示。
在上述方案的基础上,根据预设的非叶子结点筛选规则选出符合条件的AIR树的非叶子结点,得出待筛选的叶子结点的集合;根据预设的叶子结点筛选规则选出符合条件的AIR树的叶子结点,具体包括以下步骤:
将AIR树的非叶子结点加入待处理的非叶子结点集合;
判断待处理的非叶子结点集合中当前结点是否满足非叶子结点筛选规则;
若不满足,过滤掉该结点;若满足,则该结点是符合条件AIR树的非叶子结点,读取该非叶子结点的所有子结点,若其子结点为非叶子结点,将其子结点加入待处理的非叶子结点集合,若其子结点为叶子结点,将其子结点加入待筛选的叶子结点的集合;
判断待筛选的叶子结点中当前节点是否满足叶子结点筛选规则;若满足,记录为符合条件的AIR树的叶子结点,否则,过滤掉该结点。
在上述方案的基础上,所述非叶子结点筛选规则为:
a)是AIR树的非叶子结点;
b)在该结点上具有查询q'的所有属性类别;
c)查询q'的每一个属性值范围与该结点的对应属性值范围有交集;
d)查询q'的关键字与该结点的倒排文件关键字符合关键字匹配;
e)满足关于q'和结点的之间空间距离的不等式:
Figure BDA0002277657580000071
在上述方案的基础上,所述叶子结点筛选规则为:
a)查询q'与该结点满足综合匹配;
b)查询q'和该结点之间的空间距离满足以下不等式:
Figure BDA0002277657580000072
本发明提供一种用AIR树解决SKQwhy-not问题的系统,包括:
AIR树索引构建模块,其用于:获取所有对象o,构建AIR树索引;
候选列表构建模块,其用于:获取初始查询q=(q.loc,q.doc0,q.B,k,α)和缺失对象集M;根据缺失对象的关键字的频率递减的顺序构建候选关键字列表CKS、根据缺失对象的相似性得分递减的顺序构建候选属性值对列表CAS;将精炼查询q'的关键字集q'.doc和属性值对q'.B'分别设置为q.doc0和q.B;
精炼查询模块,其用于:有序地抽取CKS中的关键字和CAS中的属性值对,分别添加至查询q'的关键字集q'.doc和查询q'的属性值对q'.B'中,形成新的精炼查询q';分别对各个精炼查询q'进行处理以找出最佳精炼查询,直至CKS和CAS都为空;分别对各个精炼查询q'进行处理,具体包括:
计算q'的修改代价p',过滤掉p'≥pc的查询q',pc为保留初始查询关键字和属性、且所有的缺失对象都出现在查询结果中的查询qb的修改代价;
对于p'<pc的查询q',根据预设的非叶子结点筛选规则选出符合条件的AIR树的非叶子结点,得出待筛选的叶子结点的集合,根据预设的叶子结点筛选规则选出符合条件的AIR树的叶子结点;
将符合条件的叶子结点指向的对象添加到满足查询q'要求的对象集中,并计算查询q'和对象之间的相似性得分;
对满足查询q'要求的对象集中的所有对象均根据其相似性得分从高至低排序,直到所有原始结果对象和所有缺失对象均出现,获得k'个对象;
如果k'≤km,km为保留初始查询关键字和属性、且所有的缺失对象都出现在查询结果中时结果集的大小,则计算q'的修改代价p',如果p'<pc,则将查询q'作为当前最佳精炼查询。
在上述方案的基础上,AIR树索引构建模块具体用于:
获取所有对象o,构建AIR树索引;
AIR树的每一个非叶子结点Ri包含四个属性:<Ri.id,Ri.MBR,Ri.S,Ri.Address>,其中Ri.id是结点的id,Ri.MBR是包含结点Ri中所有对象的最小边界矩形,Ri.Address是Ri的所有子结点的地址列表,Ri.S是Ri中所有子结点的属性值对的并集;每一个非叶子结点Ri与一个倒排文件相关联,所述倒排文件由关键字列表组成,每个关键字都指向包含该关键字的Ri的子节点的ID的列表;
AIR树的每一个叶子结点Ri中每个对象oj的信息包含三个属性:(oj.id,oj.loc,oj.S),其中oj.id是对象id,oj.loc是oj的空间位置,oj.S是oj的属性值对。
在上述方案的基础上,B为布尔表达式:
Figure BDA0002277657580000081
Figure BDA0002277657580000091
为一个谓词集合,其中i∈[1,n],i∈N*
在上述方案的基础上,所述精炼查询模块具体用于:
将AIR树的非叶子结点加入待处理的非叶子结点集合;
判断待处理的非叶子结点集合中当前结点是否满足非叶子结点筛选规则;
若不满足,过滤掉该结点;若满足,则该结点是符合条件AIR树的非叶子结点,读取该非叶子结点的所有子结点,若其子结点为非叶子结点,将其子结点加入待处理的非叶子结点集合,若其子结点为叶子结点,将其子结点加入待筛选的叶子结点的集合;
判断待筛选的叶子结点中当前节点是否满足叶子结点筛选规则;若满足,记录为符合条件的AIR树的叶子结点,否则,过滤掉该结点。
在上述方案的基础上,所述非叶子结点筛选规则为:
a)是AIR树的非叶子结点;
b)在该结点上具有查询q'的所有属性类别;
c)查询q'的每一个属性值范围与该结点的对应属性值范围有交集;
d)查询q'的关键字与该结点的倒排文件关键字符合关键字匹配;
e)满足关于q'和结点的之间空间距离的不等式:
Figure BDA0002277657580000092
在上述方案的基础上,所述叶子结点筛选规则为:
a)查询q'与该结点满足综合匹配;
b)查询q'和该结点之间的空间距离满足以下不等式:
Figure BDA0002277657580000101
与现有技术相比,本发明的优点在于:
本发明通过将对象的数字属性以布尔表达式的形式表示,更接近现实应用场景;并设计AIR树来巧妙的组织对象信息,同时设计出相应的查询策略,AIR树充分利用了空间修剪和文本修剪功能,以尽早减少不合格的索引树分支。本发明通过修改查询q',用最小的修改代价,满足在查询结果中所有缺失对象均出现,进而实现解决空间关键字查询中why-not问题。
附图说明
图1为背景技术的对象集实例示意图;
图2为本发明实施例的用AIR树对对象进行划分的示意图;
图3为本发明实施例的AIR树索引的一个实例的结构示意图;
图4为本发明实施例的基于AIR树索引的算法示意图。
具体实施方式
本发明实施例提供一种用AIR树解决SKQwhy-not问题的方法,包括以下步骤:
获取所有对象o,构建AIR树索引;
获取初始查询q=(q.loc,q.doc0,q.B,k,α)和缺失对象集M,q.loc表示查询q所在位置,q.doc0表示查询q关键字集,q.B为布尔表达式,用来表示属性值对,k表示取查询结果排名的前k位,a为0到1之间的一个变量,用来定义距离邻近度与文本相关性之间的相对重要性;根据缺失对象的关键字的频率递减的顺序构建候选关键字列表CKS、根据缺失对象的相似性得分递减的顺序构建候选属性值对列表CAS;将精炼查询q'的关键字集q'.doc和属性值对q'.B'分别设置为q.doc0和q.B;
有序地抽取CKS中的关键字和CAS中的属性值对,分别添加至查询q'的关键字集q'.doc和查询q'的属性值对q'.B'中,形成新的精炼查询q';分别对各个精炼查询q'进行处理以找出最佳精炼查询,直至CKS和CAS都为空;
分别对各个精炼查询q'进行处理,具体包括:
计算q'的修改代价p',过滤掉p'≥pc的查询q',pc为保留初始查询关键字和属性、且所有的缺失对象都出现在查询结果中的查询qb的修改代价;
对于p'<pc的查询q',根据预设的非叶子结点筛选规则选出符合条件的AIR树的非叶子结点,得出待筛选的叶子结点的集合,根据预设的叶子结点筛选规则选出符合条件的AIR树的叶子结点;
将符合条件的叶子结点指向的对象添加到满足查询q'要求的对象集中,并计算查询q'和对象之间的相似性得分;
对满足查询q'要求的对象集中的所有对象均根据其相似性得分从高至低排序,直到所有原始结果对象和所有缺失对象均出现,获得k'个对象;
如果k'≤km,km为保留初始查询关键字和属性、且所有的缺失对象都出现在查询结果中时结果集的大小,则计算q'的修改代价p',如果p'<pc,则将查询q'作为当前最佳精炼查询。
以下结合附图对本发明的实施例作进一步详细说明。
一、增强型空间关键字top-k查询的定义
谓词是构成布尔表达式的基本组件。给定四元组(A,fopt,fopd,x),其中A是属性,fopt是操作数,fopd是操作符,x是输入的值,可以更方便地定义谓词。
定义1:谓词。
如果一个映射函数p满足
Figure BDA0002277657580000121
那么
Figure BDA0002277657580000122
就是一个谓词。其中,若输入值x在谓词规定范围内,那么映射函数将返回1,否则就返回0。
定义2:布尔表达式。
已知一个谓词集合
Figure BDA0002277657580000123
其中i∈[1,n],i∈N*,那么布尔表达式B可以定义如下:
Figure BDA0002277657580000124
定义3:文本-空间对象。
已知一个空间点o.loc,一组关键字集合o.doc和一组属性-值对{<A1,v1>,...,<Ai,vj>,...,<An,vn>},文本空间对象o可以表示如下:
o=<o.loc,o.doc,o.S>,其中o.S={(A1=v1)∩(A1=v1)∩…∩(An=vn)}
定义4:增强型空间关键字查询。
已知一个空间点q.loc,一个关键字集合q.doc0和一个布尔表达式q.B,那么一个增强型空间关键字查询q可以表达为:
q=<q.loc,q.doc0,q.B>
定义5:关键字匹配。
对于查询q和对象o,当且仅当q.doc和o.doc包含相同的关键字时,查询q和对象o才称为关键字匹配,也即:q.doc∩o.doc≠φ
这里使用
Figure BDA0002277657580000131
表示关键字匹配
定义6:属性匹配。
对于查询q和对象o,当且仅当满足以下两个条件:a)q.B中的所有属性都包含在o.S中;b)
Figure BDA0002277657580000132
(假设属性q.B中的属性Ai与o.S中的属性Ai'相等),
Figure BDA0002277657580000133
其中:
Figure BDA0002277657580000134
(Ai'=vi')∈o.S,那么查询q和对象o就是属性匹配。
使用
Figure BDA0002277657580000135
表示属性匹配
定义7:综合匹配。
当且仅当增强型空间关键字查询q和文本空间对象o同时满足关键字匹配和属性匹配时,q和o就是综合匹配,也即:
Figure BDA0002277657580000136
这里使用
Figure BDA0002277657580000137
表示综合匹配
现在定义一个Rank函数来度量查询q和对象o之间的相似性得分:
Figure BDA0002277657580000138
其中α是0到1之间的一个变量,用来定义距离邻近度与文本相关性之间的相对重要性,d(q.loc,o.loc)表示的是查询q与对象o之间的欧氏距离,dmax(q.loc,O.loc)表示的是查询点q到对象集O中的所有对象的最大距离,具体用对象集O中所有对象间距离的最大值表示。
定义8:增强型空间关键字top-k查询。
已知一个对象集合O,增强型空间关键字top-k查询q=(loc,doc0,B,k,α)检索一个对象集合O’,
Figure BDA0002277657580000141
它满足:|O’|=k,且
Figure BDA0002277657580000142
o’∈O-O’,Rank(q,o)>Rank(q,o’).
二、增强型空间关键字top-k查询中的why-not问题
当用户发起一个增强型Top-k空间关键字查询q=(loc,doc0,B,k,α),如果查询参数,例如文本描述、查询属性、k值和α设置不合理,这就会导致一个或者多个用户期望的对象可能意外缺失了,这种对象就称为缺失对象,用M={m1,m2,...,mj}表示。从而用户将会提出一个关于缺失对象集M={m1,m2,...,mj}的why-not问题,来询问为什么这些期望的对象会缺失,并寻求一个完善的、能够包含所有缺失对象的结果集的精炼查询q'=(loc,doc,B',k',α)。由于查询的位置通常是确定的,所以可以通过改变查询关键字集合、布尔表达式、k值和α值来改善初始查询。
考虑到精炼查询q'的结果集包含所有的缺失对象,使q'.doc除了包含原始关键字集,也将部分或者所有的缺失对象的关键字包含进去,即,CKS是一个按照关键字频率排序的缺失对象的有序关键字列表,函数Out_List(CKS)表示从CKS中取出第一个关键字,并返回该关键字。例如在例1中通过查询q筛选掉o1,o2,o4,o6,o7,假如o4和o6是缺失的对象,关键字“center”的频率高于关键字“Cosmic”,那么在CKS中“center”就排在“Cosmic”的前面,此时CKS={“center”,“Comic”}。类似的,让q'.B'满足除原始属性值对集之外的、所有缺失对象的每个属性值对的要求,即,CAS表示的是按照对象相似性得分排序的、缺失对象的有序属性值对列表。函数Out_List(CAS)表示从CAS中取出、并返回第一个属性值对。综合以上例子,假设o4的相似性得分排名比o6的高,因此o4的属性值对就排在o6的属性值对前面。这是因为高得分对象一般是用户更加期望得到的,所以他们的属性值更符合用户的需求。因此,优先考虑o4的属性值对,我们可以得到:
q′.B′=q.B∪Out_List(CAS)=q.B∪o4.B=(avg-price≤42)∧(Rating>4.3)∧Popularity>700)
其中,q.B=(avg-price<42∧Rating>4.3∧Popularity>700),o4.S=(avg-price=42∧Rating=4.4∧Popularity=900)。
由于o6仍然不满足此精炼查询,因此考虑其属性值对,即,o6.S=(avg-price=35∧Rating=4.6∧Popularity=NULL),因而使得q′.B′=(avg-price≤42)∧(Rating>4.3)。
考虑到改变不同查询参数的值会对查询的优化产生不同的影响,精炼查询q'与初始查询q之间的修改代价可以定义如下:
Figure BDA0002277657580000151
其中,β1,β2,β3,β4分别表示是cost函数中k值、关键字、属性种类、属性值的权重。βi≥0且
Figure BDA0002277657580000152
k'是精炼查询q'的查询结果集的大小,k0是初始查询q的结果集的大小,用km-k0规范化k'-k0。这是因为在许多前人的研究中,是通过保留初始查询关键字和属性,增大k0到km直到所有的缺失对象都出现在查询结果集中的方法来获取基本的精炼查询qb。与之相反,较佳的精炼查询可以通过修改k值、关键字、属性种类和属性值来使得查询修改代价降低。其中k'-k0小于或等于km-k0。Δdoc是从q.doc0调整到q'.doc所需改变关键字的数量,
Figure BDA0002277657580000153
其中缺失对象集M={m1,m2,...,mj}。这里通过|q.doc0∪M.doc|来规范化Δdoc;ΔAn是从初始查询调整到精炼查询所需改变的属性种类的数量,这里通过|q.B∪M.B|来规范化ΔAn;然后
Figure BDA0002277657580000161
n是q.B和M.B所包含的属性的总和。Δvi是包含属性Ai的所有对象关于该属性的属性值的最大差值。|vi'-vi|是属性Ai中当前查询属性值vi'与初始查询属性值vi之间的差值的绝对值,且|vi'-vi|≤Δvi。这里通过Δvi来规范化|vi'-vi|。
ΔAn和Δdoc可以通过编辑距离来计算。在图1的例子中,将初始查询q修改成精炼查询q',其中q'.doc="{cat},{cafe}",q'.A=(avg-price<42)∪(Rating>4.5)∪(Popularity>700),则ΔAn=1,Δdoc=1。
三、采用AIR树索引的解决空间关键字查询中why-not问题的方法
IR树是R-树的变种,它是一棵将倒排文件与R-tree的一些结点组合而形成的混合索引。对于同时包含空间信息和文本信息的数据,它具有很高的检索和查询效率。本发明实施例设计了一种将数值属性引入到IR树中的索引,称为AIR树,用于解决增强型空间关键字top-k查询的why-not问题。
AIR树的每一个非叶子结点Ri都包含了四个属性<Ri.id,Ri.MBR,Ri.S,Ri.Address>,其中Ri.id是结点的id,Ri.MBR是包含结点Ri中所有对象的最小边界矩形,Ri.Address是Ri的所有子结点的地址列表,Ri.S是Ri中所有子结点的属性值对的并集。例如在图1中,o1.S=(avg.price=43∧Rating=4.5∧Popularity=1000),o4.S=(avg-price=42∧Rating=4.4∧popularity=900),正如图2所示R4包含对象o1、o4,因此:
R4.S=Cover(o1.S,o4.S)
=(avg-price∈[42,43])∧(Rating∈[4.4,4.5])∧(Popularity∈[900,1000])
在这里,函数Cover(oi.S,oj.S)返回的是一个值区间的列表,其中对每个属性Ak,Ak∈oi.S∪oj.S,其对应的值区间都覆盖oi.S.Ak和oj.S.Ak之间的范围。其中Cover()函数也适用于两个非叶子结点Ri和Rj,同时适用于多个参数的情形。同理,R5.S=(avg-price=40)∧(Rating∈[4.4,4.4])∧(Popularity∈[800,1000])。
除此之外,每一个非叶子结点Ri与一个倒排文件相关联,所述倒排文件由关键字列表组成,每个关键字都指向包含该关键字的Ri的子节点的ID的列表。
对于AIR树的每一个叶子结点Ri,它将Ri中每个对象oj的信息包存为三元组(oj.id,oj.loc,oj.S)。其中oj.id是对象id,oj.loc是oj的空间位置,oj.S是oj的属性值对。
表2:图3的Inverted file 2
keyword Child nodes which satisfy keyword matching with query q
Starbucks R<sub>4</sub>
Caf R<sub>4</sub>,R<sub>5</sub>
Cat R<sub>5</sub>
Central R<sub>4</sub>
图2给出图1中文本空间对象的划分结果。图3给出对图2中对象构造的AIR树索引。表2显示了图3中的倒排文件2的相关信息。在图3中,AIR树的每个非叶结点都链接一个唯一的倒排文件。在查询处理过程中,可以根据结点的倒排文件和属性摘要对结点的子树进行修剪,以提高查询处理效率。例如,根据链接到结点R2的倒排文件2,当查询关键字为“StarBucks”时,可以直接确定R2的子结点R4被访问,而另一个子结点R5被安全地忽略。这是因为,正如表2所示R4包含关键字“StarBucks”的对象,而R5不包含这样的对象。此外,每个AIR树结点n包含唯一的属性摘要。结点n的属性摘要是通过调用函数Cover(),将其所有子结点的属性摘要作为函数参数而获得的。通过比较查询属性和结点属性摘要,可以确定树结点的某些子树是否被修剪。例如,R6.Rating的属性值范围为[4.5,4.6],这是由于o5.Rating=4.5和o6.Rating=4.6。类似地,R7.Rating的值范围也为[4.3,4.6],因而R3.Rating的值范围也为[4.3,4.6]。如果查询属性q.Rating要求为“>4.6”,则可以安全地修剪R3的子树。
参见图4所示,算法1阐述了基于AIR树的增强型空间关键字top-k查询why-not问题处理的详细步骤。在处理初始查询之后,某些用户期望的对象可能会从查询结果集中缺失。解决why-not问题主要目标是找到具有最低代价的精炼查询,其结果集既包含初始查询结果集中的对象,又包含用户所需的缺失对象。
基于AIR树的方法以AIR树索引、初始查询q,缺失对象集M、候选关键字列表CKS、候选属性值对列表CAS、基本精炼查询qb中的修改代价pc、qb中查询结果对象的数量km、qb的结果集中的对象的最低相似性得分Rm作为算法的输入,并输出最佳的精炼查询q'。具体而言,CKS是根据关键字的频率递减的顺序排列的缺失对象的关键字有序列表,而CAS是根据缺失对象的相似性得分递减的顺序排列的缺失对象的属性值对有序列表。这两个列表是预先构建的,候选关键字和候选属性值对的处理顺序在获取精炼查询中起着重要作用。对于Pc,其值等于使用式(2)计算所得的cost(q,qb)。qb是之前讨论过的基本精炼查询。将队列D、队列D’、指针TNode、集合RRS初始化为空,分别用来存储符合条件的AIR树结点、符合条件的AIR树的叶子结点、正在访问的AIR树结点和满足精炼查询要求的对象(算法1第4行)。接下来,将精炼查询q'的关键字集q'.doc和属性值对q'.B'分别设置为q.doc0和q.B(第5行)。
下面,将有序地抽取CKS中的关键字和CAS中的属性值对,并分别将它们添加到q'.doc和q'.B'中形成新的精炼查询,对这些精炼查询进行处理以找出最佳的精炼查询,直到CKS和CAS都为空。
第7-30行给出的是每一个精炼查询q'的处理步骤。首先,通过参数修改获得查询q'。特别是,将CKS中的第一个关键字和CAS中的第一个属性值对取出,并分别添加到q'.doc和q'.B'中(第7-8行)。令k'等于k0(第9行)。在这里,函数Out_List(CKS)取出其第一个关键字并返回此关键字,而函数Out_List(CAS)的作用类似于Out_List(CKS)。然后,可以根据式(2)计算q'的修改代价p',以尽早过滤比qb修改代价高的精炼查询。当p'≥pc时,循环终止(第10-12行)。否则,将继续对q'的处理过程:将AIR树的根结点入队到队列D(第13行),然后依次将AIR树的合格非叶子结点入队到队列D进行处理,其处理结果是得到用来存储合格的叶子结点的队列D'(第14-21行)。
当队列D不为空时,按如下顺序处理队列D中的元素:1)弹出队列D的头元素(结点)并让指针TNode指向该结点(第15行);2)如果指针TNode指向的结点满足以下要求:a)是AIR树的非叶子结点;b)可以在TNode.S上找到精炼查询q'的所有属性类别;c)q'的每一个属性值范围与TNode的对应属性值范围有交集;d)精炼查询关键字与TNode的倒排文件关键字符合关键字匹配;e)满足以下关于q'和TNode之间空间距离的不等式(式(3)):
Figure BDA0002277657580000191
那么TNode可能包含结果对象,并被称为“合格”,需要被处理(第16行)。
上述过程中,式3的正确性由引理1保证。
引理1:已知AIR树的一个结点Ri,精炼查询q'=(loc,doc,B',k',α),qb的结果集(也即qb.RRS)中的所有对象的最低相似性得分Rm,如果
Figure BDA0002277657580000201
那么结点Ri将被忽略。
证明:假设
Figure BDA0002277657580000202
TNode包含结果对象o’,那么就有
Figure BDA0002277657580000203
然后,根据式2,有
Figure BDA0002277657580000204
因此,o'不能成为结果对象,这与假设矛盾的。故引理1成立。
对于TNode的每个合格子结点ns,如果ns是非叶子结点,则将ns入队到队列D中。否则,将ns入队到队列D'(第17-21行)。当队列D的处理完成后,AIR树的所有合格叶结点都已添加到队列D'中。
接下来,处理队列D'以获得查询结果q'.RRS。特别地,当队列D'不为空时,按如下顺序处理D'的元素:1)弹出D'的头元素(结点)并由TNode指向该元素(第23行);2)如果TNode指向的结点满足以下要求:a)精炼查询q'与TNode满足综合匹配;b)q'和TNode之间的空间距离满足以下不等式(式(4)):
Figure BDA0002277657580000211
式4的正确性证明与式3类似。
那么TNode的相似性得分可以根据式(1)计算出来,并将TNode指向的对象添加到RRS中(第24-25行)。
接下来,对RRS中的所有对象均根据其相似性得分进行排序。直到所有原始结果对象和所有缺失对象均出现,可以获得得分最高的前k'个对象(第26行)。如果k'≤km,则计算出q'的成本(第28行);如果p'<pc(第29-30行),则用p'修改pc。在处理完所有这些精炼查询之后,就可以获得最佳精炼查询。
本发明实施例还提供一种用AIR树解决SKQwhy-not问题的系统,包括:
AIR树索引构建模块,其用于:获取所有对象o,构建AIR树索引;
候选列表构建模块,其用于:获取初始查询q=(q.loc,q.doc0,q.B,k,α)和缺失对象集M;根据缺失对象的关键字的频率递减的顺序构建候选关键字列表CKS、根据缺失对象的相似性得分递减的顺序构建候选属性值对列表CAS;将精炼查询q'的关键字集q'.doc和属性值对q'.B'分别设置为q.doc0和q.B;
精炼查询模块,其用于:有序地抽取CKS中的关键字和CAS中的属性值对,分别添加至查询q'的关键字集q'.doc和查询q'的属性值对q'.B'中,形成新的精炼查询q';分别对各个精炼查询q'进行处理以找出最佳精炼查询,直至CKS和CAS都为空;分别对各个精炼查询q'进行处理,具体包括:
计算q'的修改代价p',过滤掉p'≥pc的查询q',pc为保留初始查询关键字和属性、且所有的缺失对象都出现在查询结果中的查询qb的修改代价;
对于p'<pc的查询q',根据预设的非叶子结点筛选规则选出符合条件的AIR树的非叶子结点,得出待筛选的叶子结点的集合,根据预设的叶子结点筛选规则选出符合条件的AIR树的叶子结点;
将符合条件的叶子结点指向的对象添加到满足查询q'要求的对象集中,并计算查询q'和对象之间的相似性得分;
对满足查询q'要求的对象集中的所有对象均根据其相似性得分从高至低排序,直到所有原始结果对象和所有缺失对象均出现,获得k'个对象;
如果k'≤km,km为保留初始查询关键字和属性、且所有的缺失对象都出现在查询结果中时结果集的大小,则计算q'的修改代价p',如果p'<pc,则将查询q'作为当前最佳精炼查询。
作为优选的实施方式,AIR树索引构建模块具体用于:
获取所有对象o,构建AIR树索引;
AIR树的每一个非叶子结点Ri包含四个属性:
<Ri.id,Ri.MBR,Ri.S,Ri.Address>,其中Ri.id是结点的id,Ri.MBR是包含结点Ri中所有对象的最小边界矩形,Ri.Address是Ri的所有子结点的地址列表,Ri.S是Ri中所有子结点的属性值对的并集;每一个非叶子结点Ri与一个倒排文件相关联,所述倒排文件由关键字列表组成,每个关键字都指向包含该关键字的Ri的子节点的ID的列表;
AIR树的每一个叶子结点Ri中每个对象oj的信息包含三个属性:(oj.id,oj.loc,oj.S),其中oj.id是对象id,oj.loc是oj的空间位置,oj.S是oj的属性值对。
作为优选的实施方式,B为布尔表达式:
Figure BDA0002277657580000231
Figure BDA0002277657580000232
为一个谓词集合,其中i∈[1,n],i∈N*
作为优选的实施方式,所述精炼查询模块具体用于:
将AIR树的非叶子结点加入待处理的非叶子结点集合;
判断待处理的非叶子结点集合中当前结点是否满足非叶子结点筛选规则;
若不满足,过滤掉该结点;若满足,则该结点是符合条件AIR树的非叶子结点,读取该非叶子结点的所有子结点,若其子结点为非叶子结点,将其子结点加入待处理的非叶子结点集合,若其子结点为叶子结点,将其子结点加入待筛选的叶子结点的集合;
判断待筛选的叶子结点中当前结点是否满足叶子结点筛选规则;若满足,记录为符合条件的AIR树的叶子结点,否则,过滤掉该结点。
作为优选的实施方式,所述非叶子结点筛选规则为:
a)是AIR树的非叶子结点;
b)在该结点上具有查询q'的所有属性类别;
c)查询q'的每一个属性值范围与该结点的对应属性值范围有交集;
d)查询q'的关键字与该结点的倒排文件关键字符合关键字匹配;
e)满足关于q'和结点的之间空间距离的不等式:
Figure BDA0002277657580000241
作为优选的实施方式,所述叶子结点筛选规则为:
a)查询q'与该结点满足综合匹配;
b)查询q'和该结点之间的空间距离满足以下不等式:
Figure BDA0002277657580000242
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (14)

1.一种用AIR树解决SKQwhy-not问题的方法,其特征在于,包括以下步骤:
获取所有对象o,构建AIR树索引;
获取初始查询q=(q.loc,q.doc0,q.B,k,α)和缺失对象集M;根据缺失对象的关键字的频率递减的顺序构建候选关键字列表CKS、根据缺失对象的相似性得分递减的顺序构建候选属性值对列表CAS;将精炼查询q'的关键字集q'.doc和属性值对q'.B'分别设置为q.doc0和q.B;
有序地抽取CKS中的关键字和CAS中的属性值对,分别添加至查询q'的关键字集q'.doc和查询q'的属性值对q'.B'中,形成新的精炼查询q';分别对各个精炼查询q'进行处理以找出最佳精炼查询,直至CKS和CAS都为空;
分别对各个精炼查询q'进行处理,具体包括:
计算q'的修改代价p',过滤掉p'≥pc的查询q',pc为保留初始查询关键字和属性、且所有的缺失对象都出现在查询结果中的查询qb的修改代价;
对于p'<pc的查询q',根据预设的非叶子结点筛选规则选出符合条件的AIR树的非叶子结点,得出待筛选的叶子结点的集合,根据预设的叶子结点筛选规则选出符合条件的AIR树的叶子结点;
将符合条件的叶子结点指向的对象添加到满足查询q'要求的对象中,并计算查询q'和对象之间的相似性得分;
对满足查询q'要求的对象中的所有对象均根据其相似性得分从高至低排序,直到所有原始结果对象和所有缺失对象均出现,获得k'个对象;
如果k'≤km,km为保留初始查询关键字和属性、且所有的缺失对象都出现在查询结果中时结果集的大小,则计算q'的修改代价p',如果p'<pc,则将查询q'作为当前最佳精炼查询。
2.如权利要求1所述的方法,其特征在于:获取所有对象o,构建AIR树索引,具体包括以下步骤:
AIR树的每一个非叶子结点Ri包含四个属性:
<Ri.id,Ri.MBR,Ri.S,Ri.Address>,其中Ri.id是结点的id,Ri.MBR是包含结点Ri中所有对象的最小边界矩形,Ri.Address是Ri的所有子结点的地址列表,Ri.S是Ri中所有子结点的属性值对的并集;每一个非叶子结点Ri与一个倒排文件相关联,所述倒排文件由关键字列表组成,每个关键字都指向包含该关键字的Ri的子节点的ID的列表;
AIR树的每一个叶子结点Ri中每个对象oj的信息包含三个属性:(oj.id,oj.loc,oj.S),其中oj.id是对象id,oj.loc是oj的空间位置,oj.S是oj的属性值对。
3.如权利要求1所述的方法,其特征在于:B为布尔表达式:
Figure FDA0002277657570000021
Figure FDA0002277657570000022
为一个谓词集合,其中i∈[1,n],i∈N*
4.如权利要求1所述的方法,其特征在于:计算q'的修改代价p',计算公式为:
Figure FDA0002277657570000023
其中,β1,β2,β3,β4分别表示是cost函数中k值、关键字、属性种类、属性值的权重;βi≥0且
Figure FDA0002277657570000024
k'是精炼查询q'的查询结果集的大小,k0是初始查询q的结果集的大小,km是保留初始查询关键字和属性,且所有的缺失对象都出现在查询结果中时结果集的大小,用km-k0规范化k'-k0;Δdoc是从q.doc0调整到q'.doc所需改变的关键字的数量,
Figure FDA0002277657570000031
其中缺失对象集M={m1,m2,...,mj},通过|q.doc0∪M.doc|来规范化Δdoc;ΔAn是从初始查询调整到精炼查询所需改变的属性种类的数量,通过|q.B∪M.B|来规范化ΔAn
Figure FDA0002277657570000032
n是q.B和M.B所包含的属性的总和;Δvi是包含属性Ai的所有对象关于该属性的属性值的最大差值;|vi'-vi|是属性Ai中当前查询属性值vi'与初始查询属性值vi之间的差值的绝对值,且|vi'-vi|≤Δvi,通过Δvi来规范化|vi'-vi|。
5.如权利要求1所述的方法,其特征在于:计算查询q和对象o之间的相似性得分,计算公式为:
Figure FDA0002277657570000033
其中α是0到1之间的一个变量,用来定义距离邻近度与文本相关性之间的相对重要性,d(q.loc,o.loc)表示的是查询q与对象o之间的欧氏距离,dmax(q.loc,O.loc)表示的是查询点q到对象集合O中的所有对象的最大距离,用对象集O中所有对象间距离的最大值表示。
6.如权利要求2所述的方法,其特征在于:根据预设的非叶子结点筛选规则选出符合条件的AIR树的非叶子结点,得出待筛选的叶子结点的集合;根据预设的叶子结点筛选规则选出符合条件的AIR树的叶子结点,具体包括以下步骤:
将AIR树的非叶子结点加入待处理的非叶子结点集合;
判断待处理的非叶子结点集合中当前结点是否满足非叶子结点筛选规则;
若不满足,过滤掉该结点;若满足,则该结点是符合条件AIR树的非叶子结点,读取该非叶子结点的所有子结点,若其子结点为非叶子结点,将其子结点加入待处理的非叶子结点集合,若其子结点为叶子结点,将其子结点加入待筛选的叶子结点的集合;
判断待筛选的叶子结点中当前节点是否满足叶子结点筛选规则;若满足,记录为符合条件的AIR树的叶子结点,否则,过滤掉该结点。
7.如权利要求6所述的方法,其特征在于:所述非叶子结点筛选规则为:
a)是AIR树的非叶子结点;
b)在该结点上具有查询q'的所有属性类别;
c)查询q'的每一个属性值范围与该结点的对应属性值范围有交集;
d)查询q'的关键字与该结点的倒排文件关键字符合关键字匹配;
e)满足关于q'和结点的之间空间距离的不等式:
Figure FDA0002277657570000041
8.如权利要求6所述的方法,其特征在于:所述叶子结点筛选规则为:
a)查询q'与该结点满足综合匹配;
b)查询q'和该结点之间的空间距离满足以下不等式:
Figure FDA0002277657570000051
9.一种用AIR树解决SKQwhy-not问题的系统,其特征在于,包括:
AIR树索引构建模块,其用于:获取所有对象o,构建AIR树索引;
候选列表构建模块,其用于:获取初始查询q=(q.loc,q.doc0,q.B,k,α)和缺失对象集M;根据缺失对象的关键字的频率递减的顺序构建候选关键字列表CKS、根据缺失对象的相似性得分递减的顺序构建候选属性值对列表CAS;将精炼查询q'的关键字集q'.doc和属性值对q'.B'分别设置为q.doc0和q.B;
精炼查询模块,其用于:有序地抽取CKS中的关键字和CAS中的属性值对,分别添加至查询q'的关键字集q'.doc和查询q'的属性值对q'.B'中,形成新的精炼查询q';分别对各个精炼查询q'进行处理以找出最佳精炼查询,直至CKS和CAS都为空;分别对各个精炼查询q'进行处理,具体包括:
计算q'的修改代价p',过滤掉p'≥pc的查询q',pc为保留初始查询关键字和属性、且所有的缺失对象都出现在查询结果中的查询qb的修改代价;
对于p'<pc的查询q',根据预设的非叶子结点筛选规则选出符合条件的AIR树的非叶子结点,得出待筛选的叶子结点的集合,根据预设的叶子结点筛选规则选出符合条件的AIR树的叶子结点;
将符合条件的叶子结点指向的对象添加到满足查询q'要求的对象集中,并计算查询q'和对象之间的相似性得分;
对满足查询q'要求的对象集中的所有对象均根据其相似性得分从高至低排序,直到所有原始结果对象和所有缺失对象均出现,获得k'个对象;
如果k'≤km,km为保留初始查询关键字和属性、且所有的缺失对象都出现在查询结果中时结果集的大小,则计算q'的修改代价p',如果p'<pc,则将查询q'作为当前最佳精炼查询。
10.如权利要求9所述的系统,其特征在于:AIR树索引构建模块具体用于:
获取所有对象o,构建AIR树索引;
AIR树的每一个非叶子结点Ri包含四个属性:<Ri.id,Ri.MBR,Ri.S,Ri.Address>,其中Ri.id是结点的id,Ri.MBR是包含结点Ri中所有对象的最小边界矩形,Ri.Address是Ri的所有子结点的地址列表,Ri.S是Ri中所有子结点的属性值对的并集;每一个非叶子结点Ri与一个倒排文件相关联,所述倒排文件由关键字列表组成,每个关键字都指向包含该关键字的Ri的子节点的ID的列表;
AIR树的每一个叶子结点Ri中每个对象oj的信息包含三个属性:(oj.id,oj.loc,oj.S),其中oj.id是对象id,oj.loc是oj的空间位置,oj.S是oj的属性值对。
11.如权利要求10所述的系统,其特征在于:B为布尔表达式:
Figure FDA0002277657570000061
Figure FDA0002277657570000062
为一个谓词集合,其中i∈[1,n],i∈N*
12.如权利要求10所述的系统,其特征在于:所述精炼查询模块具体用于:
将AIR树的非叶子结点加入待处理的非叶子结点集合;
判断待处理的非叶子结点集合中当前结点是否满足非叶子结点筛选规则;
若不满足,过滤掉该结点;若满足,则该结点是符合条件AIR树的非叶子结点,读取该非叶子结点的所有子结点,若其子结点为非叶子结点,将其子结点加入待处理的非叶子结点集合,若其子结点为叶子结点,将其子结点加入待筛选的叶子结点的集合;
判断待筛选的叶子结点中当前节点是否满足叶子结点筛选规则;若满足,记录为符合条件的AIR树的叶子结点,否则,过滤掉该结点。
13.如权利要求12所述的系统,其特征在于:所述非叶子结点筛选规则为:
a)是AIR树的非叶子结点;
b)在该结点上具有查询q'的所有属性类别;
c)查询q'的每一个属性值范围与该结点的对应属性值范围有交集;
d)查询q'的关键字与该结点的倒排文件关键字符合关键字匹配;
e)满足关于q'和结点的之间空间距离的不等式:
Figure FDA0002277657570000071
14.如权利要求12所述的系统,其特征在于:所述叶子结点筛选规则为:
a)查询q'与该结点满足综合匹配;
b)查询q'和该结点之间的空间距离满足以下不等式:
Figure FDA0002277657570000081
CN201911128645.2A 2019-11-18 2019-11-18 用AIR树解决SKQwhy-not问题的方法及系统 Active CN111026750B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911128645.2A CN111026750B (zh) 2019-11-18 2019-11-18 用AIR树解决SKQwhy-not问题的方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911128645.2A CN111026750B (zh) 2019-11-18 2019-11-18 用AIR树解决SKQwhy-not问题的方法及系统

Publications (2)

Publication Number Publication Date
CN111026750A true CN111026750A (zh) 2020-04-17
CN111026750B CN111026750B (zh) 2023-06-30

Family

ID=70200429

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911128645.2A Active CN111026750B (zh) 2019-11-18 2019-11-18 用AIR树解决SKQwhy-not问题的方法及系统

Country Status (1)

Country Link
CN (1) CN111026750B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112434118A (zh) * 2020-11-11 2021-03-02 中南民族大学 Shadow索引及创建方法、系统、查询方法及系统
CN113158209A (zh) * 2021-04-21 2021-07-23 沈阳航空航天大学 一种保护隐私的Top-k查询why-not问题处理方法
CN113343050A (zh) * 2021-05-25 2021-09-03 中南民族大学 一种基于时间感知对象的why-not问题的解决方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100106713A1 (en) * 2008-10-28 2010-04-29 Andrea Esuli Method for performing efficient similarity search
US20100125594A1 (en) * 2008-11-14 2010-05-20 The Regents Of The University Of California Method and Apparatus for Improving Performance of Approximate String Queries Using Variable Length High-Quality Grams
CN110059149A (zh) * 2019-04-24 2019-07-26 上海交通大学 电子地图空间关键字查询分布式索引系统和方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100106713A1 (en) * 2008-10-28 2010-04-29 Andrea Esuli Method for performing efficient similarity search
US20100125594A1 (en) * 2008-11-14 2010-05-20 The Regents Of The University Of California Method and Apparatus for Improving Performance of Approximate String Queries Using Variable Length High-Quality Grams
CN110059149A (zh) * 2019-04-24 2019-07-26 上海交通大学 电子地图空间关键字查询分布式索引系统和方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
李艳红;李国徽;张聪;: "路网中空间关键字连续k近邻查询算法研究" *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112434118A (zh) * 2020-11-11 2021-03-02 中南民族大学 Shadow索引及创建方法、系统、查询方法及系统
CN112434118B (zh) * 2020-11-11 2024-02-13 中南民族大学 索引结构及创建方法、系统、查询方法及系统
CN113158209A (zh) * 2021-04-21 2021-07-23 沈阳航空航天大学 一种保护隐私的Top-k查询why-not问题处理方法
CN113343050A (zh) * 2021-05-25 2021-09-03 中南民族大学 一种基于时间感知对象的why-not问题的解决方法
CN113343050B (zh) * 2021-05-25 2022-11-29 中南民族大学 一种基于时间感知对象的why-not问题的解决方法及系统

Also Published As

Publication number Publication date
CN111026750B (zh) 2023-06-30

Similar Documents

Publication Publication Date Title
De Felipe et al. Keyword search on spatial databases
US6681222B2 (en) Unified database and text retrieval system
US6980976B2 (en) Combined database index of unstructured and structured columns
US8156125B2 (en) Method and apparatus for query and analysis
CN111026750A (zh) 用AIR树解决SKQwhy-not问题的方法及系统
JP6299596B2 (ja) クエリ類似度評価システム、評価方法、及びプログラム
JPH1049549A (ja) 文書検索装置
CN111026710A (zh) 一种数据集的检索方法及系统
CN109992590B (zh) 交通网络中带数字属性的近似空间关键字查询方法及系统
Miao et al. K-dominant skyline queries on incomplete data
US7792826B2 (en) Method and system for providing ranked search results
Murata et al. BM25 with exponential IDF for instance search
JP6219967B2 (ja) ラベル付非テキスト系アイテムを検索するためのシステム及び方法
US20050114317A1 (en) Ordering of web search results
Delpeuch A survey of OpenRefine reconciliation services
CN108733745A (zh) 一种基于医学知识的查询扩展方法
Pan et al. Reverse nearest neighbor search in semantic trajectories for location-based services
CN110955827B (zh) 采用AI3解决SKQwhy-not问题的方法及系统
CN111008270B (zh) 采用AkC解决SKQwhy-not问题的方法及系统
Li et al. Aggregate nearest keyword search in spatial databases
JP2000035965A (ja) 類似特徴量の検索方法及び装置及び類似特徴量の検索プログラムを格納した記憶媒体
CN111506797B (zh) 解决方向感知SKQ中why-not问题的方法及系统
Georgoulas et al. User-centric similarity search
CN110147424B (zh) 一种Top-k组合空间关键字查询方法和系统
Munteanu Vector space model for document representation in information retrieval

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant