CN115795111B - 图数据的查询方法、装置、设备和存储介质 - Google Patents
图数据的查询方法、装置、设备和存储介质 Download PDFInfo
- Publication number
- CN115795111B CN115795111B CN202310061689.8A CN202310061689A CN115795111B CN 115795111 B CN115795111 B CN 115795111B CN 202310061689 A CN202310061689 A CN 202310061689A CN 115795111 B CN115795111 B CN 115795111B
- Authority
- CN
- China
- Prior art keywords
- data
- instruction
- node data
- node
- graph
- 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
Images
Classifications
-
- 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
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本说明书实施方式提供了一种图数据的查询方法、装置、设备和存储介质。方法包括:接收图数据查询指令;图数据查询指令包括用于指示在多个层级的节点数据中遍历出第一节点数据的第一指令段,和用于指示从第一节点数据筛选出第二节点数据的筛选条件的第二指令段;筛选条件限定指定的基准条件图数据与第二节点数据之间的关联关系;执行图数据查询指令,以根据第一指令段在图数据中遍历得到第一节点数据,并依照第二指令段的筛选条件,从第一节点数据中筛选出符合筛选条件的第二节点数据。通过依照图数据查询指令的第一指令段遍历出第一节点数据,并依照图数据查询指令中的第二指定段从第二节点数据中筛选出第二节点数据,提高图数据查询的便捷性。
Description
技术领域
本说明书中实施方式关于数据查询领域,具体关于一种图数据的查询方法、装置、设备和存储介质。
背景技术
现有技术中在查询指定的数据时,需要通过指定的数据的属性,在关系型数据库中进行查询。然而,不同的数据之间可能具有复杂的关联关系。例如,在医学领域,不同的医学数据之间的关联关系较为复杂。因此,在关系型数据库中无法较为便捷地依照指定的关联关系实现对目标数据的查询。
因此,现有技术中存在数据的查询较为繁琐的技术问题。
发明内容
有鉴于此,本说明书多个实施方式致力于提供一种网络本体语言表达式的生成方法、装置、设备和介质,以一定程度上提高了图数据查询的便捷性。
本说明书中多个实施方式提供一种图数据的查询方法,所述图数据包括多个层级的节点数据和用于指示所述节点之间的层级关系的边数据;所述查询方法包括:接收图数据查询指令;其中,所述图数据查询指令包括用于指示在多个层级的节点数据中遍历出第一节点数据的第一指令段,和用于指示从所述第一节点数据筛选出第二节点数据的筛选条件的第二指令段;其中,所述筛选条件包括在所述图数据中指定的基准条件图数据,以及以所述基准条件图数据作为基准,限定的所述基准条件图数据与第二节点数据之间的关联关系;执行所述图数据查询指令,以根据所述第一指令段在所述图数据中遍历得到第一节点数据,并依照所述第二指令段的筛选条件,从第一节点数据中筛选出符合所述筛选条件的第二节点数据。
本说明书的一个实施方式提供一种图数据的查询方法,所述图数据包括多个层级的节点数据和用于指示所述节点之间的层级关系的边数据;所述方法包括:接收图数据查询指令;其中,所述图数据查询指令包括用于指示在多个层级的节点数据中遍历出第一节点数据的第一指令段,和用于指示从所述第一节点数据筛选出第二节点数据的筛选条件的第二指令段;其中,所述筛选条件包括在所述图数据中指定的基准条件图数据,以及以所述基准条件图数据作为基准,限定的所述基准条件图数据与第二节点数据之间的关联关系;将所述图数据查询指令发送给数据库管理系统,用于所述数据库管理系统执行所述图数据查询指令,以根据所述第一指令段在所述图数据中遍历得到第一节点数据,并依照所述第二指令段的筛选条件,从第一节点数据中筛选出符合所述筛选条件的第二节点数据;接收所述数据库管理系统反馈的所述第二节点数据。
本说明书的一个实施方式提供一种图数据的查询装置,所述图数据包括多个层级的节点数据和用于指示所述节点之间的层级关系的边数据;所述装置包括:接收模块,用于接收图数据查询指令;其中,所述图数据查询指令包括用于指示在多个层级的节点数据中遍历出第一节点数据的第一指令段,和用于指示从所述第一节点数据筛选出第二节点数据的筛选条件的第二指令段;其中,所述筛选条件包括在所述图数据中指定的基准条件图数据,以及以所述基准条件图数据作为基准,限定的所述基准条件图数据与第二节点数据之间的关联关系;执行模块,用于执行所述图数据查询指令,以根据所述第一指令段在所述图数据中遍历得到第一节点数据,并依照所述第二指令段的筛选条件,从第一节点数据中筛选出符合所述筛选条件的第二节点数据。
本说明书的一个实施方式提供一种图数据的查询装置,所述图数据包括多个层级的节点数据和用于指示所述节点之间的层级关系的边数据;所述方法包括:指令接收模块,用于接收图数据查询指令;其中,所述图数据查询指令包括用于指示在多个层级的节点数据中遍历出第一节点数据的第一指令段,和用于指示从所述第一节点数据筛选出第二节点数据的筛选条件的第二指令段;其中,所述筛选条件包括在所述图数据中指定的基准条件图数据,以及以所述基准条件图数据作为基准,限定的所述基准条件图数据与第二节点数据之间的关联关系;发送模块,用于将所述图数据查询指令发送给数据库管理系统,用于所述数据库管理系统执行所述图数据查询指令,以根据所述第一指令段在所述图数据中遍历得到第一节点数据,并依照所述第二指令段的筛选条件,从第一节点数据中筛选出符合所述筛选条件的第二节点数据;数据接收模块,用于接收所述数据库管理系统反馈的所述第二节点数据。
本说明书实施方式提供一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现前述任一实施方式所述的方法。
本说明书实施方式提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现前述任一实施方式所述的方法。
本说明书提供的多个实施方式,通过接收图数据查询指令,并依照图数据查询指令的第一指令段遍历出第一节点数据,并依照图数据查询指令中的第二指定段从第二节点数据中筛选出第二节点数据,作为目标数据,实现解决提高数据查询的便捷性的技术问题。
附图说明
图1为本说明书的一个实施方式提供的不同端交互的示意图。
图2为本说明书的一个实施方式提供的图数据的查询方法的流程示意图。
图3为本说明书的一个实施方式提供的图数据的查询方法的流程示意图。
图4为本说明书的一个实施方式提供的图数据的查询装置的示意图。
图5为本说明书的一个实施方式提供的图数据的查询装置的示意图。
图6为本说明书的一个实施方式提供的计算机设备的示意图。
具体实施方式
需要说明的是,本说明书记载的实施方式所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,并且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准,并提供有相应的操作入口,供用户选择授权或者拒绝。
概述
在相关技术中,数据可以存储在关系型数据库中。不同数据之间的关联关系可以通过数据的属性或者外键进行指示。然而,在不同数据之间的关联关系较为复杂的情况下,使用关系型数据库无法较为便捷的依照指定的关联关系在关系型数据库中查询出目标数据。
为了便于对具有较为复杂的关联关系的数据进行数据查询,可以将数据以图形式进行存储。具体的,可以将数据存储在图数据库之中。然而,相关技术中的图数据查询方法无法较为便捷地对具有较为复杂的关联关系的图数据进行查询。
因此,有必要提供一种图数据的查询方法,可以通过依照图数据查询指令的第一指令段遍历出第一节点数据,并依照图数据查询指令中的第二指定段从第二节点数据中筛选出第二节点数据,作为目标数据,实现解决提高数据查询的便捷性的技术问题。
场景示例
本说明书中提供一种图数据的查询系统的应用场景示例。所述图数据的查询系统可以包括客户端和服务器。所述图数据的查询系统的用户可能是医学领域的工作人员。用户可能希望在以图形式存储医学数据的图数据库中查询指定的医学数据。具体的,用户可能希望在以图数据形式存储的中国药学术语集合中查询属于胸部疾病且属于心血管疾病的心脏病的疾病,并对查询到的疾病进行排序。
客户端可以接收根据用户输入生成的图数据查询指令。客户端在得到所述图数据查询指令后,可以将所述图数据查询指令发送给图数据库的数据库管理系统。
所述图数据可以包括指示医学实体的节点数据和指示医学实体之间的关系的边数据。
所述图数据查询指令可以包括第一指令段、第二指令段、第三指令段和第四指令段。所述第一指令段可以用于指示在图数据库中遍历出表示属于心脏病的疾病的第一节点数据。所述第二指令段可以用于指示在第一节点数据中筛选出表示查询属于胸部疾病且属于心血管疾病的疾病的第二节点数据。所述第三指令段可以用于指定所述图数据查询指令针对的目标图数据集合为中国药学术语集合。所述第四指令段可以用于指示对筛选出的第二节点数据执行的数据处理方式,即对查询到的第二节点数据进行排序。
具体的,所述图数据查询指令可以是“CPT>>(iri1, 心脏病) FILTER - (iri2,is a) =<- (iri4, 胸部疾病) AND - (iri3, is a) =<- (iri5, 心血管疾病) orderBy()”。其中,“CPT”可以表示第三指令段。第三指令段中的“CPT”可以是中国药学术语集合的集合标识。相应的,所述第三指令段可以用于指定所述图数据查询指令所针对的目标图数据集合是“CPT”所指向的中国药学术语集合。
所述图数据查询指令中“>>(iri1, 心脏病)”可以表示第一指令段。第一指令段中“(iri1, 心脏病)”可以表示基准图数据的基准图数据标识。具体的“(iri1, 心脏病)”可以指代表示心脏病的图数据。第一指令段中“>>”可以是第一关系指令符。所述第一关系指令符可以用于指代需要遍历出的第一节点数据与基准图数据之间的关联关系。具体的,“>>”可以表示后代关联关系。相应的,第一指令段“>>(iri1, 心脏病)”可以表示遍历出与基准图数据“(iri1,心脏病)”后代关联关系的第一节点数据。即,将基准图数据“(iri1, 心脏病)”的后代遍历出节点数据作为第一节点数据。
所述图数据查询指令中“FILTER”可以表示用于区分第一指令段和第二指令段的关键字。具体的,“FILTER”可以表示处于“FILTER”之后的第二指令段用于对处于“FILTER”之前的第一指令段遍历出的第一节点数据进行筛选。
所述图数据查询指令中“- (iri2, is a) =<- (iri4, 胸部疾病) AND - (iri3,is a) =<- (iri5, 心血管疾病)”可以表示第二指令段。第二指令段中“- (iri2,is a) =<- (iri4, 胸部疾病)”和“- (iri3, isa) =<- (iri5, 心血管疾病)”可以表示两个被“AND”表示的逻辑运算符划分出的第二指令子段。其中,第二指令子段可以用于指示子筛选条件。
其中,“- (iri2, is a)”可以表示一个第二指令子段中的基准图数据的基准图数据标识。具体的,“- (iri2, is a)”表示的可以is a关系的边数据。“-”可以表示对应所述基准条件图数据的第二关系指令符。“(iri4,胸部疾病)”可以表示用于确定从属条件图数据的基准从属条件图数据的标识。“<-”可以表示对应基准从属条件图数据的第三关系指令符。具体的,“-”可以表示自身关联关系。“<-”可以表示子代关联关系。其中,第二指令子段中“=”可以表示用于指示子筛选条件中限定的基准条件图数据和从属条件图数据之间的指定的匹配关系。具体的“=”可以表示基准条件图数据和从属条件图数据需要相同。该第二指令子段可以用于表示从第一节点数据中筛选出的第二节点数据可以满足与(iri2, is a)之间满足第二关系指令符指示的第二关联关系,并且(iri2, is a)还可以是(iri4, 胸部疾病)的子代。
同样的,“(iri3, is a)”可以表示另一个第二指令子段中的基准图数据的基准图数据标识。具体的,“(iri3, is a)”可以指代另一个表示is a关系的边数据。“-”可以表示对应所述基准条件图数据的第二关系指令符。“(iri5,心血管疾病)”可以表示用于确定从属条件图数据的基准从属条件图数据的标识。“<-”可以表示对应基准从属条件图数据的第三关系指令符。具体的,“-”可以表示自身关联关系。“<-”可以表示子代关联关系。其中,该第二指令子段中“=”也可以表示用于指示子筛选条件中限定的基准条件图数据和从属条件图数据之间的指定的匹配关系。具体的“=”可以表示基准条件图数据和从属条件图数据需要相同。该第二指令子段可以用于表示从第一节点数据中筛选出的第二节点数据可以满足与(iri3, is a)之间满足第二关系指令符指示的第二关联关系,并且(iri3, is a)还可以是(iri5, 心血管疾病)的子代。
相应的,第二指令段通过逻辑运算符“AND”连接两个第二指令子段,可以表示第二节点数据的需要同时满足第二指令子段表示的子筛选条件。
“orderBy()”可以表示第四指令段。第四指令段可以通过数据处理函数组成。针对不同的数据处理方式可以对应有不同的数据处理函数。其中,“orderBy()”可以表示排序的数据处理函数。所述处理数据处理函数可以用于对第二节点数据进行排序。
图数据库的数据库管理系统可以在接收到图数据的查询指令后,在图数据库查询出属于图数据(iri1, 心脏病)指示的心脏病的后代的第一节点数据,并且在第一节点数据中筛选出第二节点数据。其中,筛选出的第二节点数据需要满足第二指令子段指示的筛选条件。具体的,第二节点数据可以包括心律失常性疾病、冠心病、先天性心脏病等属于胸部疾病且属于心血管疾病的心脏病的疾病的心脏病。
系统架构
请参阅图1,本说明书实施方式提供一种图数据的查询系统。所述网络本体语言表达式的生成系统可以包括客户端和服务器。
所述客户端可以是具有网络访问能力的电子设备。所述客户端可以用于接收用户提供的图数据查询指令。具体的,例如,客户端可以是台式电脑、平板电脑、笔记本电脑、智能手机、数字助理、智能可穿戴设备、导购终端、电视机、智能音箱、麦克风等。其中,智能可穿戴设备包括但不限于智能手环、智能手表、智能眼镜、智能头盔、智能项链等。或者,客户端也可以为能够运行于所述电子设备中的软件。
所述服务器可以是具有一定运算处理能力的电子设备。所述服务器可以部署有数据库管理系统。所述服务器可以用于执行所述图数据查询指令。服务器可以具有网络通信模块、处理器和存储器等。当然,所述服务器也可以是指运行于所述电子设备中的软体。所述服务器还可以为分布式服务器,可以是具有多个处理器、存储器、网络通信模块等协同运作的系统。或者,服务器还可以为若干服务器形成的服务器集群。或者,随着科学技术的发展,服务器还可以是能够实现说明书实施方式相应功能的新的技术手段。例如,可以是基于量子计算实现的新形态的“服务器”。
示例的方法
请参阅图2,本说明书的一个实施方式提供一种图数据的查询方法。所述图数据的查询方法可以应用于服务器。具体的,所述图数据的查询方法可以应用于数据库管理系统。所述图数据包括多个层级的节点数据和用于指示所述节点之间的层级关系的边数据。所述图数据的查询方法可以包括以下步骤。
步骤S110:接收图数据查询指令;其中,所述图数据查询指令包括用于指示在多个层级的节点数据中遍历出第一节点数据的第一指令段,和用于指示从所述第一节点数据筛选出第二节点数据的筛选条件的第二指令段;其中,所述筛选条件包括在所述图数据中指定的基准条件图数据,以及以所述基准条件图数据作为基准,限定的所述基准条件图数据与第二节点数据之间的关联关系。
在一些情况下,在接收到图数据的查询指令之后,可以根据图数据查询指令中的第一指定段和第二指令段,在节点数据中遍历出第一指令段指示的第一节点数据,并且进一步地从第一节点数据中筛选出第二指令段指示的第二节点数据,可以较为灵活地查询满足不同要求的第二节点数据。
所述图数据可以包括多个层级的节点数据和用于指示所述节点之间的层级关系的边数据。所述图数据可以通过图结构进行存储。其中,所述节点数据可以用于表示实体。所述边数据可以用于表示不同节点数据之间的层级关系。所述边数据可以有多个类别。具体的,所述边数据可以包括表示“is a”层级关系的边数据以及包括表示“由于”层级关系的边数据等。针对医学图数据,所述层级关系还可以包括表示“病位”的边数据等。在一些实施方式中,边数据可以有方向,可以用于表征不同节点数据之间的从属关系。当然,节点数据和边数据都可以存在相应的属性。具体的,例如,节点数据1可以表示“张三”。节点数据2可以表示“张四”。节点数据1和节点数据2相应的属性可以包括姓名、家庭、学习经历等相关数据。节点数据1和节点数据2之间可以存在有边数据。所述边数据可以用于指示张三和张四之间的关系。具体的,边数据可以是节点数据1指向节点数据2,边数据的属性可以表示张三是张四的哥哥。在一些实施方式中,所述节点数据可以指代医学领域的医学实体。所述边数据可以表示不同医学实体之间的医学关系。
所述图数据查询指令表示用于查询指定的目标图数据的查询语句。所述目标图数据可以指代所述第二节点数据或者经过数据处理后的第二节点数据。所述图数据查询指令可以针对图数据库。当然,所述图数据查询指令也可以是通用的指令,并且可以转化为不同数据库支持的查询指令。
所述第一节点数据可以指代依照图数据查询指令中的第一指令段遍历得到的节点数据。所述第二节点数据可以指代依照图数据的查询指令中的第二指令段,从所述第一节点数据中筛选出满足所述第二指令段指示的筛选条件的第一节点数据。
所述第一指令段可以用于在所述节点数据中遍历出第一节点数据。例如,所述节点数据可以表示不同的药品。所述第一指令段可以用于在所述节点数据中遍历出治疗新型冠状病毒感染的药品所对应的节点数据,作为第一节点数据。具体的,例如,所述第一指令段可以包括指示新型冠状病毒感染的药品的节点数据的节点标识。接着以指示新型冠状病毒感染的药品的节点数据为起始数据,遍历所述起始数据的子代,可以遍历出表示能治疗新型冠状病毒感染的药品节点数据,作为第一节点数据。
所述第二指令段可以用于指示在所述第一节点数据中筛选出第二节点数据的筛选条件。相应的,图数据查询指令被执行的过程中,可以依照第二指令段指示的筛选条件在第一节点数据中筛选出第二节点数据。具体的,例如,第一节点数据可以表示治疗新型冠状病毒感染的药品。所述筛选条件可以表示药品是口服类药品。相应的,服务器可以从表示新型冠状病毒感染的药品的第一节点数据中,筛选出从属于表示口服类药品的节点数据的第一节点数据,作为第二节点数据。具体的,例如,服务器可以在指示表示治疗新型冠状病毒感染的药品的子代中筛选出第一节点数据。接着,针对每个第一节点数据,查询所述第一节点数据的父代中是否存在指示口服类药品的节点数据。在所述第一节点数据的父代中存在指示口服类药品的节点数据的情况下,将所述第一节点数据确定为第二节点数据。
所述筛选条件可以表示用于限定基准条件图数据与第二节点数据之间的关联关系。其中,所述基准条件图数据可以由第二指令段指定图数据。具体的,例如,所述基准条件图数据可以是指定的编号为1的节点数据,所述筛选条件可以限定第二节点数据是所述编号为1的节点数据的后代。相应的,图数据查询指令被执行的过程中,服务器可以在根据第一指令段查询到的第一节点数据中,选择是编号为1的节点数据的后代的第一节点数据作为第二节点数据。当然,图数据查询指令被执行的过程中,服务器也可以先定位到所述编号为1的节点数据,接着遍历编号为1节点数据的后代,并判断编号为1节点数据的后代中是否存在所述第一节点数据。在编号为1节点数据的后代中存在所述第一节点数据的情况下,可以将所述第一节点数据确定为第二节点数据。在一些实施方式中,所述基准条件图数据也可以是指代“is a”关系的边数据。所述第二指令段指示的筛选条件可以限定第一节点数据是指代“is a”关系的边数据的子代。相应的,可以筛选出表示“is a”关系的边数据的子代的第一节点数据,作为第二节点数据。
所述接收图数据查询指令的方法,可以是客户端发送给部署有数据库管理系统的服务器后,服务器接收得到。当然,所述图数据查询指令也可以是数据中台在接收到图数据查询指令以及所述图数据查询指令针对的目标数据库后,将图数据查询指令转换为目标数据库支持的数据查询指令后,将所述数据查询指令发送给部署有数据库管理系统的服务器后,服务器接收得到。
步骤S120:执行所述图数据查询指令,以根据所述第一指令段在所述图数据中遍历得到第一节点数据,并依照所述第二指令段的筛选条件,从第一节点数据中筛选出符合所述筛选条件的第二节点数据。
在一些情况下,服务器在接收到所述图数据查询指令的情况下,可以执行所述图数据查询指令,以得到第二节点数据。通过图数据查询指令可以提高图数据查询的便捷性。
所属于执行所述图数据查询指令的方法,可以是先依照图数据查询指令中的第一指令段在图数据中遍历得到第一节点数据。进一步的,并依照所述第二指令段的筛选条件,从第一节点数据中筛选出符合所述筛选条件的第二节点数据。
具体的,第一指令段可以包括指示基准图数据的基准图数据标识和指示第一节点数据与基准图数据之间的关联关系的第一关系指令符。所述第一关联指令符指示的关联关系可以作为第一关联关系。依照图数据查询指令中的第一指令段在图数据中遍历得到第一节点数据的方法,可以是根据第一指令段中指示的基准图数据和据第一指令段中指定的第一节点数据与所述基准图数据之间的第一关联关系,以所述基准图数据为起始数据,依照指定的第一关联关系进行遍历,得到所述第一节点数据。当然,依照图数据查询指令中的第一指令段在图数据中遍历得到第一节点数据的方法,也可以是依次遍历图数据中的每个节点数据,并判断是否与基准图数据之间存在第一指令段指定的第一关联关系。将与基准图数据存在所述关联关系的节点数据作为第一节点数据。
所述第二指令段可以包括指示基准条件图数据的基准条件图数据标识和指示能作为第二节点数据的第一节点数据与基准条件图数据之间的关联关系的第二关系指令符。所述第二关联指令符指示的关联关系可以作为第二关联关系。依照所述第二指令段的筛选条件,从第一节点数据中筛选出符合所述筛选条件的第二节点数据的方法,可以是依次遍历每个第一节点数据,并判断所述第一节点数据是否与第二指令段中指定的基准条件图数据之间存在第二指令段指定的第二关联关系。将与基准条件图数据存在所述第二关联关系的第一节点数据作为第二节点数据。当然,依照所述第二指令段的筛选条件,从第一节点数据中筛选出符合所述筛选条件的第二节点数据的方法,也可以是先在所述图数据中定位到所述基准条件图数据。接着在图数据中遍历出与所述基准条件图数据存在所述第二关联关系的第三节点数据。进一步的,将第三节点数据和第一节点数据之间的进行交集处理,得到所述第二节点数据。
在一些实施方式中,所述第一节点数据根据与基准图数据具有第一关联关系的节点数据形成;所述第一指令段包括指示所述基准图数据的基准图数据标识和表示所述第一关联关系的第一关系指令符;所述执行所述图数据查询指令的步骤,包括:在所述图数据中查询出所述图数据查询指令中基准图数据标识所指示的基准图数据;根据所述第一关系指令符表示的第一关联关系,以所述基准图数据作为起始数据,遍历出与所述基准图数据具有所述第一关联关系的节点数据,形成所述第一节点数据;依照所述第二指令段的筛选条件,从所述第一节点数据中筛选出符合所述筛选条件的第二节点数据。
在一些情况下,所述第一节点数据可以表示与基准图数据具有第一关联关系的图数据。相应的,第一指令段中可包括示所述基准图数据的基准图数据标识和表示所述第一关联关系的第一关系指令符。将所述基准图数据标识和所述第一关系指令符进行组合,可以表征出所述第一节点数据。进一步的,服务器在执行所述图数据查询指令的过程中,可以依照所述基准图数据和所述第一关系指令符遍历出第一节点数据。
所述图数据中的节点数据和边数据可以对应有数据标识。所述数据标识可以是图数据的唯一编号。在一些实施方式中,所述数据标识可以通过所述图数据的唯一编号和所述图数据的描述信息形成。具体的,例如,节点数据1的数据标识可以是“(iri1, fsn1)”。其中,iri1可以表示节点数据1的唯一编号。fsn1可以表示节点数据1的描述信息。或者,边数据1的数据标识可以是“(iri2, isa)”。其中,iri2可以表示边数据1的唯一编号。is a可以用于描述边数据的类型。
所述基准图数据可以表示第一指令段中指定的图数据。所述基准图数据可以用于遍历出第一节点数据。具体的,所述基准图数据可以作为遍历所述第一节点数据的起始数据。所述基准图数据标识可以用于指示所述基准图数据。所述基准图数据可以是指定的节点数据,额也可以是指定的边数据。
所述第一关系指令符可以用于指示第一节点数据与所述基准图数据之间的关联关系。所述关联关系可以称为第一关联关系。相应的,以所述基准图数据为基准,依照所述第一指令符指示的第一关联关系,可以在图数据中遍历出第一节点数据。不同的第一关联关系所对应的第一关系指令符可以不同。具体的,例如,所述第一关联关系可以包括:自身、父代、祖代、祖代及自身、子代、后代、后代及自身等。其中,表示自身的第一关系符可以是“-”。表示父代的第一关系符可以是“->”。表示祖代的第一关系符可以是“<<”。表示祖代及自身的第一关系符可以是“<<-”。表示子代的第一关系符可以是“<-”。表示后代的第一关系符可以是“>>”。表示后代及自身的第一关系符可以是“>>-”。
所述第一指令段可以根据基准图数据标识和第一关系指令符形成。具体的,第一指令段可以通过基准图数据标识和第一关系指令符拼接得到。例如,所述第一指令段可以用于筛选出节点数据1的后代。其中,节点数据1可以作为基准图数据。节点数据1的节点标识为“(iri1, fsn1)”,表示后代的第一关系指令符为“>>”。相应的,第一指令段可以为“>>(iri1, fsn1)”。当然,所述第一关系指令符和基准图数据标识之间的位置关系也可以适应性改变。在一些实施方式中,基准图数据标识和第一关系指令符之间也可以通过指定符号进行拼接。例如,可以通过“+”或者“-”等指定符号拼接基准图数据标识和第一关系指令符。
根据所述第一关系指令符表示的第一关联关系,以所述基准图数据作为起始数据,遍历出与所述基准图数据具有所述第一关联关系的节点数据,可以形成所述第一节点数据。具体的,以所述基准图数据作为起始数据,遍历出与所述基准图数据具有所述第一关联关系的节点数据的方法,可以依照所述第一关联关系进行遍历。具体的遍历方式可以是基于广度优先搜索进行遍历。当然,也可以基于深度优先搜索进行遍历。例如,所述第一关联关系可以表示所述基准图数据的后代和自身,那么可以以基准图数据作为起始数据,基于广度优先搜索遍历出基准图数据以及基准图数据的后代中的节点数据,作为第一节点数据。
在一些实施方式中,所述图数据查询指令还包括用于指定所述图数据查询指令所针对的目标图数据集合的第三指令段;不同图数据集合中的至少部分图数据不同;所述第三指令段携带有指示所述目标图数据集合的目标图数据集合标识;所述执行所述图数据查询指令的步骤,包括:执行所述图数据查询指令,以在所述目标图数据集合标识指示的目标图数据集合中,根据所述第一指令段遍历得到第一节点数据,并依照所述第二指令段的筛选条件,从第一节点数据中筛选出符合所述筛选条件的第二节点数据。
在一些情况下,用户对图数据进行查询过程中可能希望在指定的图数据集合中进行查询。因此,所述图数据查询指令还包括用于指定所述图数据查询指令所针对的目标图数据集合的第三指令段,以便于用户指示查询图数据的目标数据集合。另外,在新增图数据集合之后,也可以利用新增的图数据集合的图数据集合标识,在新增的图数据集合中进行查询,可以实现不同数据源的动态扩展。
所述第三指令段可以用于指定所述图数据查询指令所针对的目标图数据集合。具体的,所述第三指令段可以包括目标图数据集合的目标图数据集合标识。服务器在执行所述图数据查询指令的过程中,可以依照所述第三指令段中的目标图数据集合标识,在所述目标图数据集合标识指示的目标图数据集合中遍历出第一节点数据,并依照所述第二指令段的筛选条件,从第一节点数据中筛选出符合所述筛选条件的第二节点数据。
针对不同的图数据集合,所述目标图数据集合标识可以不同。具体的,例如,中国医学术语集合可以作为一个图数据集合。指向中国医学术语集合的图数据集合标识可以通过“CCT”表示。中国药学术语集合可以作为另一个图数据集合。指向中国医学术语集合的图数据集合标识可以通过“CPT”表示。其中,不同图数据集合中的至少部分图数据不同。在一些实施方式中,用户可能希望在默认的图数据集合中进行查询,那么可以采用指向默认的图数据集合的图数据集合标识作为目标图数据集合。例如,默认的图数据集合的图数据集合标识可以是“TARGET”。其中,默认的图数据集合可以是全部的图数据集合,也可以是预先配置时指定的图数据集合。
所述第三指令段可以根据目标图数据集合标识形成。具体的,例如,在所述图数据查询指令针对中国医学术语集合的情况下,第三指令段可以是“CCT”。当然,在所述图数据查询指令针对中国药学术语集合的情况下,第三指令段可以是“CPT”。在一些实施方式中,所述第三指令段可以位于图数据查询指令的开头位置,以便于计算机在读取指令的过程中第一时间确定目标图数据集合。
在一些实施方式中,所述第一指令段包括集合运算符且所述第一指令段被所述集合运算符划分为多个第一指令子段;所述第一指令子段用于在所述图数据中遍历出初始节点数据集;所述集合运算符用于指示依照第一指令子段遍历出的初始节点数据集之间的集合运算关系;所述执行所述图数据查询指令的步骤,包括:基于所述第一指令子段,分别在所述图数据中提取出多个初始节点数据集;其中,所述初始节点数据集包括所述节点数据;根据所述集合运算符表示的集合运算关系,对所述多个初始节点数据集进行集合运算,得到目标节点数据集;其中,所述目标节点数据集中的节点数据作为所述第一节点数据;依照所述第二指令段的筛选条件,从第一节点数据中筛选出符合所述筛选条件的第二节点数据。
在一些情况下,为了便于用户理解、记忆,预设的第一关联关系的类别有限。然而,用户希望查询的第一节点数据可能较为复杂,仅依照基准图数据和在预设的第一关联关系确定的目标第一关联关系无法满足查询需求。因此,所述第一指令段可以包括集合运算符和第一指令子段。其中,所述第一指令子段用于在所述图数据中遍历出初始节点数据集。所述集合运算符可以用于对初始节点数据集进行集合运算,以实现较为复杂的第一节点数据的查询。
所述第一指令段可以包括集合运算符。所述第一指令段可以被所述集合运算符划分为多个第一指令子段。其中,第一指令子段可以用于在图数据中遍历出初始节点数据集。所述集合运算关键字可以用于指示依照第一指令子段遍历出的初始节点数据集之间的集合运算关系。
所述集合运算符可以用于指示集合运算关系。所述集合运算关系可以至少包括交集和并集。表示交集的集合运算符可以通过“AND”表示。表示并集的集合运算符可以通过“OR”表示。当然,在一些实施方式中,表示交集的集合运算符可以通过“&&”表示。表示并集的集合运算符可以通过“||”表示。
所述第一指令子段可以用于在图数据中遍历出初始节点数据集。具体的,所述第一指令子段可以分别包括基准图数据的基准图数据标识,以及指示第一关联关系的第一关系符。通过所述基准图数据标识和所述第一关系符指示的第一关联关系,可以在图数据中可以遍历出与基准图数据满足所述第一关联关系的节点数据,形成所述初始节点数据集。进一步的,将依照第一指令子段的遍历出的初始节点数据集依照所述集合运算符指示的集合运算关系进行集合运算,可以得到所述第一节点数据。
具体的,例如,所述第一指令段可以为“>>(iri1, fsn1) AND>>(iri2, fsn2)”。其中,所述第一指令段可以包括一个集合运算符“AND”和两个第一指令子段“>>(iri1,fsn1)”和“>>(iri2, fsn2)”。其中,“iri1”可以用于指示节点数据1。节点数据1可以作为一个第一指令子段的基准图数据。“>>(iri1, fsn1)”可以用于表示节点数据1的后代形成的初始节点数据集1。“iri2”可以用于指示节点数据2。节点数据2可以作为另一个第一指令子段的基准图数据。“>>(iri2, fsn2)”可以用于表示节点数据2的后代形成的初始节点数据集2。相应的,通过第一指令段遍历出的第一节点数据可以表示对初始节点数据集1和初始节点数据集2执行集合运算符“AND”所表示的交集运算后得到的节点数据。
基于所述第一指令子段,分别在所述图数据中提取出多个初始节点数据集的方法,可以是依照第一指令子段中的基准图数据标识和第一关系符,以所述基准图数据标识指示的基准图数据作为起始数据,遍历出与所述基准图数据具有所述第一关系符指示的第一关联关系的节点数据,作为初始节点数据集中的节点数据。当然,基于所述第一指令子段,分别在所述图数据中提取出多个初始节点数据集的方法,也可以是依照第一指令子段在图数据查询指令中的位置,依次遍历出在前的初始节点数据集和在后的初始节点数据集。进一步的,将在前的初始节点数据集和在后的初始节点数据集之间进行集合运算后,将运算结果更新为在前的初始节点数据集。进一步的,依次读取未执行的第一指令子段,遍历出初始节点数据集作为在后的初始节点数据集并与在前的初始节点数据集之间进行集合运算,直到全部第一指令子段被全部执行。
根据所述集合运算符表示的集合运算关系,对所述多个初始节点数据集进行集合运算,得到目标节点数据集的方法,可以是一种初始节点数据集所对应的第一指令子段在图数据查询指令中的位置,依次将在前的初始节点数据集和在后的初始节点数据集之间进行集合运算。
在一些实施方式中,所述图数据查询指令还包括第四指令段;所述第四指令段用于指示对筛选出的第二节点数据执行的数据处理方式;所述数据处理方式至少包括以下之一:数据统计、数据分类、数据排序和数据分页;所述执行所述图数据查询指令的步骤,包括:执行所述图数据查询指令,以在根据所述第一指令段在所述图数据中遍历得到第一节点数据,并依照所述第二指令段的筛选条件,从第一节点数据中筛选出符合所述筛选条件的第二节点数据之后,根据所述第四指令段指示的数据处理方式对所述第二节点数据进行数据处理,得到目标节点数据。
在一些情况下,用户可能希望得到的第二节点数据可是经过指定的数据处理方式处理后得到。因此,所述图数据查询指令还可以包括第四指令段。所述第四指令段可以用于指定数据处理方式,以便于服务器在查询出第二节点数据之后,对第二节点数据进行数据处理后反馈给用户。在一定程度上提高了用户获取目标节点数据的便捷性。
所述第四指令段用于指示对筛选出的第二节点数据执行的数据处理方式。所述数据处理方式可以包括数据统计、数据分类、数据排序、数据分页等。具体的,所述第四指令段可以包括指示所述数据处理方式的数据处理函数。例如,“count()”可以表示数据统计。具体的,使用“count()”函数可以对第二节点数据的数量进行统计。“groupBy()”可以表示数据分类。具体的,使用“groupby()”函数可以表示对第二节点数据的进行分类。“orderBy()”可以表示数据排序。具体的,使用“orderBy()”函数可以表示对第二节点数据的进行排序。“range()”可以表示数据分页。具体的,使用“range()”函数可以表示对第二节点数据的加入分页符,进行分页展示。在一些实施方式中,所述数据处理函数还可以包括输入参数。
所述第四指令段可以位于所述图数据查询指令的末尾,可以更加清晰地指示所述第四指令段所针对的节点数据是执行在前的指令段得到的第二节点数据。
在一些实施方式中,所述第二指令段包括表示所述基准条件图数据的基准条件图数据标识,以及指示所述基准条件图数据与第二节点数据之间的关联关系的第二关系指令符;执行所述图数据查询指令的步骤,包括:在第一节点数据中指定当前第一节点数据;根据所述基准图数据节点标识在所述图数据中定位基准条件图数据;遍历与所述基准条件图数据存在所述第二关系指令符表示的关联关系的节点数据中是否存在所述当前第一节点数据;将存在的当前第一节点数据作为第二节点数据。
在一些情况下,所述第二指令段可以包括指示基准条件图数据的基准条件图数据标识和指示所述基准条件图数据与第二节点数据之间的关联关系的第二关系指令符。通过基准条件图数据和所述关联关系,可以较为便捷地在第一节点数据中筛选出第二节点数据。
在一些实施方式中,第一指令段和第二指令段之间可以通过指定的标识符进行区分。具体的,例如,所述指定的标识符可以是“FILTER”。当然,所述指定的标识符也可以是“#”等字符。
所述第二指令段可以用于限定第二节点数据和基准条件图数据之间的关联关系。具体的,所述第二指令段可以包括基准条件图数据的基准条件图数据标识,以及用于指示第二节点数据和基准条件图数据之间的关联关系的第二关系指令符。
所述第二关系指令符可以结合所述基准条件图数据以用于对第一节点数据进行筛选,得到第二节点数据。具体的,所述第二关系指令符可以表示第一节点数据中筛选得到的第二节点数据,与基准条件图数据之间需要满足的关联关系。从所述第一节点数据中筛选出的第二节点数据与基准条件图数据之间可以存在所述第二关系指令符指示的关联关系。所述关联关系可以包括:自身、父代、祖代、祖代及自身、子代、后代、后代及自身等。
具体的,例如,遍历得到的第一节点数据可以是节点数据1的后代。相应的,节点数据1可以作为基准图数据,基准图数据对应的第一关系指令符可以是指示后代关系的“>>”符号。节点数据1的节点标识可以是(iri1, fsn1)。基准条件图数据可以是节点数据2。相应的,基准条件图数据标识可以是(iri2, fsn2)。所述第二关系指令符也可以是表示后代关系的“>>”符号。相应的,图数据查询指令可以通过“>>(iri1, fs1) FILTER>>(iri2, fs2)”表示。图数据查询指令中,“>>(iri1, fs1)”可以是第一指令段。用于筛选出节点数据1的后代,作为第一节点数据。“FILTER”可以是第一指令段和第二指令段之间的指令标识符。“>>(iri2, fs2)”可以是第二指令段,用于限定能成为第二节点数据的第一节点数据和(iri2,fs2)表示的基准条件图数据之间需要满足“>>”表示的后代的关联关系。即,第二节点数据属于(iri2, fs2)的后代。图数据查询指令查询得到的第二节点数据需要满足父代中存在(iri2, fs2),且属于(iri1, fs1)的后代的节点数据。
所述第二指令段被执行的过程中,可以先在第一节点数据中指定当前第一节点数据。接着,根据所述基准条件图数据标识在所述图数据中定位基准条件图数据。进一步的,以所述基准条件图数据为起始数据,遍历与所述基准条件图数据具有所述第二关系指令符表示的关联关系的节点数据,并判断所述节点数据中是否存在当前第一节点数据。在所述节点数据中存在当前第一节点数据的情况下,将所述当前第一节点数据作为第二节点数据。
在第一节点数据中指定当前第一节点数据的方法,可以是依照指定次序对第一节点数据进行遍历,将当前遍历的第一节点数据作为所述当前第一节点数据。当然,也可以随机在未被选中过的第一节点数据中选择第一节点数据,作为当前第一节点数据。
根据所述基准条件图数据标识在所述图数据中定位基准条件图数据的方法,可以是在图数据中遍历出所述基准条件图数据标识指向的基准条件图数据。当然,根据所述基准条件图数据标识在所述图数据中定位基准条件图数据的方法,也可以是根据图数据的节点标识的索引,直接定位到所述基准条件图数据。
在一些实施方式中,所述筛选条件还包括限定的所述基准条件图数据和指定的从属条件图数据之间的匹配关系;执行所述图数据查询指令的步骤,包括:根据所述第一指令段在所述图数据中遍历得到第一节点数据;将与所述基准条件图数据具有所述筛选条件限定的关联关系,且所述基准条件图数据与所述从属条件图数据之间还符合所述匹配关系的第一节点确定为所述第二节点数据。
在一些情况下,所述筛选条件可以限定基准条件图数据需要满足的指定要求。具体的,所述指定要求可以要求基准条件图数据和指定的从属条件图数据之间具有指定的匹配关系。在第一节点数据与所述基准条件图数据之间满足第一关系指令符指示的关联关系,且所述基准条件图数据还符合与从属条件图数据之间的指定的匹配关系的情况下,可以将所述第一节点数据确定为所述第二节点数据,从而可以提高图数据查询中筛选条件设置的灵活性,以便于适用于具有复杂关系的图数据的数据查询。
所述从属条件图数据可以用于限定所述基准条件图数据。所述从属条件图数据可以通过基准从属条件图数据的标识和相应的第三关系指令符得到。具体的,例如,基准从属条件图数据的标识可以是“(iri3, fs3)”。第三关系指令符可以是表示后代的“>>”符号。相应的“>> (iri3, fs3)”这一指令段可以用于指示从属条件图数据,并且从属条件图数据可以表示属于(iri3, fs3)的后代的图数据。
所述匹配关系可以用于表示图数据查询指令中指定的基准条件图数据和从属条件图数据之间的关联关系是否满足预设匹配关系。基准条件图数据和从属条件图数据之间的关联关系可以包括:自身、父代、祖代、祖代及自身、子代、后代、后代及自身等。所述匹配关系可以包括准条件图数据和从属条件图数据之间等于、不等于以及对应的集合关系等。其中,不同的匹配关系可以对应有不同的匹配关系指令符。例如,表示等于的匹配关系指令符可以是“=”。表示不等于的的匹配关系指令符可以是“!=”。
相应的,第二指令段可以包括基准条件图数据标识、第二关系指令符、指示匹配关系的匹配关系指令符、第三关系指令符和基准从属条件图数据标识。具体的,例如,“>>(iri1, fsn1) FILTER<- (iri2, fsn2) =<- (iri3, fsn3)”可以是一个图数据查询指令。其中,“<-”表示子代关系。“>>”表示后代关系。(iri1,fsn1)、(iri2, fsn2)、(iri3,fsn3)分别表示基准图数据标识、基准条件图数据标识和基准从属条件图数据的标识。“=”可以是指定的匹配关系指令符。“FILTER”可以是第一指令段和第二指令段之间的指令标识符。其中,“>>(iri1, fsn1)”是可以第一指令段,用于筛选出(iri1, fsn1)的后代的节点数据作为第一节点数据。“<- (iri2,fsn2) =<- (iri3, fsn3)”可以是第二指令段,用于限定第一节点数据在满足属于(iri2,fsn2) 指示的图数据的子代,并且(iri2, fsn2)指示的图数据还需要满足和(iri3,fsn3)指示的图数据的子代相同的情况下,将对应的第一节点数据作为第二节点数据。在一些实施方式中,第二指令段也可以设定为第一节点数据在满足属于(iri2,fsn2) 指示的图数据的子代,并且(iri2, fsn2)指示的图数据还需要满足是(iri3,fsn3)指示的图数据的一个子代的情况下,将对应的第一节点数据作为第二节点数据。
在一些实施方式中,所述第二指令段包括逻辑运算符且所述第二指令段被所述逻辑运算符划分为多个第二指令子段;所述第二指令子段用于指示筛选子条件;所述逻辑运算符用于指示所述筛选子条件的子筛选结果之间的逻辑运算关系;所述执行所述图数据查询指令的步骤,包括:根据所述第一指令段在所述图数据中遍历得到第一节点数据;在第一节点数据中指定当前第一节点数据;依照所述多个第二指令子段指示的筛选子条件,分别确定所述筛选子条件针对所述当前第一节点数据的子筛选结果;根据所述逻辑运算符表示的逻辑运算关系,对所述子筛选结果进行逻辑运算,得到所述第一节点数据的筛选结果。
在一些情况下,所述第二指令段限定的筛选条件可以通过多个筛选子条件以及逻辑运算符表示,以便于提高图数据查询指令的表征能力。
所述逻辑运算符可以用于表示逻辑运算方式。所述逻辑运算符可以指示子筛选结果之间的逻辑运算关系。具体的,所述逻辑运算符表示的逻辑运算方式可以包括与运算和或运算。所述子筛选结果可以包括真或假。所述逻辑运算符可以包括“AND”和“OR”。其中,“AND”表示的逻辑运算方式可以是与运算。“OR”表示的逻辑运算方式可以是或运算。当然,所述逻辑运算符也可以通过“&&”或者“||”表示。在一些实施方式中,同样的符号可以同时表示逻辑运算符以及集合运算符。例如,“AND”既可以表示逻辑运算方式中的与运算,也可以表示集合运算关系中的交集。“OR”既可以表示逻辑运算方式中的或运算,也可以表示集合运算中的并集。
所述第二指令段可以被所述逻辑运算符划分为多个第二指令子段。所述第二指令子段可以包括一个基准条件图数据标识和对应的第二关系指令符。当然,所述第二指令子段也可以包括基准条件图数据标识、第二关系指令符、匹配关系指令符、第三关系指令符和基准从属条件图数据的标识形成。具体的,例如,所述第二指令段可以是“<- (iri2,fsn2)=<- (iri3, fsn3) AND<- (iri4, fsn4)”。其中,“AND”是逻辑运算符。“<- (iri2,fsn2) =<- (iri3, fsn3)”是一个第二指令子段。“<- (iri4, fsn4)”是另一个第二指令子段。逻辑运算符“AND”表示第二节点数据需要同时满足两个第二指令子段所指示的子筛选条件。
依照所述多个第二指令子段指示的筛选子条件,分别确定所述筛选子条件针对所述当前第一节点数据的子筛选结果的方法,可以是分别确定当前第一节点数据是否满足所述第二指令子段限定的子筛选条件。接着,根据所述逻辑运算符表示的逻辑运算关系,对所述子筛选结果进行逻辑运算,得到所述第一节点数据的筛选结果。具体的,例如,逻辑运算符为表示与运算的“AND”的情况下,当前第一节点数据需要满足“AND”相邻的两个筛选子条件。逻辑运算符为表示与运算的“OR”的情况下,当前第一节点数据需要满足“OR”相邻的其中一个筛选子条件。
请参阅图3,本说明书的一个实施方式提供一种图数据的查询方法。所述图数据的查询方法可以应用于客户端。所述图数据可以包括多个层级的节点数据和用于指示所述节点之间的层级关系的边数据。所述查询方法可以包括以下步骤。
步骤S210:接收图数据查询指令;其中,所述图数据查询指令包括用于指示在多个层级的节点数据中遍历出第一节点数据的第一指令段,和用于指示从所述第一节点数据筛选出第二节点数据的筛选条件的第二指令段;其中,所述筛选条件包括在所述图数据中指定的基准条件图数据,以及以所述基准条件图数据作为基准,限定的所述基准条件图数据与第二节点数据之间的关联关系。
在一些情况下,客户端可以接收到用户的图数据查询指令,以便于客户端将所述图数据查询指令发送给服务器,用于在服务器中查询出用户期望的图数据。在一些实施方式中,客户端接收到的图数据查询指令可以是用户直接输入。当然,所述客户端接收到的图数据查询指令可以是用户依照输入的查询需求自动生成。
步骤S220:将所述图数据查询指令发送给数据库管理系统,用于所述数据库管理系统执行所述图数据查询指令,以根据所述第一指令段在所述图数据中遍历得到第一节点数据,并依照所述第二指令段的筛选条件,从第一节点数据中筛选出符合所述筛选条件的第二节点数据。
在一些情况下,客户端可以将图数据查询指令发送给数据库管理系统,以得到图数据查询指令期待查询的图数据。所述数据库管理系统可以是用于管理数据库中的数据。所述数据库管理系统可以针对一个数据库。当然,所述数据库管理系统也可以对多个数据库中数据进行管理。
步骤S230:接收所述数据库管理系统反馈的所述第二节点数据。
在一些情况下,数据库管理系统依照图数据查询指令查询到第二节点数据后,可以将所述第二节点数据发送给客户端。客户端可以为用户展示所述第二节点数据。其中,客户端展示所述第二节数据的方法可以是使用图形化展示界面进行展示。当然,客户端在接收到所述第二节点数据后也可以用于导出第二节点数据的文件后进行展示。
示例的装置、电子设备、存储介质和软件
请参阅图4,本说明书的一个实施方式还提供一种图数据的查询装置。所述图数据可以包括多个层级的节点数据和用于指示所述节点之间的层级关系的边数据。所述图数据的查询装置可以包括接收模块和执行模块。
接收模块,用于接收图数据查询指令;其中,所述图数据查询指令包括用于指示在多个层级的节点数据中遍历出第一节点数据的第一指令段,和用于指示从所述第一节点数据筛选出第二节点数据的筛选条件的第二指令段;其中,所述筛选条件包括在所述图数据中指定的基准条件图数据,以及以所述基准条件图数据作为基准,限定的所述基准条件图数据与第二节点数据之间的关联关系。
执行模块,用于执行所述图数据查询指令,以根据所述第一指令段在所述图数据中遍历得到第一节点数据,并依照所述第二指令段的筛选条件,从第一节点数据中筛选出符合所述筛选条件的第二节点数据。
请参阅图5,本说明书的一个实施方式还提供一种图数据的查询装置。所述图数据可以包括多个层级的节点数据和用于指示所述节点之间的层级关系的边数据。所述图数据的查询装置可以包括指令接收模块、发送模块和数据接收模块。
指令接收模块,用于接收图数据查询指令;其中,所述图数据查询指令包括用于指示在多个层级的节点数据中遍历出第一节点数据的第一指令段,和用于指示从所述第一节点数据筛选出第二节点数据的筛选条件的第二指令段;其中,所述筛选条件包括在所述图数据中指定的基准条件图数据,以及以所述基准条件图数据作为基准,限定的所述基准条件图数据与第二节点数据之间的关联关系。
发送模块,用于将所述图数据查询指令发送给数据库管理系统,用于所述数据库管理系统执行所述图数据查询指令,以根据所述第一指令段在所述图数据中遍历得到第一节点数据,并依照所述第二指令段的筛选条件,从第一节点数据中筛选出符合所述筛选条件的第二节点数据。
数据接收模块,用于接收所述数据库管理系统反馈的所述第二节点数据。
在本实施方式中,所述图数据的查询装置所实现的功能和效果,可以与前述实施方式对照解释,不再赘述。
本说明书实施方式还提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被计算机执行时使得,该计算机执行上述任一实施方式中的图数据的查询方法。
请参阅图6,在一些实施方式中可以提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述任一实施方式中的图数据的查询方法。
本说明书实施方式还提供一种包含指令的计算机程序产品,该指令被计算机执行时使得计算机执行上述任一实施方式中的图数据的查询方法。
可以理解,本文中的具体的例子只是为了帮助本领域技术人员更好地理解本说明书实施方式,而非限制本发明的范围。
可以理解,在本说明书中的各种实施方式中,各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本说明书实施方式的实施过程构成任何限定。
可以理解,本说明书中描述的各种实施方式,既可以单独实施,也可以组合实施,本说明书实施方式对此并不限定。
除非另有说明,本说明书实施方式所使用的所有技术和科学术语与本说明书的技术领域的技术人员通常理解的含义相同。本说明书中所使用的术语只是为了描述具体的实施方式的目的,不是旨在限制本说明书的范围。本说明书所使用的术语“和/或”包括一个或多个相关的所列项的任意的和所有的组合。在本说明书实施方式和所附权利要求书中所使用的单数形式的“一种”、“上述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。
可以理解,本说明书实施方式的处理器可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法实施方式的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器、数字信号处理器(Digital SignalProcessor,DSP)、专用集成电路(ApplicationSpecific IntegratedCircuit,ASIC)、现成可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本说明书实施方式中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本说明书实施方式所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
可以理解,本说明书实施方式中的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(ROM)、可编程只读存储器(programmableROM,PROM)、可擦除可编程只读存储器(erasablePROM,EPROM)、电可擦除可编程只读存储器(EEPROM)或闪存。易失性存储器可以是随机存取存储器(RAM)。应注意,本文描述的系统和方法的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
本领域普通技术人员可以意识到,结合本文中所公开的实施方式描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本说明书的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施方式中的对应过程,在此不再赘述。
在本说明书所提供的几个实施方式中,应所述理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施方式仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施方式方案的目的。
另外,在本说明书各个实施方式中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本说明书的技术方案本质上或者说对现有技术做出贡献的部分或者所述技术方案的部分可以以软件产品的形式体现出来,所述计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本说明书各个实施方式所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM)、随机存取存储器(RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本说明书的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本说明书揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本说明书的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (13)
1.一种医学图数据的查询方法,其特征在于,所述图数据包括多个层级的节点数据和用于指示所述节点之间的层级关系的边数据;所述节点数据用于指示医学实体,所述边数据用于指示医学实体之间的关系;所述方法包括:
接收图数据查询指令;其中,所述图数据查询指令包括用于指示在多个层级的节点数据中基于指定的基准图数据遍历出第一节点数据的第一指令段,和用于指示从所述第一节点数据筛选出第二节点数据的筛选条件的第二指令段;其中,所述筛选条件包括在所述图数据中指定的基准条件图数据,以及以所述基准条件图数据作为基准,限定的所述基准条件图数据与第二节点数据之间的关联关系;所述第一指令段包括指示所述基准图数据的基准图数据标识和表示第一关联关系的第一关系指令符;所述第一节点数据根据与所述基准图数据具有所述第一关联关系的节点数据形成;所述第二指令段包括表示所述基准条件图数据的基准条件图数据标识,以及指示所述基准图数据与第二节点数据之间的关联关系的第二关系指令符;
执行所述图数据查询指令,以根据所述第一指令段在所述图数据中遍历得到第一节点数据,并依照所述第二指令段的筛选条件,从第一节点数据中筛选出符合所述筛选条件的第二节点数据。
2.根据权利要求1所述的方法,其特征在于,所述执行所述图数据查询指令的步骤,包括:
在所述图数据中查询出所述图数据查询指令中基准图数据标识所指示的基准图数据;
根据所述第一关系指令符表示的第一关联关系,以所述基准图数据作为起始数据,遍历出与所述基准图数据具有所述第一关联关系的节点数据,形成所述第一节点数据;
依照所述第二指令段的筛选条件,从所述第一节点数据中筛选出符合所述筛选条件的第二节点数据。
3.根据权利要求1所述的方法,其特征在于,所述图数据查询指令还包括用于指定所述图数据查询指令所针对的目标图数据集合的第三指令段;不同图数据集合中的至少部分图数据不同;所述第三指令段携带有指示所述目标图数据集合的目标图数据集合标识;所述执行所述图数据查询指令的步骤,包括:
执行所述图数据查询指令,以在所述目标图数据集合标识指示的目标图数据集合中,根据所述第一指令段遍历得到第一节点数据,并依照所述第二指令段的筛选条件,从第一节点数据中筛选出符合所述筛选条件的第二节点数据。
4.根据权利要求1所述的方法,其特征在于,所述第一指令段包括集合运算符且所述第一指令段被所述集合运算符划分为多个第一指令子段;所述第一指令子段用于在所述图数据中遍历出初始节点数据集;所述集合运算符用于指示依照第一指令子段遍历出的初始节点数据集之间的集合运算关系;所述执行所述图数据查询指令的步骤,包括:
基于所述第一指令子段,分别在所述图数据中提取出多个初始节点数据集;其中,所述初始节点数据集包括所述节点数据;
根据所述集合运算符表示的集合运算关系,对所述多个初始节点数据集进行集合运算,得到目标节点数据集;其中,所述目标节点数据集中的节点数据作为所述第一节点数据;
依照所述第二指令段的筛选条件,从第一节点数据中筛选出符合所述筛选条件的第二节点数据。
5.根据权利要求1所述的方法,其特征在于,所述图数据查询指令还包括第四指令段;所述第四指令段用于指示对筛选出的第二节点数据执行的数据处理方式;所述数据处理方式至少包括以下之一:数据统计、数据分类、数据排序和数据分页;所述执行所述图数据查询指令的步骤,包括:
执行所述图数据查询指令,以在根据所述第一指令段在所述图数据中遍历得到第一节点数据,并依照所述第二指令段的筛选条件,从第一节点数据中筛选出符合所述筛选条件的第二节点数据之后,根据所述第四指令段指示的数据处理方式对所述第二节点数据进行数据处理,得到目标节点数据。
6.根据权利要求1所述的方法,其特征在于,执行所述图数据查询指令的步骤,包括:
在第一节点数据中指定当前第一节点数据;
根据所述基准条件图数据标识在所述图数据中定位基准条件图数据;
遍历与所述基准条件图数据存在所述第二关系指令符表示的关联关系的节点数据中是否存在所述当前第一节点数据。
7.根据权利要求1所述的方法,其特征在于,所述筛选条件还包括限定的所述基准条件图数据和指定的从属条件图数据之间的匹配关系;执行所述图数据查询指令的步骤,包括:
根据所述第一指令段在所述图数据中遍历得到第一节点数据;
将与所述基准条件图数据具有所述筛选条件限定的关联关系,且所述基准条件图数据与所述从属条件图数据之间还符合所述匹配关系的第一节点数据确定为所述第二节点数据。
8.根据权利要求1所述的方法,其特征在于,所述第二指令段包括逻辑运算符且所述第二指令段被所述逻辑运算符划分为多个第二指令子段;所述第二指令子段用于指示筛选子条件;所述逻辑运算符用于指示所述筛选子条件的子筛选结果之间的逻辑运算关系;所述执行所述图数据查询指令的步骤,包括:
根据所述第一指令段在所述图数据中遍历得到第一节点数据;
在第一节点数据中指定当前第一节点数据;
依照所述多个第二指令子段指示的筛选子条件,分别确定所述筛选子条件针对所述当前第一节点数据的子筛选结果;
根据所述逻辑运算符表示的逻辑运算关系,对所述子筛选结果进行逻辑运算,得到所述第一节点数据的筛选结果。
9.一种医学图数据的查询方法,其特征在于,所述图数据包括多个层级的节点数据和用于指示所述节点之间的层级关系的边数据;所述节点数据用于指示医学实体,所述边数据用于指示医学实体之间的关系;所述方法包括:
接收图数据查询指令;其中,所述图数据查询指令包括用于指示在多个层级的节点数据中基于指定的基准图数据遍历出第一节点数据的第一指令段,和用于指示从所述第一节点数据筛选出第二节点数据的筛选条件的第二指令段;其中,所述筛选条件包括在所述图数据中指定的基准条件图数据,以及以所述基准条件图数据作为基准,限定的所述基准条件图数据与第二节点数据之间的关联关系;所述第一指令段包括指示所述基准图数据的基准图数据标识和表示第一关联关系的第一关系指令符;所述第一节点数据根据与所述基准图数据具有所述第一关联关系的节点数据形成;所述第二指令段包括表示所述基准条件图数据的基准条件图数据标识,以及指示所述基准图数据与第二节点数据之间的关联关系的第二关系指令符;
将所述图数据查询指令发送给数据库管理系统,用于所述数据库管理系统执行所述图数据查询指令,以根据所述第一指令段在所述图数据中遍历得到第一节点数据,并依照所述第二指令段的筛选条件,从第一节点数据中筛选出符合所述筛选条件的第二节点数据;
接收所述数据库管理系统反馈的所述第二节点数据。
10.一种医学图数据的查询装置,其特征在于,所述图数据包括多个层级的节点数据和用于指示所述节点之间的层级关系的边数据;所述节点数据用于指示医学实体,所述边数据用于指示医学实体之间的关系;所述装置包括:
接收模块,用于接收图数据查询指令;其中,所述图数据查询指令包括用于指示在多个层级的节点数据中基于指定的基准图数据遍历出第一节点数据的第一指令段,和用于指示从所述第一节点数据筛选出第二节点数据的筛选条件的第二指令段;其中,所述筛选条件包括在所述图数据中指定的基准条件图数据,以及以所述基准条件图数据作为基准,限定的所述基准条件图数据与第二节点数据之间的关联关系;所述第一指令段包括指示所述基准图数据的基准图数据标识和表示第一关联关系的第一关系指令符;所述第一节点数据根据与所述基准图数据具有所述第一关联关系的节点数据形成;所述第二指令段包括表示所述基准条件图数据的基准条件图数据标识,以及指示所述基准图数据与第二节点数据之间的关联关系的第二关系指令符;
执行模块,用于执行所述图数据查询指令,以根据所述第一指令段在所述图数据中遍历得到第一节点数据,并依照所述第二指令段的筛选条件,从第一节点数据中筛选出符合所述筛选条件的第二节点数据。
11.一种医学图数据的查询装置,其特征在于,所述图数据包括多个层级的节点数据和用于指示所述节点之间的层级关系的边数据;所述节点数据用于指示医学实体,所述边数据用于指示医学实体之间的关系;所述装置包括:
指令接收模块,用于接收图数据查询指令;其中,所述图数据查询指令包括用于指示在多个层级的节点数据中基于指定的基准图数据遍历出第一节点数据的第一指令段,和用于指示从所述第一节点数据筛选出第二节点数据的筛选条件的第二指令段;其中,所述筛选条件包括在所述图数据中指定的基准条件图数据,以及以所述基准条件图数据作为基准,限定的所述基准条件图数据与第二节点数据之间的关联关系;所述第一指令段包括指示所述基准图数据的基准图数据标识和表示第一关联关系的第一关系指令符;所述第一节点数据根据与所述基准图数据具有所述第一关联关系的节点数据形成;所述第二指令段包括表示所述基准条件图数据的基准条件图数据标识,以及指示所述基准图数据与第二节点数据之间的关联关系的第二关系指令符;
发送模块,用于将所述图数据查询指令发送给数据库管理系统,用于所述数据库管理系统执行所述图数据查询指令,以根据所述第一指令段在所述图数据中遍历得到第一节点数据,并依照所述第二指令段的筛选条件,从第一节点数据中筛选出符合所述筛选条件的第二节点数据;
数据接收模块,用于接收所述数据库管理系统反馈的所述第二节点数据。
12.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至9中任一项所述的方法。
13.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至9中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310061689.8A CN115795111B (zh) | 2023-01-20 | 2023-01-20 | 图数据的查询方法、装置、设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310061689.8A CN115795111B (zh) | 2023-01-20 | 2023-01-20 | 图数据的查询方法、装置、设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115795111A CN115795111A (zh) | 2023-03-14 |
CN115795111B true CN115795111B (zh) | 2023-05-02 |
Family
ID=85429790
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310061689.8A Active CN115795111B (zh) | 2023-01-20 | 2023-01-20 | 图数据的查询方法、装置、设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115795111B (zh) |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6243045B2 (ja) * | 2013-12-30 | 2017-12-06 | 華為技術有限公司Huawei Technologies Co.,Ltd. | グラフデータクエリ方法および装置 |
US11829391B2 (en) * | 2019-01-14 | 2023-11-28 | Salesforce, Inc. | Systems, methods, and apparatuses for executing a graph query against a graph representing a plurality of data stores |
CN110765295A (zh) * | 2019-09-06 | 2020-02-07 | 中国平安财产保险股份有限公司 | 基于图数据库的查询方法、装置、计算机设备及存储介质 |
CN113760971B (zh) * | 2021-11-09 | 2022-02-22 | 通联数据股份公司 | 用于检索图数据库的数据的方法、计算设备和存储介质 |
CN115238138A (zh) * | 2022-08-17 | 2022-10-25 | 抖音视界有限公司 | 一种图数据查询方法及装置 |
-
2023
- 2023-01-20 CN CN202310061689.8A patent/CN115795111B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN115795111A (zh) | 2023-03-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10627998B2 (en) | Facilitating data science operations | |
US11113294B1 (en) | Recommending query templates during query formation | |
US12093318B2 (en) | Recommending query parameters based on tenant information | |
CN109815284B (zh) | 一种数据处理的方法和装置 | |
US9727623B1 (en) | Integrated developer workflow for data visualization development | |
US9158799B2 (en) | Storing and retrieving context sensitive data in a management system | |
US11636128B1 (en) | Displaying query results from a previous query when accessing a panel | |
US9165078B2 (en) | Row-based data filtering at a database level | |
WO2020135613A1 (zh) | 数据查询处理方法、装置及系统、计算机可读存储介质 | |
JP2005332212A (ja) | 検索サーバ、検索端末、検索方法、及び、検索実行方法 | |
WO2015085103A1 (en) | Pattern matching across multiple input data streams | |
US20160026718A1 (en) | Optimization of Query Execution | |
US20220253484A1 (en) | Dynamically-qualified aggregate relationship system in genealogical databases | |
US9747345B2 (en) | System and method for identifying relationships in a data graph | |
US11308060B2 (en) | Method, apparatus, device and storage medium for managing index | |
US9734176B2 (en) | Index merge ordering | |
KR20040073343A (ko) | 선언 시퀀스화된 리포트 파라미터화 | |
WO2024131595A1 (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN114138817A (zh) | 基于关系型数据库的数据查询方法、设备、介质及产品 | |
CN115795111B (zh) | 图数据的查询方法、装置、设备和存储介质 | |
US20090030896A1 (en) | Inference search engine | |
CN116756166A (zh) | 数据检索服务系统及方法、存储介质、计算机设备 | |
US10599928B2 (en) | Method and system for enabling information in augmented reality applications | |
CN116187736A (zh) | 数据生产的方法、装置、介质和电子设备 | |
CN114491585A (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 |