一种数据空间的关联查询方法

文档序号:6636332阅读:750来源:国知局
一种数据空间的关联查询方法
【专利摘要】本发明涉及数据空间的关联查询领域,尤其涉及一种数据空间的关联查询方法,包括:使用关系模式表示第一节点集和边集;将关联查询表达式转化为相应代数操作,查询处理模块执行关键字查询表达式和/或属性-值对查询表达式对应的代数操作,并将得到的多个节点存储入第二节点集;选取第二节点集中的任一节点和第一节点集中除第二节点集外的其他任一节点构成第一节点对,计算第一节点对间的关联条件,将符合条件的第一节点对存入第一查询结果集返回给用户。本发明使用传统的关系代数理论辅助关联查询,提高了关联查询的效率。
【专利说明】一种数据空间的关联查询方法

【技术领域】
[0001] 本发明涉及数据空间的关联查询领域,尤其涉及一种数据空间的关联查询方法。

【背景技术】
[0002] 计算机技术和互联网技术的快速发展产生了大量异构、动态的数据,如何从海量 数据中准确、快速的查询到所需的数据及其关联,成为一个迫切需要解决的重要问题。目 前,数据空间作为一种新型的数据管理技术,是解决该问题的重要手段。
[0003] 数据空间通常采用极松散结构模型来描述海量、异构、动态的数据,以便实现 pay-as-you-go (PAYG)模式的数据管理。极松散结构模型没有严格、统一的schema,相对其 他数据模型,能够更容易且花费更少的代价来描述各种数据及其关联。
[0004] 极松散结构数据模型通常定义为由节点和边组成的图模型,记为G:= (N,E),其 中N为节点集(N1,...,Nk},节点Ni由属性-值对组成,记为ObE是带标签 的边的集合,边记为(N iNjA),其中NiNj e Ν,分别表示边的引出节点和引入节点,且i尹j, L表示边的名称,且L可为null值。
[0005] 极松散结构数据模型对某数据空间中学术信息的描述如图1所示,其中,节点N1, N 2和N3描述作者信息,N4描述论文信息,N5是空节点。极松散结构数据模型对数据及其联 系的描述是极松散的,不必表示为特定的schema。例如,不同的节点可以描述同一类实体, 但它们的属性列表不要求一致,如节点N 1, N2均描述作者信息,它们的属性列表分别为=N1 ={(name, Hua Zhang), (workunit, Guangxi University), (phone,077136…),…}和 N2 = {(name, Ming Li), (scholar field, dataspace), (email, t ji@163. · · ),· · · }。此夕卜, 边的标签可为空值(如图I的节点N2和节点N5间的边标签)、空节点等定义,增强了对不 确定信息的描述能力。已经显示存在于G图中的关联(边)称为实关联,如图1中节点N 1 和节点N2之间的边"Colleague of"为实关联,表示Hua Zhang和Ming Li是同事关系;相 对应,虚拟关联(边)是隐式存在于G图中,当执行一个查询或者调用一个远程服务时才生 成的关联(边)。如图1中节点N 1和节点N3之间存在虚拟关联"Colleague of",表示Hua Zhang和 Zhao是同事关系,这是通过查询时计算节点间的workunit属性值是否相同得 到的。
[0006] 目前,极松散结构数据模型的关联查询方法的主要思想为:极松散结构数据模型 中节点间的关联通过相似度函数来计算,当相似度函数的值达到一个给定的阈值时,则该 节点间存在关联(边),并将关联信息返回给用户。然而,目前的方法均将该模型视为简单 的图,没有考虑到极松散结构图模型的特点,也没有考虑现有的关系数据库技术(尤其是 成熟的关系代数理论)对关联查询的帮助,因此关联查询的效果不是很理想,还难于满足 用户的要求。


【发明内容】

[0007] 针对上述技术问题,本发明设计开发了一种数据空间的关联查询方法,目的在于 支持pay-as-you-go模式的关联查询,S卩:这种关联查询是在查询处理时进行的,而且是渐 进的、动态的;且能够使用传统的关系代数理论辅助关联查询,有助于提高关联查询的效 率。
[0008] 本发明提供的技术方案为:
[0009] -种数据空间的关联查询方法,应用于包括i个节点的第一节点集和j个表示多 个节点之间关联的边集组成的待查询的数据空间的图模型中,包括以下步骤:
[0010] 步骤一、使用关系模式表示所述图模型的第一节点集和边集,用关系模式R(Nid, attr,val)描述第一节点集中的节点及其属性-值对,其中,Nid为节点的标识,attr为属 性,val为相应的属性值,用关系模式R' (Nid,Nidi,L)描述边集(NiNj, L),其中,队、%分 别表示边的引出节点和引入节点,且i尹j,L表示边的标签,Nid和Nidl分别对应Ni和N j 的节点标识;
[0011] 步骤二、构建支持关联查询的查询处理模块,该查询处理模块包括基本查询处理 模块和关联查询处理模块,基本查询处理模块包括关键字查询和属性-值对查询,基本查 询处理模块对用户的基本查询表达式进行分析计算,并返回查询结果:关键字查询的查询 结果为包含关键字的节点,属性-值对查询的查询结果为满足属性-值对查询条件的节点; 关联查询处理模块对用户的关联查询表达式进行分析计算,并以节点对的形式返回实关联 或虚拟关联;查询处理模块将用户输入的关联查询表达式转化为相应关联计算的代数操 作,所述关联查询表达式中包括关键字查询表达式和/或属性-值对查询表达式,所述查询 处理模块执行关键字查询表达式和/或属性-值对查询表达式对应的代数操作,并将得到 的多个节点存储入第二节点集;
[0012] 步骤三、计算虚拟关联:选取所述第二节点集中的任一节点和所述第一节点集中 除第二节点集外的其他任一节点构成第一节点对,计算所述第一节点对的两个节点之间的 所述关联查询表达式中指定的关联条件,判断所述关联条件是否大于或等于给定的阈值, 如果所述关联条件大于或等于给定的阈值,则将所述第一节点对存入第一查询结果集;如 果所述关联条件小于给定的阈值,则重新选取所述第二节点集中的另一节点和所述第一节 点集中除第二节点集外的其他任一节点构成新的第一节点对,重复上述过程,直至遍历该 第二节点集中所有的节点,并将所述第一查询结果集返回给用户。
[0013] 优选的是,所述的数据空间的关联查询方法中,所述指定的关联条件为所述待查 询的节点的某一属性,以方便根据该属性计算关联条件,得到满足虚拟关联条件的节点对。
[0014] 优选的是,所述的数据空间的关联查询方法中,还包括:步骤四、计算实关联:查 询与所述第二节点集中的任一节点有所述关联查询表达式中指定的关联条件的第一节点 集中的节点,构成第二节点对,并将所述第二节点对存入第二查询结果集,再将所述第二查 询结果集返回给用户。
[0015] 优选的是,所述的数据空间的关联查询方法中,所述指定的关联条件为带标签的 边,得到满足实关联条件的节点对。
[0016] 优选的是,所述的数据空间的关联查询方法中,所述关联查询表达式如下:eXp : =Edge ([lable],[ Θ (I) ]) expl,其中,expl为关键字查询表达式和/或属性-值对查询表 达式,label为边的标签,θ (1)表示指定的关联条件,G为待查询的数据空间的图模型,查 询结果 exp (G) := (NiINiGGANjeexpl(G) Λ ((Ni Nj lable) e Eor (Ni Nj) e Θ ⑴)}, 艮P exp (G)返回和expl查询结果expl (G)有label边相连或满足Θ⑴关联条件的节点集, 可以同时计算数据空间中节点之间的虚拟关联和实关联。
[0017] 优选的是,所述的数据空间的关联查询方法中,给定一个关联查询表达式exp := Edge([lable],[Θ (l)])expl,假设查询结果expl(G)返回的第二节点集对应关系模式R1, 则关联查询结果exp (G)可通过如下代数操作得到:当exp := Edge (Iable) expl时,计算实 关I

【权利要求】
1. 一种数据空间的关联查询方法,应用于包括i个节点的第一节点集和j个表示多个 节点之间关联的边集组成的待查询的数据空间的图模型中,包括以下步骤: 步骤一、使用关系模式表示所述图模型的第一节点集和边集,用关系模式R(Nid,attr, val)描述第一节点集中的节点及其属性-值对,其中,Nid为节点的标识,attr为属性,val 为相应的属性值,用关系模式R' (Nid,Nidi,L)描述边集(NiNj, L),其中,队、Nj分别表示 边的引出节点和引入节点,且i尹j,L表示边的标签,Nid和Nidl分别对应Ni和Nj的节点 标识; 步骤二、构建支持关联查询的查询处理模块,该查询处理模块包括基本查询处理模块 和关联查询处理模块,基本查询处理模块包括关键字查询和属性-值对查询,基本查询处 理模块对用户的基本查询表达式进行分析计算,并返回查询结果:关键字查询的查询结果 为包含关键字的节点,属性-值对查询的查询结果为满足属性-值对查询条件的节点;关联 查询处理模块对用户的关联查询表达式进行分析计算,并以节点对的形式返回实关联或虚 拟关联;查询处理模块将用户输入的关联查询表达式转化为相应关联计算的代数操作,所 述关联查询表达式中包括关键字查询表达式和/或属性-值对查询表达式,所述查询处理 模块执行关键字查询表达式和/或属性_值对查询表达式对应的代数操作,并将得到的多 个节点存储入第二节点集; 步骤三、计算虚拟关联:选取所述第二节点集中的任一节点和所述第一节点集中除第 二节点集外的其他任一节点构成第一节点对,计算所述第一节点对的两个节点之间的所述 关联查询表达式中指定的关联条件,判断所述关联条件是否大于或等于给定的阈值,如果 所述关联条件大于或等于给定的阈值,则将所述第一节点对存入第一查询结果集;如果所 述关联条件小于给定的阈值,则重新选取所述第二节点集中的另一节点和所述第一节点集 中除第二节点集外的其他任一节点构成新的第一节点对,重复上述过程,直至遍历该第二 节点集中所有的节点,并将所述第一查询结果集返回给用户。
2. 如权利要求1所述的数据空间的关联查询方法,其特征在于,所述指定的关联条件 为所述待查询的节点的某一属性。
3. 如权利要求1所述的数据空间的关联查询方法,其特征在于,还包括: 步骤四、计算实关联:查询与所述第二节点集中的任一节点有所述关联查询表达式中 指定的关联条件的第一节点集中的节点,构成第二节点对,并将所述第二节点对存入第二 查询结果集,再将所述第二查询结果集返回给用户。
4. 如权利要求3所述的数据空间的关联查询方法,其特征在于,所述指定的关联条件 为带标签的边。
5. 如权利要求2或4所述的数据空间的关联查询方法,其特征在于,所述关联查询表 达式如下:exp : = Edge ([Iable],[ 0 (I) ]) expl,其中,expl为关键字查询表达式和/或 属性-值对查询表达式,label为边的标签,0 (1)表示指定的关联条件,G为待查询的数 据空间的图模型,查询结果61?(6):={队|队£6~%£以111(6)~((^」1&1316)££〇1'(队 Nj) G 0 (1) )},即exp (G)返回和expl查询结果expl (G)有label边相连或满足0⑴关 联条件的节点集。
6. 如权利要求5所述的数据空间的关联查询方法,其特征在于,给定一个关联查询表 达式exp := Edge ([lable],[ 0 (I)]) expl,假设查询结果expl (G)返回的第二节点集对应 关系模式R1,则关联查询结果exp (G)可通过如下代数操作得到:当exp : = Edge (Iable)
择运算符,Nid和Nidl均为节点标识,A为关系模式R1的属性值,B为关系模式R2的属性 值。
7. 如权利要求1所述的数据空间的关联查询方法,其特征在于,所述步骤三中,当将所 述第一节点对存入第一查询结果集时,同时在所述第一节点对间添加一条虚拟边,并按照 关联条件由大到小的顺序排序所述第一查询结果集,将所述第一查询结果集返回给用户。
8. 如权利要求5所述的数据空间的关联查询方法,其特征在于,所述关键字查询表达 式定义为:exp:= k| exp logop exp,其中k为关键字,逻辑运算符logop :=and| or |not, 分别表示逻辑与、或、非;查询结果exp(G)为包含关键字k的节点,即exp(G):= (NiINiGG'' k' G WJ,其中,Wi表示节点Ni上的词汇的集合。
9. 如权利要求5所述的数据空间的关联查询方法,其特征在于,所述属性-值对查询 表达式如下:exp : = (a :v) I exp logop exp,其中,(a :v)表示属性-值对(a, V),查询结果 exp (G)为满足属性-值对查询条件的节点,即exp (G):=风.I iV,. e G a3? vi S 4 X ,其中,Ai为Ni的属性的集合,Vi为Ni的值的集合。
10. 如权利要求5所述的数据空间的关联查询方法,其特征在于,满足0 (1)关联条件 的半连接运算记为及〉;取]払_,其中,0为算术比较符,心和心分 别为关系模式R1和关系模式R2的元组,A为关系模式R1的属性值,B为关系模式R 2的属性 值,h [A] 9 t2[B]表示元组h的A属性值和元组t2的B属性值之间满足9运算。
【文档编号】G06F17/30GK104361108SQ201410706011
【公开日】2015年2月18日 申请日期:2014年11月27日 优先权日:2014年11月27日
【发明者】潘颖, 元昌安, 李文敬, 陆建波, 黎珍利 申请人:广西师范学院
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1