CN111651641B - 一种图查询方法、装置及存储介质 - Google Patents
一种图查询方法、装置及存储介质 Download PDFInfo
- Publication number
- CN111651641B CN111651641B CN202010481878.7A CN202010481878A CN111651641B CN 111651641 B CN111651641 B CN 111651641B CN 202010481878 A CN202010481878 A CN 202010481878A CN 111651641 B CN111651641 B CN 111651641B
- Authority
- CN
- China
- Prior art keywords
- graph
- node
- nodes
- sub
- original
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9024—Graphs; Linked lists
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/9032—Query formulation
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16H—HEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
- G16H50/00—ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics
- G16H50/20—ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics for computer-aided diagnosis, e.g. based on medical expert systems
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- Medical Informatics (AREA)
- General Physics & Mathematics (AREA)
- Biomedical Technology (AREA)
- General Engineering & Computer Science (AREA)
- Public Health (AREA)
- Software Systems (AREA)
- Pathology (AREA)
- Epidemiology (AREA)
- General Health & Medical Sciences (AREA)
- Primary Health Care (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种图查询方法、装置及存储介质,其中,方法包括:获取待查询子图;根据所述待查询子图在原始图对应的摘要图中进行查询,得到目标查询子图,所述原始图表征包含待查询子图对应的图信息的图,所述原始图由边对具有属性关系的节点进行连接得到,所述原始图中的边标注有连接的两个节点间的属性关系,所述摘要图表征对所述原始图进行节点合并后的图;根据所述待查询子图和所述目标查询子图在得到所述目标查询子图的原始图中进行查询,得到图查询结果。通过实施本发明,可以更好地适应当前随着时代发展所带来的越来越大的图规模,并且查询效率高效,返回结果准确性高,能够满足在海量图数据中快速高效查询子图的要求。
Description
技术领域
本发明涉及图数据管理领域,具体涉及一种图查询方法、装置及存储介质。
背景技术
随着经济的快速发展,在各个领域产生了许多数量庞大且复杂的数据,例如网络、社交网络和生物网络等,使得对这些数据进行查询和搜集这些数据的有利价值带来了巨大的挑战。图作为一种工程领域常出现的数据结构,其由节点和边构成,具有逻辑关系清晰、有利于资源优化等许多优点。
随着信息技术的发展和普及,各个领域的数据信息飞速增加。在这种数据规模剧增的大数据背景下,人们可能只对其中的部分信息感兴趣,倾向于提取对自己有用的信息,此时,图查询显得尤为重要。如在社交网络中,专家希望寻找一些具有一定特征,并且相互之间具有特定关系的人群,在医学领域中,通过输入病情的一些特征,从而可以查找到病名以及治疗方法等。这些应用需求可以抽象为图数据管理领域的子图查询问题,即从海量图数据中查询出用户需要的子图。
相关技术中,对图的查询一般是直接从海量图数据中进行查询,这种传统查询方式由于效率低,查询慢,已经不符合当今图数据规模飞速扩大的现状,也不能够满足在海量图数据中快速高效查询子图的要求。
发明内容
有鉴于此,本发明实施例提供了一种图查询方法、装置及存储介质,以解决现有技术中的对图查询的效率低,查询慢的缺陷。
根据第一方面,本发明实施例提供一种图查询方法,包括如下步骤:获取待查询子图;根据所述待查询子图在原始图对应的摘要图中进行查询,得到目标查询子图,所述原始图表征包含待查询子图对应的图信息的图,所述原始图由边对具有属性关系的节点进行连接得到,所述原始图中的边标注有连接的两个节点间的属性关系,所述摘要图表征对所述原始图进行节点合并后的图;根据所述待查询子图和所述目标查询子图在所述原始图中进行查询,得到图查询结果。
可选地,所述根据所述待查询子图在原始图对应的摘要图中进行查询,得到目标查询子图,包括:将所述待查询子图中的每条边对应的属性关系在所述摘要图中进行遍历,得到满足第一边相似条件的第一边匹配集;根据所述第一边匹配集,在所述摘要图中得到与待查询子图节点匹配的第一节点匹配集;根据所述第一节点匹配集,消除所述第一边匹配集中不满足匹配条件的匹配边,得到目标查询子图。
可选地,所述根据所述待查询子图和所述目标查询子图在所述原始图中进行查询,得到图查询结果,包括:根据所述第一节点匹配集中的节点,在所述原始图中得到与所述第一节点匹配集中的节点对应的所有节点,将所述所有节点作为第二节点匹配集;根据所述第二节点匹配集,得到所述原始图中的第二边匹配集,并消除所述第二节点匹配集中不满足匹配条件的匹配节点,得到所述图查询结果。
可选地,将所述原始图进行节点合并,得到摘要图,包括:在所述原始图中随机获取一个节点,作为第一节点;获取所述第一节点在所述原始图中所有的两跳节点;从所述所有的两跳节点中得到与所述第一节点相似性最大的两跳节点,作为第二节点;确定合并所述第一节点和所述第二节点引入的误差增量,当引入的误差增量小于或等于预设阈值,合并所述第一节点和所述第二节点,当引入的误差增量大于预设阈值,重新在原始图中随机获取一个节点;重复所述在所述原始图中随机获取一个节点,作为第一节点的步骤至所述确定合并所述第一节点和所述第二节点引入的误差增量,当引入的误差增量小于或等于预设阈值,合并所述第一节点和所述第二节点,当引入的误差增量大于预设阈值,重新在原始图中随机获取一个节点的步骤,直至所述摘要图的节点数量达到预设数量。
可选地,所述摘要图节点的预设数量为所述原始图节点数的1/10至1/3。
根据第二方面,本发明实施例提供一种图查询装置,包括:待查询子图获取模块,用于获取待查询子图;目标查询子图获取模块,用于根据所述待查询子图在原始图对应的摘要图中进行查询,得到目标查询子图,所述原始图表征包含待查询子图对应的图信息的图,所述原始图由边对具有属性关系的节点进行连接得到,所述原始图中的边标注有连接的两个节点间的属性关系,所述摘要图表征对所述原始图进行节点合并后的图;查询结果获取模块,用于根据所述待查询子图和所述目标查询子图在所述原始图中进行查询,得到图查询结果。
可选地,所述目标查询子图获取模块,包括:第一边匹配集获取模块,用于将所述待查询子图中的每条边对应的属性关系在所述摘要图中进行遍历,得到满足第一边相似条件的第一边匹配集;第一节点匹配集获取模块,用于根据所述第一边匹配集,在所述摘要图中得到与待查询子图节点匹配的第一节点匹配集;目标查询子图获取子模块,用于根据所述第一节点匹配集,消除所述第一边匹配集中不满足匹配条件的匹配边,得到目标查询子图。
可选地,所述查询结果获取模块,包括:第二节点匹配集获取模块,根据所述第一节点匹配集中的节点,在所述原始图中得到与所述第一节点匹配集中的节点对应的所有节点,将所述所有节点作为第二节点匹配集;查询结果获取子模块,用于根据所述第二节点匹配集,得到所述原始图中的第二边匹配集,并消除所述第二节点匹配集中不满足匹配条件的匹配节点,得到所述图查询结果。
根据第三方面,本发明实施例提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时如第一方面或第一方面任一实施方式所述的图查询方法的步骤。
根据第四方面,本发明实施例提供一种存储介质,其上存储有计算机指令,该指令被处理器执行时实现如第一方面或第一方面任一实施方式所述的图查询方法的步骤。
本发明技术方案,具有如下优点:
本发明提供的图查询方法/装置,通过先将待查询子图在原始图的摘要图中进行查询,在得到结果后再到原始图中进行查询,而不需要遍历整个原始图,只需要遍历比原始图规模小了几十倍甚至是几百倍的摘要图以及一部分和摘要图查询返回结果相关的原始图得到图查询结果。本发明提供的图查询算法可以更好地适应当前随着时代发展所带来的越来越大的图规模,并且查询效率高效,返回结果准确性高,能够满足在海量图数据中快速高效查询子图的要求。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中图查询方法的一个具体示例的流程图;
图2为本发明实施例中图查询方法的一个具体示例图;
图3为本发明实施例中图查询方法的一个具体示例图;
图4为本发明实施例中图查询方法的一个具体示例图;
图5A为本发明实施例中图查询方法的一个具体示例图;
图5B为本发明实施例中图查询方法的一个具体示例图;
图6为本发明实施例中图查询装置的一个具体示例的原理框图;
图7为本发明实施例中电子设备的一个具体示例的原理框图。
具体实施方式
下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,还可以是两个元件内部的连通,可以是无线连接,也可以是有线连接。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
此外,下面所描述的本发明不同实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互结合。
本实施例提供一种图查询方法,如图1所示,包括如下步骤:
S101,获取待查询子图。
示例性地,待查询子图可以是由用户输入想要进行信息查询的图。待查询子图可以如图2所示,分别有x、y、z三个节点,连接节点x和节点y的边属性为父亲,连接节点y和节点z的边属性为师,即节点x是节点y的父亲,节点y是节点z的老师。
S102,根据待查询子图在原始图对应的摘要图中进行查询,得到目标查询子图,原始图表征包含待查询子图对应的图信息的图,原始图由边对具有属性关系的节点进行连接得到,原始图中的边标注有连接的两个节点间的属性关系,摘要图表征对原始图进行节点合并后的图。
示例性地,摘要图是原始图节点合并后形成的图,节点合并的方式可以是首先,随机选取一个节点作为待合并节点,再找出所有该节点的直接邻居节点,在所有直接邻居节点中选择与待合并节点之间的边属性相同且相似度最大的节点作为预选合并节点,然后计算待合并节点和预选合并节点的合并误差,当合并误差小于预设阈值时,将待合并节点和预选合并节点进行合并,重复上述操作,直至剩余节点数量小于设定阈值。根据待查询子图在原始图对应的摘要图中进行查询,得到目标查询子图的方式可以是以遍历的方式,将待查询子图在摘要图中遍历,得到目标查询子图。
S103,根据待查询子图和目标查询子图在原始图中进行查询,得到图查询结果。
示例性地,根据待查询子图和目标查询子图在得到目标查询子图的原始图中进行查询,得到图查询结果的方式可以是将在摘要图中查询到的目标查询子图的节点在原始图中相关部分进行遍历,得到在原始图中对应的多个节点,通过待查询子图中节点之间的属性关系以及连接关系,得到最终的图查询结果。在本实施例中为了提高查询速度图查询方法可以采用多台设备同时进行分布式查询。
本发明实施例提供的图查询方法,通过先将待查询子图在原始图的摘要图中进行查询,在得到结果后再到原始图中进行查询,而不需要遍历整个原始图,只需要遍历比原始图规模小了几十倍甚至是几百倍的摘要图以及一部分跟在摘要图查询返回结果相关的原始图。这种图查询算法可以更好地适应当前随着时代发展所带来的越来越大的图规模,并且查询效率高效,图查询结果准确性高,能够满足在海量图数据中快速高效查询子图的要求。
作为本实施例一种可选的实施方式,上述步骤S102,包括:
首先,将待查询子图中的每条边对应的属性关系在摘要图中进行遍历,得到满足第一边相似条件的第一边匹配集。
示例性地,将待查询子图中的每条边对应的属性关系同时在摘要图中进行遍历的方式如图3所示,首先在待查询子图中获取待查询子图中所有边代表的属性关系,将所有边代表的属性关系在摘要图中同时进行遍历匹配,得到一个或多个满足第一边相似条件的边,形成边匹配集。第一边相似条件可以是待查询子图中的边和摘要图中的边的边相似性大于预设阈值,预设阈值的大小根据边的属性关系的数量进行设置,如果图中某条边存在多个关系属性,那么预设阈值的大小可以按照设置为0.8,如果图中某条边只有一个属性的话,可以设置为1。本实施例对预设阈值的大小不做限定,本领域技术人员可以根据需要确定。
边相似性的计算方式可以是:
其中,Se表示边相似性,其中Ae表示在待查询子图中的边e上的关系属性集合,Ae′表示在摘要图中边e′的关系属性集合。
摘要图可以如图4所示,包括节点A、B、C、D、E、F、G,以及任意两个节点之间标有属性的边。
以上述图2中的待查询子图和图4中的摘要图为例进行说明,结合图2、图4中所示,每条边的属性均只有一个,那么可以设置预设阈值的大小为1。那么得到待查询子图中边ex,y在摘要图中的第一边匹配集的方式是在摘要图中匹配出所有与待查询子图中边ex,y属性完全相同的边,得到eB,E′,eA,C′作为ex,y在摘要图中的第一边匹配集,以上述相同方式得到待查询子图中边ey,z在摘要图中的第一边匹配集为ec,F′,eF,H′,eD,G′。
其次,根据第一边匹配集,在摘要图中得到与待查询子图节点匹配的第一节点匹配集。
示例性地,根据第一边匹配集,在摘要图中得到与待查询子图节点匹配的第一节点匹配集的方式可以在摘要图中遍历待查询子图中所有的节点,取与待查询子图中对应节点相关的边的边匹配集的交集作为当前节点的第一节点匹配集。待查询子图中节点在摘要图中得到第一节点匹配集的匹配公式如下所示:
其中,Vis表示待查询子图中节点vi在摘要图中的节点匹配;E,i.des是终点为摘要图中节点Vi的所有边的终点节点集合;Ei,.src是起点为摘要图中节点Vi的所有边的起点节点集合。
仍以上述图2中的待查询子图和图4中的摘要图为例进行说明,由上述ex,y在摘要图中的第一边匹配集eB,E′,eA,C′以及边ey,z在摘要图中的第一边匹配集为eC,F′,eF,H′,eD,G′,可知ex,y在摘要图中的第一边匹配集eB,E′,eA,C′中以y为终点的集合是{E,C},也即E,y.des={E,C};同理,ey,z在摘要图中的第一边匹配集eC,F′,eF,H′,eD,G′中以y为起点的集合是{C,F,D},也即Ey,.src={C,F,D},所以对于待查询子图中节点y在摘要图中的匹配集为:
然后,根据第一节点匹配集,消除第一边匹配集中不满足匹配条件的匹配边,得到目标查询子图。
示例性地,得到待查询子图中节点的匹配集后,根据邻边交于一点的原则,可以从边匹配集中消去不满足匹配条件的匹配边。消除不满足匹配条件的匹配边的公式可以是:
其中,Ei,j *表示消除不满足匹配条件的匹配边后的匹配边,Ei,j表示上述第一边匹配集,也即未消除不满足匹配条件的匹配边前的所有匹配边,表示第一边匹配集合Ei,j中的边起点节点不在节点匹配集/>中的边的集合;表示第一边匹配集合Ei,j中的边终点节点不在节点匹配集/>中的边的集合。
仍以上述图2中的待查询子图和图4中的摘要图为例进行说明,对于Ey,z而言,Ey,z={eC,F′,eF,H′,eD,G′},由上述可知所以/>的表示的集合为{eF,H′,eD,G′},对于/>同理,当/>时,那么表示的集合为空集,得到的Ey,z *={eC,F′}。
对于Ex,y而言,Ex,y={eB,E′,eA,C′},可得/>表示的集合为{eB,E′},那么,对于/>同理,当/>时,那么表示的集合为空集,得到的Ex,y *={eA,C′}。
本发明实施例提供的图查询方法,通过在摘要图中进行遍历,找出满足相似条件的边匹配集,然后找到节点匹配集,再消除不满足匹配条件的匹配边,得到目标查询子图;同时为了提高遍历效率,可以采用分布式查询的方式在摘要图中进行遍历,使得待查询子图在摘要图中的查询更加快速、准确,由于提高了目标查询子图的准确性以及速度,进一步提高后续在原始图中得到图查询结果的准确性和速度。
作为本实施例一种可选的实施方式,上述步骤S103,包括:
首先,根据第一节点匹配集中的节点,在原始图中得到与第一节点匹配集中的节点对应的所有节点,将所有节点作为第二节点匹配集;
示例性地,由于摘要图是原始图进行节点合并后的图,所以摘要图中的一个节点可能对应原始图中多个节点,在原始图中得到与第一节点匹配集中的节点对应的所有节点作为第二节点匹配集的方式可以是将在摘要图中得到的各个第一节点匹配集在原始图中相关部分同步进行遍历。
其次,根据第二节点匹配集,得到原始图中的第二边匹配集,并消除第二节点匹配集中不满足匹配条件的匹配节点,得到图查询结果。
示例性地,根据第二节点匹配集,得到原始图中的第二边匹配集的方式可以是通过下述公式得到:
其中,EG表征原始图中所有边的集合,表征第二边匹配集,Vi G表征待查询子图中节点i在原始图中的第二节点匹配集,Vj G表征待查询子图中节点j在原始图中的第二节点匹配集,ei,j‘’.src∈Vi G表征与原始图中任意以节点i作为起点的边,ei,j‘’.des∈Vj G表征与原始图中任意以节点j作为终点的边;ei,j‘’∈EG表示在原始图中的任意边。
得到原始图中的第二边匹配集后,需要根据第二边匹配集消除第二节点匹配集中不满足匹配条件的匹配节点,消除第二节点匹配集中不满足匹配条件的匹配节点的公式如下所示:
其中,E,i.des是终点为节点Vi的所有边的终点节点集合,Ei,.src是起点为节点Vi的所有边的起点节点集合;Vis是原始图中满足匹配条件的匹配节点。
本发明实施例提供的图查询方法,通过在原始图中得到与第一节点匹配集中的节点对应的所有节点,将所有节点作为第二节点匹配集;根据第二节点匹配集,得到原始图中的第二边匹配集,并消除第二节点匹配集中不满足匹配条件的匹配节点,得到图查询结果,使得查询结果更加准确,并且查询时采用多个节点同步遍历的查询方法,能够提高查询速度。
作为本实施例一种可选的实施方式,将所述原始图进行节点合并,得到摘要图,包括:
首先,在原始图中随机获取一个节点,作为第一节点;其次,获取第一节点在原始图中所有的两跳节点;然后,从所有的两跳节点中得到与第一节点相似性最大的两跳节点,作为第二节点;
示例性地,计算相似性的方式可以是通过以下公式计算得到:
其中,S表示节点A和节点B之间的相似性,Ncom是节点A、B的共同邻居个数,NAuni、NBuni分别为节点A、B独有邻居的个数。通过上述公式得到所有的两跳节点与第一节点的相似性大小,选择其中相似性最大的节点作为第二节点。
再次,确定合并第一节点和第二节点引入的误差增量,当引入的误差增量小于或等于预设阈值,合并第一节点和第二节点,当引入的误差增量大于预设阈值,重新在原始图中随机获取一个节点;
示例性地,摘要图中合并多个节点形成超点,两个超点之间的边也是多个边的合并,在本实施例中称为超边,两个超点之间的超边可能会增加额外的边或删除多余的边,从而导致摘要图中包含的信息与原始图之间存在误差增量。
将第一节点vi和第二节点vj合并为超点vm引入的误差增量Δi,j是根据以下公式计算的:
Δi,j=wm,-(wi,+wj,-wi,j)
其中,表示与超点vi相关的总误差,wm,和wj,.的计算方式与其相同。wi,+wj,-wi,j表示超点vi和vj合并前与之相关的误差和。由于wi,j在wi,+wj,中被计数两次,所以需要从wi,+wj,中减去wi,j。
其中,wi,j的计算方法可以如下所示:
wi,j=min{|Πi,j|-|Ai,j|,|Ai,j|}
其中,wi,j表示原始图生成的摘要图中与一对超点vi和vj相关的误差,Πi,j表示两个对应的超点vi和vj之间的节点全连接的边集合,Ai,j表示超点vi和vj的节点在当前摘要图中实际存在的边集合。即当|Πi,j|-|Ai,j|小于|Ai,j|时,则wi,j取|Πi,j|-|Ai,j|,相应地在摘要图中形成超点vi和vj之间的节点全连接;当|Ai,j|小于|Πi,j|-|Ai,j|时,则wi,j取|Ai,j|,相应地在摘要图中删除|Ai,j|条边。
由于随着图摘要合并的节点数越多,如果临界值是不变的,则将会导致合并的节点对,大部分不会满足与误差增量小于或等于预设阈值ETt的条件,故预设阈值的大小可以是动态变化的,其动态变化的公式可以是:
ETt=1+5t
其中,ETt为预设阈值,t为迭代次数,迭代次数由摘要图节点的预设数量确定,当合并的节点数量满足摘要图节点的预设数量时,停止迭代。
然后,重复在原始图中随机获取一个节点,作为第一节点的步骤至所述确定合并第一节点和第二节点引入的误差增量,当引入的误差增量小于或等于预设阈值,合并第一节点和所述第二节点,当引入的误差增量大于预设阈值,重新在原始图中随机获取一个节点的步骤,直至摘要图的节点数量达到预设数量。摘要图的节点的预设数量可以是原始图数量的一半,本实施例对摘要图的节点的预设数量不做限定,本领域技术人员可以根据需要确定。
合并第一节点和第二节点的方式可以是为每一个节点设置对应的ID号,将ID号大的节点合并到ID小的节点中,以两个节点ID分别为a、b为例进行说明,a的ID号小于b的ID号,节点的合并主要完成节点a、b邻居节点集的更新以及a、b两个节点之间的更新。
在节点a、b邻居节点集的更新中,首先获取a、b两个节点的所有邻居节点。对于a、b两个节点共有的邻居节点,将节点b从a、b两个节点共有邻居节点的邻居节点集中删除;对于节点a独有邻居节点不做处理;对于节点b独有的邻居节点,将节点b从节点b独有邻居节点的邻居节点集合中删除,将节点a加入到节点b独有邻居节点的邻居节点集合中。
在a、b两个节点之间的更新中,将节点b的独有邻居节点加入到节点a的邻居节点集中,并将节点b加入到节点a的超级节点集合中。节点a、b合并完成之后,节点总数量减少一个。
本实施例提供的图查询方法,通过查找第一节点的所有两跳节点,能够快速筛选出具有共同邻居的节点,从节点中选择相似度与该节点最大的第二节点,能够实现原始图的快速简化,并且在简化过程中对只有节点合并误差小于预设误差的节点进行合并,使得摘要图能够准确包含原始图中的信息,以便后续待查询子图在摘要图上进行准确查询。
作为本实施例一种可选的实施方式,上述摘要图节点的预设数量为所述原始图节点数的1/10至1/3。
示例性地,本实施例以采用四台设备同时进行分布式图查询为例,采用Gowalla数据集,Gowalla数据集的节点数量为565642,边数量为2431625,实验分别将Gowalla数据集摘要成不同节点个数的图摘要,然后进行图查询,通过分析在不同摘要节点下查询的准确性和查询时间以验证本实验方法的效能。查询准确率和准确率在不同摘要节点的变化分别如图5A、图5B所示。
由图5A可知,当摘要节点数越接近于原始图数,则查询的准确率越高,但是随着摘要节点数的减小,准确率会逐渐降低。开始摘要图节点数减少,查询准确率下降缓慢,是因为基于图摘要的查询算法拥有很好的准确率。但是节点数目减少到了一定程度,查询准确率下降的更快,这是如果摘要图的节点数跟原始图比较差异过大,图摘要生成摘要图产生的误差也越大,会造成查询准确率越快下降。
由图5B可知,查询时间随着摘要图节点数的减少而减小,这说明基于图摘要的图查询方法可以很好的减少查询时间。但是当节点数目减少到了一定程度后,查询时间减少效果平缓,这是因为当摘要图节点个数下降到一定程度,当在摘要图中匹配得到子图,子图中的每个节点都包含太多的原始图节点,导致后续消去原始图中不满足匹配条件的匹配节点带来了负担,处理这部分需要消耗大量时间,所以总的查询时间只是会稍微减小。
由实验结果可知,基于本发明实施例的图查询方法可以很好的降低查找时间,对于目前的大数据规模的环境非常重要。但是摘要图节点的数目过小和过大都不能最大程度上体现出本发明实施例图查询方法的优点,所以需要选择合适的摘要图节点个数。通过大量实验证明,一般最佳摘要图节点个数为原图的1/10至1/3为最佳。
本实施例提供一种图查询装置,如图6所示,包括:
待查询子图获取模块201,用于获取待查询子图;具体内容见上述实施例中方法对应部分S101,此处不再赘述。
目标查询子图获取模块202,用于根据所述待查询子图在原始图对应的摘要图中进行查询,得到目标查询子图,所述原始图表征包含待查询子图对应的图信息的图,所述原始图由边对具有属性关系的节点进行连接得到,所述原始图中的边标注有连接的两个节点间的属性关系,所述摘要图表征对所述原始图进行节点合并后的图;具体内容见上述实施例中方法对应部分S102,此处不再赘述。
查询结果获取模块203,用于根据所述待查询子图和所述目标查询子图在所述原始图中进行查询,得到图查询结果。具体内容见上述实施例中方法对应部分S103,此处不再赘述。
本发明实施例提供的图查询装置,通过先将待查询子图在原始图的摘要图中进行查询,在得到结果后再到原始图中进行查询,而不需要遍历整个原始图,只需要遍历比原始图规模小了几十倍甚至是几百倍的摘要图以及一部分跟在摘要图查询返回结果相关的原始图。这种图查询算法可以更好地适应当前随着时代发展所带来的越来越大的图规模,并且查询效率高效,返回结果准确性高,能够满足在海量图数据中快速高效查询子图的要求。
作为本实施例一种可选的实施方式,上述目标查询子图获取模块202,包括:
第一边匹配集获取模块,用于将所述待查询子图中的每条边对应的属性关系在所述摘要图中进行遍历,得到满足第一边相似条件的第一边匹配集;具体内容见上述实施例中方法对应部分,此处不再赘述。
第一节点匹配集获取模块,用于根据所述第一边匹配集,在所述摘要图中得到与待查询子图节点匹配的第一节点匹配集;具体内容见上述实施例中方法对应部分,此处不再赘述。
目标查询子图获取子模块,用于根据所述第一节点匹配集,消除所述第一边匹配集中不满足匹配条件的匹配边,得到目标查询子图。具体内容见上述实施例中方法对应部分,此处不再赘述。
作为本实施例一种可选的实施方式,上述查询结果获取模块203,包括:
第二节点匹配集获取模块,用于根据所述第一节点匹配集中的节点,在所述原始图中得到与所述第一节点匹配集中的节点对应的所有节点,将所述所有节点作为第二节点匹配集;具体内容见上述实施例中方法对应部分,此处不再赘述。
查询结果获取子模块,用于根据所述第二节点匹配集,得到所述原始图中的第二边匹配集,并消除所述第二节点匹配集中不满足匹配条件的匹配节点,得到所述图查询结果。具体内容见上述实施例中方法对应部分,此处不再赘述。
作为本实施例一种可选的实施方式,目标查询子图获取模块202中将原始图进行节点合并,得到摘要图,包括:
第一节点获取模块,用于在所述原始图中随机获取一个节点,作为第一节点;具体内容见上述实施例中方法对应部分,此处不再赘述。
两跳节点获取模块,用于获取所述第一节点在所述原始图中所有的两跳节点;具体内容见上述实施例中方法对应部分,此处不再赘述。
第二节点获取模块,用于从所述所有的两跳节点中得到与所述第一节点相似性最大的两跳节点,作为第二节点;具体内容见上述实施例中方法对应部分,此处不再赘述。
误差判断及节点合并模块,用于确定合并所述第一节点和所述第二节点引入的误差增量,当引入的误差增量小于或等于预设阈值,合并所述第一节点和所述第二节点,当引入的误差增量大于预设阈值,重新在原始图中随机获取一个节点;具体内容见上述实施例中方法对应部分,此处不再赘述。
重复模块,用于重复所述在所述原始图中随机获取一个节点,作为第一节点的步骤至所述确定合并所述第一节点和所述第二节点引入的误差增量,当引入的误差增量小于或等于预设阈值,合并所述第一节点和所述第二节点,当引入的误差增量大于预设阈值,重新在原始图中随机获取一个节点的步骤,直至所述摘要图的节点数量达到预设数量。具体内容见上述实施例中方法对应部分,此处不再赘述。
作为本实施例一种可选的实施方式,上述摘要图节点的预设数量为所述原始图节点数的1/10至1/3。具体内容见上述实施例中方法对应部分,此处不再赘述。
本申请实施例还提供一种电子设备,如图7所示,处理器310和存储器320,其中处理器310和存储器320可以通过总线或者其他方式连接。
处理器310可以为中央处理器(Central Processing Unit,CPU)。处理器310还可以为其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等芯片,或者上述各类芯片的组合。
存储器320作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态计算机可执行程序以及模块,如本发明实施例中的图查询方法对应的程序指令/模块。处理器通过运行存储在存储器中的非暂态软件程序、指令以及模块,从而执行处理器的各种功能应用以及数据处理。
存储器320可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储处理器所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施例中,存储器320可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至处理器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
所述一个或者多个模块存储在所述存储器320中,当被所述处理器310执行时,执行如图1所示实施例中的图查询方法。
上述电子设备的具体细节可以对应参阅图1所示的实施例中对应的相关描述和效果进行理解,此处不再赘述。
本实施例还提供了一种计算机存储介质,所述计算机存储介质存储有计算机可执行指令,该计算机可执行指令可执行上述任意方法实施例1中图查询方法。其中,所述存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)、随机存储记忆体(RandomAccess Memory,RAM)、快闪存储器(Flash Memory)、硬盘(Hard Disk Drive,缩写:HDD)或固态硬盘(Solid-State Drive,SSD)等;所述存储介质还可以包括上述种类的存储器的组合。
显然,上述实施例仅仅是为清楚地说明所作的举例,而并非对实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引伸出的显而易见的变化或变动仍处于本发明创造的保护范围之中。
Claims (9)
1.一种图查询方法,其特征在于,包括如下步骤:
获取待查询子图;
根据所述待查询子图在原始图对应的摘要图中进行查询,得到目标查询子图,所述原始图表征包含待查询子图对应的图信息的图,所述原始图由边对具有属性关系的节点进行连接得到,所述原始图中的边标注有连接的两个节点间的属性关系,所述摘要图表征对所述原始图进行节点合并后的图,将所述原始图进行节点合并,得到摘要图,包括:在所述原始图中随机获取一个节点,作为第一节点;获取所述第一节点在所述原始图中所有的两跳节点;从所述所有的两跳节点中得到与所述第一节点相似性最大的两跳节点,作为第二节点;确定合并所述第一节点和所述第二节点引入的误差增量,当引入的误差增量小于或等于预设阈值,合并所述第一节点和所述第二节点,当引入的误差增量大于预设阈值,重新在原始图中随机获取一个节点;重复所述在所述原始图中随机获取一个节点,作为第一节点的步骤至所述确定合并所述第一节点和所述第二节点引入的误差增量,当引入的误差增量小于或等于预设阈值,合并所述第一节点和所述第二节点,当引入的误差增量大于预设阈值,重新在原始图中随机获取一个节点的步骤,直至所述摘要图的节点数量达到预设数量;
根据所述待查询子图和所述目标查询子图在所述原始图中进行查询,得到图查询结果。
2.根据权利要求1所述的方法,其特征在于,所述根据所述待查询子图在原始图对应的摘要图中进行查询,得到目标查询子图,包括:
将所述待查询子图中的每条边对应的属性关系在所述摘要图中进行遍历,得到满足第一边相似条件的第一边匹配集;
根据所述第一边匹配集,在所述摘要图中得到与待查询子图节点匹配的第一节点匹配集;
根据所述第一节点匹配集,消除所述第一边匹配集中不满足匹配条件的匹配边,得到目标查询子图。
3.根据权利要求2所述的方法,其特征在于,所述根据所述待查询子图和所述目标查询子图在所述原始图中进行查询,得到图查询结果,包括:
根据所述第一节点匹配集中的节点,在所述原始图中得到与所述第一节点匹配集中的节点对应的所有节点,将所述所有节点作为第二节点匹配集;
根据所述第二节点匹配集,得到所述原始图中的第二边匹配集,并消除所述第二节点匹配集中不满足匹配条件的匹配节点,得到所述图查询结果。
4.根据权利要求1所述的方法,其特征在于,所述摘要图节点的预设数量为所述原始图节点数的1/10至1/3。
5.一种图查询装置,其特征在于,包括:
待查询子图获取模块,用于获取待查询子图;
目标查询子图获取模块,用于根据所述待查询子图在原始图对应的摘要图中进行查询,得到目标查询子图,所述原始图表征包含待查询子图对应的图信息的图,所述原始图由边对具有属性关系的节点进行连接得到,所述原始图中的边标注有连接的两个节点间的属性关系,所述摘要图表征对所述原始图进行节点合并后的图,将所述原始图进行节点合并,得到摘要图,包括:在所述原始图中随机获取一个节点,作为第一节点;获取所述第一节点在所述原始图中所有的两跳节点;从所述所有的两跳节点中得到与所述第一节点相似性最大的两跳节点,作为第二节点;确定合并所述第一节点和所述第二节点引入的误差增量,当引入的误差增量小于或等于预设阈值,合并所述第一节点和所述第二节点,当引入的误差增量大于预设阈值,重新在原始图中随机获取一个节点;重复所述在所述原始图中随机获取一个节点,作为第一节点的步骤至所述确定合并所述第一节点和所述第二节点引入的误差增量,当引入的误差增量小于或等于预设阈值,合并所述第一节点和所述第二节点,当引入的误差增量大于预设阈值,重新在原始图中随机获取一个节点的步骤,直至所述摘要图的节点数量达到预设数量;
查询结果获取模块,用于根据所述待查询子图和所述目标查询子图在所述原始图中进行查询,得到图查询结果。
6.根据权利要求5所述的装置,其特征在于,所述目标查询子图获取模块,包括:
第一边匹配集获取模块,用于将所述待查询子图中的每条边对应的属性关系在所述摘要图中进行遍历,得到满足第一边相似条件的第一边匹配集;
第一节点匹配集获取模块,用于根据所述第一边匹配集,在所述摘要图中得到与待查询子图节点匹配的第一节点匹配集;
目标查询子图获取子模块,用于根据所述第一节点匹配集,消除所述第一边匹配集中不满足匹配条件的匹配边,得到目标查询子图。
7.根据权利要求6所述的装置,其特征在于,所述查询结果获取模块,包括:
第二节点匹配集获取模块,用于根据所述第一节点匹配集中的节点,在所述原始图中得到与所述第一节点匹配集中的节点对应的所有节点,将所述所有节点作为第二节点匹配集;
查询结果获取子模块,用于根据所述第二节点匹配集,得到所述原始图中的第二边匹配集,并消除所述第二节点匹配集中不满足匹配条件的匹配节点,得到所述图查询结果。
8.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1-4任一项所述的图查询方法的步骤。
9.一种存储介质,其上存储有计算机指令,其特征在于,该指令被处理器执行时实现权利要求1-4任一项所述的图查询方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010481878.7A CN111651641B (zh) | 2020-05-29 | 2020-05-29 | 一种图查询方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010481878.7A CN111651641B (zh) | 2020-05-29 | 2020-05-29 | 一种图查询方法、装置及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111651641A CN111651641A (zh) | 2020-09-11 |
CN111651641B true CN111651641B (zh) | 2023-08-29 |
Family
ID=72344909
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010481878.7A Active CN111651641B (zh) | 2020-05-29 | 2020-05-29 | 一种图查询方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111651641B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112633094B (zh) * | 2020-12-10 | 2022-08-23 | 北京华大九天科技股份有限公司 | 同构图识别方法、装置、设备和介质 |
CN112948610B (zh) * | 2021-02-25 | 2022-07-29 | 杭州欧若数网科技有限公司 | 图查询语言的结果行为验证方法和系统 |
CN113190720B (zh) * | 2021-05-17 | 2023-01-17 | 深圳计算科学研究院 | 一种基于图压缩的图数据库构建方法、装置及相关组件 |
CN114564571B (zh) * | 2022-04-21 | 2022-07-29 | 支付宝(杭州)信息技术有限公司 | 一种图数据查询方法和系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105138601A (zh) * | 2015-08-06 | 2015-12-09 | 中国科学院软件研究所 | 一种支持模糊约束关系的图模式匹配方法 |
CN108388642A (zh) * | 2018-02-27 | 2018-08-10 | 中南民族大学 | 一种子图查询方法、装置及计算机可读存储介质 |
CN110222240A (zh) * | 2019-05-24 | 2019-09-10 | 华中科技大学 | 一种基于摘要图的空间rdf数据关键词查询方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10810210B2 (en) * | 2017-05-12 | 2020-10-20 | Battelle Memorial Institute | Performance and usability enhancements for continuous subgraph matching queries on graph-structured data |
-
2020
- 2020-05-29 CN CN202010481878.7A patent/CN111651641B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105138601A (zh) * | 2015-08-06 | 2015-12-09 | 中国科学院软件研究所 | 一种支持模糊约束关系的图模式匹配方法 |
CN108388642A (zh) * | 2018-02-27 | 2018-08-10 | 中南民族大学 | 一种子图查询方法、装置及计算机可读存储介质 |
CN110222240A (zh) * | 2019-05-24 | 2019-09-10 | 华中科技大学 | 一种基于摘要图的空间rdf数据关键词查询方法 |
Non-Patent Citations (1)
Title |
---|
宋宝燕 ; 贾春杰 ; 单晓欢 ; 丁琳琳 ; 丁兴艳 ; .大规模标签图中的动态Top-K兴趣子图查询.计算机应用.2018,(02),全文. * |
Also Published As
Publication number | Publication date |
---|---|
CN111651641A (zh) | 2020-09-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111651641B (zh) | 一种图查询方法、装置及存储介质 | |
US9934324B2 (en) | Index structure to accelerate graph traversal | |
US9547728B2 (en) | Graph traversal operator and extensible framework inside a column store | |
Liu et al. | U-skyline: A new skyline query for uncertain databases | |
US9405855B2 (en) | Processing diff-queries on property graphs | |
CN108388642B (zh) | 一种子图查询方法、装置及计算机可读存储介质 | |
US10650559B2 (en) | Methods and systems for simplified graphical depictions of bipartite graphs | |
CN111159184B (zh) | 元数据追溯方法、装置及服务器 | |
CN110909015B (zh) | 微服务的拆分方法、装置、设备及存储介质 | |
WO2017181866A1 (en) | Making graph pattern queries bounded in big graphs | |
JP6608972B2 (ja) | ソーシャルネットワークに基づいてグループを探索する方法、デバイス、サーバ及び記憶媒体 | |
US20160328445A1 (en) | Data Query Method and Apparatus | |
WO2018059298A1 (zh) | 模式挖掘方法、高效用项集挖掘方法及相关设备 | |
US20110179013A1 (en) | Search Log Online Analytic Processing | |
CN115905630A (zh) | 一种图数据库查询方法、装置、设备及存储介质 | |
Zhou et al. | Summarisation of weighted networks | |
CN111159577A (zh) | 一种社群划分方法、装置、存储介质及电子装置 | |
Epasto et al. | Massively parallel and dynamic algorithms for minimum size clustering | |
US20230126509A1 (en) | Database management system and method for graph view selection for a relational-graph database | |
CN109886299B (zh) | 一种用户画像方法、装置、可读存储介质及终端设备 | |
JP2014228975A (ja) | 検索装置、検索方法および検索プログラム | |
Ahmed et al. | Computing source-to-target shortest paths for complex networks in RDBMS | |
Brisaboa et al. | Rank-based strategies for cleaning inconsistent spatial databases | |
CN113536052B (zh) | 一种基于k边连通分量在大型网络中搜索个性化影响力社区的方法 | |
WO2024041221A1 (zh) | 一种选择率估算方法及估算装置 |
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 |