CN116795860A - 查询数据的方法、装置、电子设备及存储介质 - Google Patents
查询数据的方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN116795860A CN116795860A CN202310159528.2A CN202310159528A CN116795860A CN 116795860 A CN116795860 A CN 116795860A CN 202310159528 A CN202310159528 A CN 202310159528A CN 116795860 A CN116795860 A CN 116795860A
- Authority
- CN
- China
- Prior art keywords
- field data
- data
- database
- field
- target
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 64
- 238000012216 screening Methods 0.000 claims abstract description 19
- 238000012545 processing Methods 0.000 claims abstract description 12
- 238000013507 mapping Methods 0.000 claims abstract description 8
- 230000006870 function Effects 0.000 description 8
- 238000004590 computer program Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 230000001174 ascending effect Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 238000012549 training Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 238000003058 natural language processing Methods 0.000 description 2
- 241000590419 Polygonia interrogationis Species 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 210000001072 colon Anatomy 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000011022 operating instruction Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种查询数据的方法、装置、电子设备及存储介质,属于图像处理领域。所述方法包括:根据用户查询语句中的语义要素,匹配预设索引表中的多组字段数据,所述预设索引表用于映射数据库中的字段数据和对应的元数据,所述字段数据包括:字段的标识、字段值、表的标识中的至少一项;根据所述数据库中的关联关系,从所述多组字段数据中筛选出目标字段数据,所述关联关系包括:表和表之间的关联关系或表和字段之间的关联关系;确定所述目标字段数据对应的操作标签,所述操作标签与各个数据库查询操作对应;基于所述目标字段数据和所述操作标签,生成数据库查询语句;根据所述数据库查询语句查询数据。
Description
技术领域
本申请属于数据处理领域,具体涉及一种查询数据的方法、装置、电子设备及存储介质。
背景技术
自然语言转化为结构查询语言(Natural Language to Structured QueryLanguage,NL2SQL)技术是将自然语言转化为数据库可执行的结构查询语言(StructuredQuery Language ,SQL),目的是让用户无需掌握专业的数据库技能也能操作数据,获取用户期望的数据。
相关技术采用基于模板填充的方法,即根据SQL语法模板,利用多个子任务预测自然语言中的语法现象对应的列。这种方法适用于单表中数据的查询。在进行多表联合查询时,由于只能建模固定的SQL语法模板,导致生成SQL的正确率下降。
发明内容
本申请实施例的目的是提供一种查询数据的方法、装置、电子设备及存储介质,能够提高多表联合查询时NL2SQL的正确率。
为了解决上述技术问题,本申请是这样实现的:
第一方面,本申请实施例提供了一种查询数据的方法,该方法包括:根据用户查询语句中的语义要素,匹配预设索引表中的多组字段数据,所述预设索引表用于映射数据库中的字段数据和对应的元数据,所述字段数据包括:字段的标识、字段值、表的标识中的至少一项;根据所述数据库中的关联关系,从所述多组字段数据中筛选出目标字段数据,所述关联关系包括:表和表之间的关联关系或表和字段之间的关联关系;确定所述目标字段数据对应的操作标签,所述操作标签与各个数据库查询操作对应;基于所述目标字段数据和所述操作标签,生成数据库查询语句;根据所述数据库查询语句查询数据。
第二方面,本申请实施例提供了一种查询数据的装置,该装置包括:匹配模块,用于根据用户查询语句中的语义要素,匹配预设索引表中的多组字段数据,所述预设索引表用于映射数据库中的字段数据和对应的元数据,所述字段数据包括:字段的标识、字段值、表的标识中的至少一项;筛选模块,用于根据所述数据库中的关联关系,从所述多组字段数据中筛选出目标字段数据,所述关联关系包括:表和表之间的关联关系或表和字段之间的关联关系;处理模块,用于确定所述目标字段数据对应的操作标签,所述操作标签与各个数据库查询操作对应;生成模块,用于基于所述目标字段数据和所述操作标签,生成数据库查询语句;查询模块,用于根据所述数据库查询语句查询数据。
第三方面,本申请实施例提供了一种电子设备,该电子设备包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如第一方面所述的查询数据的方法的步骤。
第四方面,本申请实施例提供了一种可读存储介质,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如第一方面所述的查询数据的方法的步骤。
在本申请实施例中,通过根据用户查询语句中的语义要素,匹配预设索引表中的多组字段数据,所述预设索引表用于映射数据库中的字段数据和对应的元数据,所述字段数据包括:字段的标识、字段值、表的标识中的至少一项;根据所述数据库中的关联关系,从所述多组字段数据中筛选出目标字段数据,所述关联关系包括:表和表之间的关联关系或表和字段之间的关联关系;确定所述目标字段数据对应的操作标签,所述操作标签与各个数据库查询操作对应;基于所述目标字段数据和所述操作标签,生成数据库查询语句;根据所述数据库查询语句查询数据,能够提高多表联合查询时NL2SQL的正确率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1示出本申请实施例提供的查询数据的方法的一种流程示意图;
图2示出本申请实施例提供的查询数据的方法的另一种流程示意图;
图3示出本申请实施例提供的查询数据的方法的再一种流程示意图;
图4示出本申请实施例提供的查询数据的装置的结构示意图;
图5示出执行本申请实施例提供的一种电子设备的硬件结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”、“第二”等所区分的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,也可以是多个。此外,说明书以及权利要求中“和/或”表示所连接对象的至少其中之一,字符“/”,一般表示前后关联对象是一种“或”的关系。
下面结合附图,通过具体的实施例及其应用场景对本申请实施例提供的查询数据的方法进行详细地说明。
图1是本申请实施例提供的查询数据的方法的一种流程示意图,该方法可以由电子设备执行,例如终端设备或服务端设备。换言之,所述方法可以由安装在终端设备或服务端设备的软件或硬件来执行。所述服务端包括但不限于:单台服务器、服务器集群、云端服务器或云端服务器集群等。如图所示,该方法可以包括以下步骤。
S101:根据用户查询语句中的语义要素,匹配预设索引表中的多组字段数据。
其中,所述预设索引表用于映射数据库中的字段数据和对应的元数据,所述字段数据包括:字段的标识、字段值、表的标识中的至少一项。上述元数据是与该字段数据相关的结构数据,该元数据包括但不限于数据库中各个表的标识、各个表包含的字段的标识以及字段的数据类型。可选的,上述数据类型包括但不限于整数类型(INT)、浮点数类型(FLOAT)、字符串类型(CHAR)或日期类型,上述各个数据类型具有不同的字节长度或范围。
具体的,在数据库中有多个包含相似字段的表的情况下,用户查询语句中的语义要素会匹配到多组字段数据。例如,当用户意图查询一项日期类型数据时,同时匹配到预设索引表中学生信息表中的出生日期字段所在的列和商品信息表中的生产日期字段所在的列。
S102:根据所述数据库中的关联关系,从所述多组字段数据中筛选出目标字段数据。
其中,所述关联关系包括:表和表之间的关联关系或表和字段之间的关联关系。具体的,上述表和表之间的关联关系可以是一对一、一对多和多对多中的任意一种,该关联关系通过设置不同的内键和外键进行维护。例如,在数据库中,主表是旅游线路分类表,该旅游线路分类表中的主键为不同类别的旅游线路的标识,比如周边游的标识为1、出境游的标识为2。从表为各个类别的旅游线路表,比如周边游线路表、出境游线路表。各个从表中都包含所属类别字段,该所属类别字段存储不同类别的旅游线路的标识,即主表中的主键,则该主表和各个从表之间具有一对多的关联关系。
上述表和字段之间的关系可以是从属关系,一张表可以包含一个或多个字段。例如在旅游线路表中包含目的地字段、出行方式字段、出行价格字段等字段中的至少一项。
S103:确定所述目标字段数据对应的操作标签。
具体的,所述操作标签与不同的数据库查询操作对应。确定所述目标字段数据对应的操作标签,也即根据用户查询语句中的用户意图确定对目标字段数据进行的数据库查询操作。
可选的,上述数据库查询操作包括但不限于选择操作、条件查询操作、分组操作和排序操作中的至少一项。上述选择操作用于确定用户意图查询的数据所在的列;条件查询操作用于在该列中选择符合查询条件的字段数据;分组操作用于按照不同条件对上述字段数据进行分组;排序操作用于按照特定的排列方式对上述字段数据进行排列,比如按照学号字段的升序或降序对学生姓名进行排列。
S104:基于所述目标字段数据和所述操作标签,生成数据库查询语句。
具体的,所述数据库查询语句为数据库可执行的SQL。根据操作标签可以确定用户意图对上述目标字段数据执行的数据库查询操作,进而生成各个数据库查询操作的查询子句,将各个查询子句组合,得到可执行的数据库查询语句。
可选的,按照用户查询语句中各语义要素的顺序组合查询子句可能存在不符合SQL的执行顺序的情况。在这种情况下,可以在组合过程中设置执行的顺序规则,例如选择操作语句必须为该可执行数据库查询语句的第一项查询子句。
S105:根据所述数据库查询语句查询数据。
具体的,根据数据库查询语句查询数据库中符合用户查询意图的数据库数据。可选的,通过图形展示平台连接该数据库,对查询到的数据进行图形化展示,展示形式包括但不限于表格、统计图等。
本申请实施例通过根据用户查询语句中的语义要素,匹配预设索引表中的多组字段数据,所述预设索引表用于映射数据库中的字段数据和对应的元数据,所述字段数据包括:字段的标识、字段值、表的标识中的至少一项;根据所述数据库中的关联关系,从所述多组字段数据中筛选出目标字段数据,所述关联关系包括:表和表之间的关联关系或表和字段之间的关联关系;确定所述目标字段数据对应的操作标签,所述操作标签与各个数据库查询操作对应;基于所述目标字段数据和所述操作标签,生成数据库查询语句;根据所述数据库查询语句查询数据,能够提高多表联合查询时NL2SQL的正确率。
图2是本申请实施例提供的查询数据的方法的另一种流程示意图,如图2所示,该方法可以包括以下步骤。
S201:根据所述数据库中的表和字段,构造预设知识图谱。
其中,所述预设知识图谱用于表示所述字段数据,所述预设知识图谱包括图节点和边;所述图节点包括表节点和字段节点,所述表节点用于表示所述表,所述字段节点用于表示所述字段,所述边用于表示所连接的两个图节点之间的关联关系。上述关联关系可参考图1实施例步骤S102的描述,在此不再赘述。
S202:基于所述预设知识图谱,所述用户查询语句中的语义要素,匹配预设索引表中的多组字段数据。
本步骤可以采用图1实施例步骤S101的描述,在此不再赘述。
在一种可能的实现方式中,所述基于所述目标字段数据和所述操作标签,生成数据库查询语句包括:基于所述预设知识图谱,在多组字段数据中表的标识对应的各个表节点之间有边连接的情况下,确定所述表节点表示的表之间有关联关系;筛选出有关联关系的所述表,并将与所述表的标识对应的所述字段数据作为目标字段数据。
具体的,在同一语义要素匹配到多组字段数据的情况下,根据预设知识图谱判断上述多组字段数据中的表之间是否有关联,可以确定各个字段数据是否有关联。例如,通过用户查询语句“选择2022年1月1日进行考试的科目”中的语义要素“2022年1月1日”匹配到(2020-01-01,考试时间,期末安排表)和(2020-01-01,出厂日期,商品信息表)两组字段数据,通过同一用户查询语句中的其他语义要素“考试”匹配到(考试日期,期末安排表)和“科目”匹配到(科目,监考安排表)。根据预设知识图谱可以确定“期末安排表”和“监考安排表”之间有关联关系, “商品信息表”和“监考安排表”、“商品信息表”之间任意一项都没有关联关系,则与语义要素“2020-01-01”匹配的目标字段数据为(2020-01-01,考试时间,期末安排表)。
S203:基于所述语义要素的上下文信息,查找与所述目标字段数据匹配的目标操作。
具体的,根据用户查询语句中与语义要素最接近的上下文信息,可以确定用户意图对与该语义要素匹配的目标字段数据进行的目标操作。例如,在用户查询语句“按照学号升序排列学生信息表”中,语义要素“学号”匹配到字段的标识为学号,表的标识为学生信息表的目标字段数据,根据“学号”在上述用户查询语句中的上下文信息“按照……升序排列”可以与该目标字段数据匹配的目标操作为排序,并且排序的要求为升序。
可选的,“按……降序排列”匹配降序排序操作;“按……分组”或“按……统计”匹配分组操作。
S204:将预设规则的属性对应的操作标签作为所述目标字段数据的操作标签。
具体的,上述预设规则包括多个属性对应的多个操作标签的匹配方案。作为一种示例,在所述目标字段数据与第一属性匹配的情况下,所述目标字段数据中字段的操作标签为第一操作标签;在所述目标字段数据与第二属性匹配的情况下,所述目标字段数据中字段的操作标签为第二操作标签;在所述目标字段数据未匹配到所述第一操作标签或所述第二操作标签的情况下,所述目标字段数据中字段的操作标签为第三操作标签,和/或在所述字段有字段值的情况下,所述目标字段数据中所述字段的值的操作标签为第四操作标签。
可选的,上述第一、第二、第三和第四操作标签可以是分组(GROUP BY)、排序(ORDER BY)、选择(SELECT)和条件(WHERE)、。
S205:根据所述数据库查询语句查询数据。
本步骤可以采用图1实施例步骤S105的描述,在此不再赘述。
本申请实施例通过根据所述数据库中的表和字段,构造预设知识图谱;基于所述预设知识图谱,所述用户查询语句中的语义要素,匹配预设索引表中的多组字段数据;基于所述语义要素的上下文信息,查找与所述目标字段数据匹配的目标操作;将预设规则的属性对应的操作标签作为所述目标字段数据的操作标签;根据所述数据库查询语句查询数据,能够充分挖掘用户查询语句中语义信息,利用简单的预设规则匹配数据库查询操作,提高NL2SQL的效率。
本申请实施例通过基于所述预设知识图谱,在多组字段数据中表的标识对应的各个表节点之间有边连接的情况下,确定所述表节点表示的表之间有关联关系;筛选出有关联关系的所述表,并将与所述表的标识对应的所述字段数据作为目标字段数据,能够利用知识图谱中各个图节点的连接关系消除歧义,提高多表联合查询时生成SQL的正确率。
图3是本申请实施例提供的查询数据的方法的再一种流程示意图,如图3所示,该方法可以包括以下步骤。
S301:提取用户查询语句中的有效字段的标识和/或有效字段的值。
具体的,通过自然语言处理技术对上述用户查询语句进行分词,得到该用户查询语句中与字段相关的信息。例如,对用户查询语句“选择2022年1月1日进行考试的科目”进行分词处理,得到“2022”、“年”、“1”、“月”、“1”、“日”、“进行”、“考试”、“的”、“科目”词语。作为一种示例,可以设置日期的不同格式进行匹配,包括但不限于“2022年1月1日”、“2022-01-01”、“2022/01/01”等格式。
可选的,在提取过程中结合统计方法,评估各个分词在上述用户查询语句中的重要程度。例如统计各个分词在用户查询语句中出现的频次,频次越低,该分词的重要程度越高,即与用户查询意图的相关性越高。
可选的,对上述用户查询语句中的特殊字符,例如问号、冒号等进行数据过滤,避免由特殊字符影响后续的匹配结果。
S302:根据所述有效字段的名称和/或所述有效字段的值匹配预设索引表中的多组字段数据。
可选的,通过上述有效的字段名称和/或有效的字段值与预设索引表中字段数据的文本相似性判断数据库中是否有用户意图查询的数据记录。例如,在没有匹配到与用户查询语句中 “购买记录”完全一致的字段数据的情况下,匹配预设索引表中与“购买记录”文本相似度最高的“购物记录”对应的字段数据。
具体的,相关技术中采用深度学习的方法训练匹配不同领域中不同形态的数据,这种方式需要标注大量的训练数据,人工成本较高。并且训练后模型的迁移性较差,不能适应与训练数据形态相差较大的数据的匹配。
S303:根据所述数据库中的关联关系,从所述多组字段数据中筛选出目标字段数据。
本步骤可以采用图1实施例步骤S102的描述,在此不再赘述。
S304:确定所述目标字段数据对应的操作标签。
本步骤可以采用图1实施例步骤S103的描述,在此不再赘述。
S305:基于所述操作标签生成数据库查询句式;将所述目标数据信息填充至所述数据库查询句式中,生成数据库查询语句。
具体的,不同的查询操作对应的数据库查询句式中填充的数据形式不同。例如,选择(WHERE)标签对应的数据库查询句式为“SELECT……FROM……”,其中,字段的名称填入SELECT后,表的名称填入FROM后。条件(WHERE)标签对应的数据库查询句式为“WHERE 操作条件”,该操作条件由字段的名称、字段的值和操作符组成,例如,“WHERE 日期 = ‘2022年01月01日’”。条件查询句式中至少有一个操作条件。
S306:根据所述数据库查询语句查询数据。
本步骤可以采用图1实施例步骤S105的描述,在此不再赘述。
本申请实施例通过提取用户查询语句中的有效字段的标识和/或有效字段的值;根据所述有效字段的名称和/或所述有效字段的值匹配预设索引表中的多组字段数据;根据所述数据库中的关联关系,从所述多组字段数据中筛选出目标字段数据;确定所述目标字段数据对应的操作标签;基于所述操作标签生成数据库查询句式;将所述目标数据信息填充至所述数据库查询句式中,生成数据库查询语句;根据所述数据库查询语句查询数据,能够利用自然语言处理技术匹配数据库数据,降低不同形态的数据查询的成本。
图4示出本申请实施例提供的查询数据的装置的结构示意图,该装置400包括:匹配模块401、筛选模块402、处理模块403、生成模块404和查询模块405。
匹配模块401,用于根据用户查询语句中的语义要素,匹配预设索引表中的多组字段数据,所述预设索引表用于映射数据库中的字段数据和对应的元数据,所述字段数据包括:字段的标识、字段值、表的标识中的至少一项;筛选模块402,用于根据所述数据库中的关联关系,从所述多组字段数据中筛选出目标字段数据,所述关联关系包括:表和表之间的关联关系或表和字段之间的关联关系;处理模块403,用于确定所述目标字段数据对应的操作标签,所述操作标签与各个数据库查询操作对应;生成模块404,用于基于所述目标字段数据和所述操作标签,生成数据库查询语句;查询模块405,用于根据所述数据库查询语句查询数据。
在一种实现方式中,所述筛选模块402还用于在所述根据所述数据库中的关联关系,从所述多组字段数据中筛选出目标字段数据之前,根据所述数据库中的表和字段,构造预设知识图谱;所述匹配模块401还用于基于所述预设知识图谱,所述用户查询语句中的语义要素,匹配预设索引表中的多组字段数据。
在一种实现方式中,所述匹配模块401还用于基于所述预设知识图谱,在多组字段数据中表的标识对应的各个表节点之间有边连接的情况下,确定所述表节点表示的表之间有关联关系;筛选出有关联关系的所述表,并将与所述表的标识对应的所述字段数据作为目标字段数据。
在一种实现方式中,所述处理模块403还用于基于所述语义要素的上下文信息,查找与所述目标字段数据匹配的目标操作;将预设规则的属性对应的操作标签作为所述目标字段数据的操作标签。
在一种实现方式中,所述匹配模块401还用于提取用户查询语句中的有效字段的标识和/或有效字段的值;根据所述有效字段的标识和/或所述有效字段的值,匹配预设索引表中的多组字段数据。
在一种实现方式中,所述生成模块404还用于基于所述操作标签生成数据库查询句式;将所述目标数据信息填充至所述数据库查询句式中,生成数据库查询语句。
图5示出执行本申请实施例提供的电子设备500的硬件结构示意图,参考该图,在硬件层面,电子设备包括处理器540,可选地,包括内部总线530、网络接口510、存储器。其中,存储器可能包含内存520,例如高速随机存取存储器(Random-Access Memory,RAM),也可能还包括非易失性存储器550(non-volatile memory),例如至少1个磁盘存储器等。当然,该电子设备还可能包括其他业务所需要的硬件。
处理器540、网络接口510和存储器可以通过内部总线530相互连接,该内部总线530可以是工业标准体系结构 (Industry Standard Architecture,ISA)总线、外设部件互连标准(Peripheral Component Interconnect,PCI)总线或扩展工业标准结构(ExtendedIndustry Standard Architecture,EISA)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,该图中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
存储器,用于存放程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器可以包括内存520和非易失性存储器550,并向处理器540提供指令和数据。
处理器540从非易失性存储器550中读取对应的计算机程序到内存520中然后运行,在逻辑层面上形成定位目标用户的装置。处理器540,执行存储器所存放的程序,并具体用于执行前文方法实施例中图1-3所述的各方法,并实现前文方法实施例中图1-3所述的各方法的功能和有益效果,在此不再赘述。
上述如本申请图1-3所示实施例揭示的方法可以应用于处理器540中,或者由处理器540实现。处理器540可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器540中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器540可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
该电子设备还可执行前文方法实施例中图1-3所述的各方法,并实现前文方法实施例中图1-3所述的各方法的功能和有益效果,在此不再赘述。
当然,除了软件实现方式之外,本申请的电子设备并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
本申请实施例还提出了一种计算机可读存储介质,所述计算机可读介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行前文方法实施例中图1-3所述的各方法,并实现前文方法实施例中图1-3所述的各方法的功能和有益效果,在此不再赘述。
其中,所述的计算机可读存储介质包括只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等。
进一步地,本申请实施例还提供了一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,实现前文方法实施例中图1-3所述的各方法的功能和有益效果,在此不再赘述。
总之,以上所述仅为本申请的较佳实施例,并非用于限定本申请的保护范围。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。此外,需要指出的是,本申请实施方式中的方法和装置的范围不限按示出或讨论的顺序来执行功能,还可包括根据所涉及的功能按基本同时的方式或按相反的顺序来执行功能,例如,可以按不同于所描述的次序来执行所描述的方法,并且还可以添加、省去、或组合各种步骤。另外,参照某些示例所描述的特征可在其他示例中被组合。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以计算机软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
上面结合附图对本申请的实施例进行了描述,但是本申请并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本申请的启示下,在不脱离本申请宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本申请的保护之内。
Claims (9)
1.一种查询数据的方法,其特征在于,包括:
根据用户查询语句中的语义要素,匹配预设索引表中的多组字段数据,所述预设索引表用于映射数据库中的字段数据和对应的元数据,所述字段数据包括:字段的标识、字段值、表的标识中的至少一项;
根据所述数据库中的关联关系,从所述多组字段数据中筛选出目标字段数据,所述关联关系包括:表和表之间的关联关系或表和字段之间的关联关系;
确定所述目标字段数据对应的操作标签,所述操作标签与各个数据库查询操作对应;
基于所述目标字段数据和所述操作标签,生成数据库查询语句;
根据所述数据库查询语句查询数据。
2.根据权利要求1所述的方法,其中,在所述根据所述数据库中的关联关系,从所述多组字段数据中筛选出目标字段数据之前,还包括:
根据所述数据库中的表和字段,构造预设知识图谱,其中,所述预设知识图谱用于表示所述字段数据,所述预设知识图谱包括图节点和边;所述图节点包括表节点和字段节点,所述表节点用于表示所述表,所述字段节点用于表示所述字段,所述边用于表示所连接的两个图节点之间的关联关系;
所述根据用户查询语句中的语义要素,匹配预设索引表中的多组字段数据,包括:
基于所述预设知识图谱,所述用户查询语句中的语义要素,匹配预设索引表中的多组字段数据。
3.根据权利要求2所述的方法,其中,所述基于所述预设知识图谱,所述用户查询语句中的语义要素,匹配预设索引表中的多组字段数据包括:
基于所述预设知识图谱,在多组字段数据中表的标识对应的各个表节点之间有边连接的情况下,确定所述表节点表示的表之间有关联关系;
筛选出有关联关系的所述表,并将与所述表的标识对应的所述字段数据作为目标字段数据。
4.根据权利要求1所述的方法,其中,所述确定所述目标字段数据的操作标签,包括:
基于所述语义要素的上下文信息,查找与所述目标字段数据匹配的目标操作;
将预设规则的属性对应的操作标签作为所述目标字段数据的操作标签。
5.根据权利要求1所述的方法,其中,所述根据用户查询语句中的语义要素匹配预设索引表中的多组字段数据,包括:
提取用户查询语句中的有效字段的标识和/或有效字段的值;
根据所述有效字段的标识和/或所述有效字段的值,匹配预设索引表中的多组字段数据。
6.根据权利要求1所述的方法,其中,所述基于所述目标字段数据和所述操作标签,生成数据库查询语句,包括:
基于所述操作标签生成数据库查询句式;
将所述目标数据信息填充至所述数据库查询句式中,生成数据库查询语句。
7.一种查询数据的装置,其特征在于,包括:
匹配模块,用于根据用户查询语句中的语义要素,匹配预设索引表中的多组字段数据,所述预设索引表用于映射数据库中的字段数据和对应的元数据,所述字段数据包括:字段的标识、字段值、表的标识中的至少一项;
筛选模块,用于根据所述数据库中的关联关系,从所述多组字段数据中筛选出目标字段数据,所述关联关系包括:表和表之间的关联关系或表和字段之间的关联关系;
处理模块,用于确定所述目标字段数据对应的操作标签,所述操作标签与各个数据库查询操作对应;
生成模块,用于基于所述目标字段数据和所述操作标签,生成数据库查询语句;
查询模块,用于根据所述数据库查询语句查询数据。
8.一种电子设备,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使用所述处理器执行如权利要求1-6任一项所述的查询数据的方法的步骤。
9.一种计算机可读介质,所述计算机可读介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行如权利要求1-6任一项所述的查询数据的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310159528.2A CN116795860A (zh) | 2023-02-20 | 2023-02-20 | 查询数据的方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310159528.2A CN116795860A (zh) | 2023-02-20 | 2023-02-20 | 查询数据的方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116795860A true CN116795860A (zh) | 2023-09-22 |
Family
ID=88040565
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310159528.2A Pending CN116795860A (zh) | 2023-02-20 | 2023-02-20 | 查询数据的方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116795860A (zh) |
-
2023
- 2023-02-20 CN CN202310159528.2A patent/CN116795860A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Teitler et al. | NewsStand: A new view on news | |
CN109190007B (zh) | 数据分析方法及装置 | |
CN105183733A (zh) | 一种文本信息的匹配、业务对象的推送方法和装置 | |
CN102930048B (zh) | 使用参考和视觉数据的语义自动发现的数据丰富 | |
CN113127506B (zh) | 目标查询语句的构建方法、装置、存储介质和电子装置 | |
CN113010640B (zh) | 一种业务执行的方法及装置 | |
CN101076708B (zh) | 地图目标的自动优先化 | |
CN116737915B (zh) | 基于知识图谱的语义检索方法、装置、设备及存储介质 | |
CN110209781B (zh) | 一种文本处理方法、装置以及相关设备 | |
CN113268615A (zh) | 资源标签生成方法、装置、电子设备及存储介质 | |
CN111522901A (zh) | 文本中地址信息的处理方法及装置 | |
CN107590119B (zh) | 人物属性信息抽取方法及装置 | |
CN113821622A (zh) | 基于人工智能的答案检索方法、装置、电子设备及介质 | |
CN108304291B (zh) | 测试输入信息检索装置和方法 | |
CN110008807A (zh) | 一种合同内容识别模型的训练方法、装置及设备 | |
Chatterjee et al. | SAGEL: smart address geocoding engine for supply-chain logistics | |
CN114513550B (zh) | 一种地理位置信息的处理方法、装置及电子设备 | |
CN116795860A (zh) | 查询数据的方法、装置、电子设备及存储介质 | |
CN115208923A (zh) | 设备信息确定方法、装置及设备 | |
CN113535817B (zh) | 特征宽表生成及业务处理模型的训练方法和装置 | |
CN110968691A (zh) | 司法热点确定方法及装置 | |
CN110688453B (zh) | 基于资讯分类的场景应用方法、系统、介质及设备 | |
CN114168836A (zh) | 网页数据分析及可视化方法、装置、电子设备及介质 | |
WO2022061833A1 (zh) | 文本相似度确定方法、装置及工业诊断方法、系统 | |
CN116089369A (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 |