语义查询可视化构建与生成的实现方法及装置与流程

文档序号:33470155发布日期:2023-03-15 08:08阅读:54来源:国知局
语义查询可视化构建与生成的实现方法及装置与流程

1.本公开涉及计算机技术领域,尤其涉及一种语义查询可视化构建与生成的实现方法及装置。


背景技术:

2.随着计算机技术的发展,当前对数据的检索或查询可以通过将资源描述框架(resource description framework,rdf)与语义网络本体语言(web ontology language,owl)相结合进行,也可以通过映射技术将数据映射为rdf三元组来实现查询。
3.而在上述两种查询方式中,均需要用户输入为rdf专门开发的语言来实现,需要用户手动编写符合语言要求的查询语句,这导致查询门槛较高,极大的增加了具有查询需求的普通用户的查询难度。


技术实现要素:

4.本公开提供一种语义查询可视化构建与生成的实现方法及装置,以至少解决如何降低查询难度的问题。本公开的技术方案如下:根据本公开实施例的第一方面,提供了一种语义查询可视化构建与生成的实现方法,包括:响应于接收到终端发送的图元素操作指令,基于所述图元素操作指令所指示的图元素和/或可选组件构建查询图;所述图元素操作指令是所述终端根据用户对所述终端的界面中所显示的已创建的图元素和/或可选组件的指定操作生成的;所述可选组件用于向所述用户提供可选查询信息的语义信息;按照预设生成规则,基于所述查询图中包含的图元素对应的目标查询信息,生成目标查询语句;向目标对象输出所述目标查询语句;所述目标对象用于基于所述目标查询语句执行所述查询图所指示的查询操作,所述目标对象包括所述终端。
5.根据本公开实施例的第二方面,提供了一种语义查询可视化构建与生成的实现装置,包括:查询图构建模块,用于响应于接收到终端发送的图元素操作指令,基于所述图元素操作指令所指示的图元素和/或可选组件构建查询图;所述图元素操作指令是所述终端根据用户对所述终端的界面中所显示的已创建的图元素和/或可选组件的指定操作生成的;所述可选组件用于向所述用户提供可选查询信息的语义信息;查询语句生成模块,用于按照预设生成规则,基于所述查询图中包含的图元素对应的目标查询信息,生成目标查询语句;输出模块,用于向目标对象输出所述目标查询语句;所述目标对象用于基于所述目标查询语句执行所述查询图所指示的查询操作,所述目标对象包括所述终端。
6.根据本公开实施例的第三方面,提供了一种电子设备,包括:
处理器;用于存储所述处理器可执行指令的存储器;其中,所述处理器被配置为执行所述指令,以实现如第一方面所述的方法。
7.根据本公开实施例的第四方面,提供了一种存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得所述电子设备执行如第一方面所述的方法。
8.根据本公开实施例的第五方面,提供了一种计算机程序产品,所述计算机程序产品包括可读性程序指令,所述可读性程序指令由电子设备的处理器执行时,使得所述电子设备执行如第一方面所述的方法。
9.本公开的实施例提供的技术方案至少带来以下有益效果:在本公开实施例中,通过响应于接收到终端发送的图元素操作指令,基于所述图元素操作指令所指示的目标图元素和/或可选组件构建查询图;所述图元素操作指令是所述终端根据用户对所述终端的界面中所显示的已创建的图元素和/或可选组件的指定操作生成的;所述可选组件用于向所述用户提供可选查询信息的语义信息;按照预设生成规则,基于所述查询图中包含的图元素对应的目标查询信息,生成目标查询语句;向目标对象输出所述目标查询语句;所述目标对象用于基于所述目标查询语句执行所述查询图所指示的查询操作,所述目标对象包括所述终端。这样,用户可以通过终端界面上的可选组件以及所显示的已创建的图元素向查询图中添加对应的图元素,从而构成查询图,进一步按照预设生成规则,根据查询图中包含的图元素来生成查询语句,由于可选组件可以向用户提供可选查询信息的语义信息,从而用户无需了解数据的底层信息以及查询语句的生成规则,只需专注于查询语义即可生成符合预设生成规则的查询语句,无需人工编写查询语句,实现基于可视化的查询语句构建与生成,降低了查询难度。
10.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
11.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
12.图1是根据一示例性实施例示出的一种语义查询可视化构建与生成的实现方法的流程图;图2是根据一示例性实施例示出的一种查询图结构示意图;图3是根据一示例性实施例示出的一种语义查询可视化构建与生成的实现的交互时序图;图4是根据一示例性实施例示出的另一种语义查询可视化构建与生成的实现方法的流程图;图5是根据一示例性实施例示出的一种语义查询可视化构建与生成的实现装置的框图。
具体实施方式
13.为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公
开实施例中的技术方案进行清楚、完整地描述。
14.需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
15.图1是根据一示例性实施例示出的一种语义查询可视化构建与生成的实现方法的流程图,如图1所示,该方法可以包括以下步骤:步骤101、响应于接收到终端发送的图元素操作指令,基于所述图元素操作指令所指示的图元素和/或可选组件构建查询图;所述图元素操作指令是所述终端根据用户对所述终端的界面中所显示的已创建的图元素和/或可选组件的指定操作生成的;所述可选组件用于向所述用户提供可选查询信息的语义信息。
16.其中,本公开实施例所提出的方法可以应用于任一终端设备,上述用户指的是具有查询需求的用户,可以是普通用户,也可以是计算机领域的用户,相应地,上述终端指的是上述用户所使用的终端,可以是任一终端设备。
17.其中,上述图元素指的是构成查询图的元素或结构,上述可选组件指的是通过终端显示给用户的可选模块,用户通过选择图元素和/或可选组件可以生成图元素操作指令。具体的,上述图元素操作指令指的是构建查询图的指令,根据不同的图元素操作指令所构建的查询图也不同。其中,上述指定操作可以是对图元素和/或可选组件的选择操作或编辑操作,其中,选择操作可以是点击操作或拖拽操作等等,本公开实施例对此不作限制。
18.其中,上述可选查询信息指的是可供用户查询的信息,可以预先通过不同领域的语义本体文件(owl文件)得到不同的可选查询信息以及相对应的语义信息,其中,上述领域与所使用的owl文件所涉及的领域相对应。在数据查询技术中,可选查询信息通常可以包括类信息、关系属性信息以及数据属性信息,从而可以通过将数据映射为资源描述框架(resource description framework,rdf)三元组信息来进行查询,一个三元组可以包含主语、谓语和宾语。进一步地,本公开实施例中的查询图可以采用无向图数据结构,其可以包含节点(node)、节点之间的关系(edge),这与rdf的特性(主谓宾)高度一致,从而可以通过构建查询图来实现对rdf的查询。
19.上述语义信息指的是普通用户可以理解的信息,可以预先通过上述可选查询信息对应的语义本体文件(web ontology language,owl)得到,从而通过可选查询信息的语义信息可以生成不同的可选组件,以使用户通过终端显示界面所展示的可选组件,选择语义信息能够表示用户所需表达的查询逻辑的可选组件。可以理解的,用户可以通过可选组件了解到可选查询信息的语义信息,从而可以使用户只需专注于查询逻辑为查询图添加图元素,而无需了解底层的数据信息。
20.可选地,可以将当前构建的查询图输出至终端中的查询图组件或查询图模块中进行显示,以使用户可以随时查看到当前构建的查询图的结构。进一步地,上述已创建的图元素指的是在查询图最终完成之前,已经被添加至查询图中的图元素,可以理解的,在查询图最终完成之前,用户还可以继续对当前查询图中的图元素进行增加或删除。
21.步骤102、按照预设生成规则,基于所述查询图中包含的图元素对应的目标查询信息,生成目标查询语句。
22.其中,本步骤可以在查询图最终完成后才执行,具体的,可以是在接收到用户的完成指令的情况下执行,也可以是在预设时长内未接收到新的操作指令的情况下执行,本公开实施例对此不作限制。
23.其中,上述预设生成规则是与用户所需生成的查询语句相对应的,上述目标查询语句指的是资源描述框架查询语言,也就是为rdf专门开发的语言,例如,可以是sparql语句,相应地,上述预设生成规则指的是符合sparql语句的规则,可以包含生成sparql语句所需的信息以及格式,可以理解为目标查询语句的语法。进一步地,上述目标查询信息指的是与查询图中包含的图元素所指示的语义信息相对应的可选查询信息,可以理解的,由于查询图中的图元素是基于用户对可选组件的指定操作所添加的,不同的图元素对应对不同可选组件的不同的指定操作,从而可以根据查询图中的图元素得到用户所想要查询的语义信息,进而可以根据语义信息得到对应的目标查询信息。
24.步骤103、向目标对象输出所述目标查询语句;所述目标对象用于基于所述目标查询语句执行所述查询图所指示的查询操作,所述目标对象包括所述终端。
25.其中,上述目标对象可以是任一具有查询需求的终端或电子设备,从而上述目标对象可以通过目标查询语句完成对应的查询操作。具体的,可以通过网络或硬件与不同设备相连接,从而可以通过接收到的查询指令来确定上述目标对象。
26.综上所述,本公开实施例所提供的语义查询可视化构建与生成的实现方法,通过响应于接收到终端发送的图元素操作指令,基于所述图元素操作指令所指示的目标图元素和/或可选组件构建查询图;所述图元素操作指令是所述终端根据用户对所述终端的界面中所显示的已创建的图元素和/或可选组件的指定操作生成的;所述可选组件用于向所述用户提供可选查询信息的语义信息;按照预设生成规则,基于所述查询图中包含的图元素对应的目标查询信息,生成目标查询语句;向目标对象输出所述目标查询语句;所述目标对象用于基于所述目标查询语句执行所述查询图所指示的查询操作,所述目标对象包括所述终端。这样,用户可以通过终端界面上的可选组件以及所显示的已创建的图元素向查询图中添加对应的图元素,从而构成查询图,进一步按照预设生成规则,根据查询图中包含的图元素来生成查询语句,由于可选组件可以向用户提供可选查询信息的语义信息,从而用户无需了解数据的底层信息以及查询语句的生成规则,只需专注于查询语义即可生成符合预设生成规则的查询语句,无需人工编写查询语句,实现基于可视化的查询语句构建与生成,降低了查询难度。
27.可选地,所述可选组件包括可选类组件;所述基于所述图元素操作指令所指示的图元素和/或可选组件构建查询图的操作,本公开实施例具体可以包括下述步骤:步骤201、在所述图元素操作指令为查询节点添加指令的情况下,基于所述查询节点添加指令所指示的目标类组件,创建查询节点;所述目标类组件是所述用户从所述可选类组件中选择的,所述查询节点用于表征所述目标类组件对应的目标类信息。
28.其中,上述图元素操作指令可以包括查询节点添加指令、关系边添加指令和删除指令。其中,上述可选类组件用于提供可选查询信息的类信息,用于表征数据的不同类别,示例性地,当可选查询信息为学校数据库中的信息时,上述类信息可以包括老师、学生等类
别。
29.具体的,不同的类组件可以表征不同的类信息,从而用户可以通过想要查询的类信息来确定对应的类组件,进而通过选择该类组件作为目标类组件,为该目标类组件创建对应的查询节点。
30.其中,查询节点也可以称为实例节点,在查询图中可以为矩形或圆形,当然,也可以是其他的形式,本公开实施例对此不作限制。查询节点中可以存储对应的目标类信息,用来表示实际的查询类别或查询对象。进一步地,由于不同的查询节点对应不同的类信息,本公开实施例还可以进一步通过静态变量计数自增为不同的查询节点提供唯一标识,并将该唯一标识也存储至查询节点中。
31.示例性地,用户可以通过选择老师对应的类组件和学生对应的类组件,从而在查询图中创建类别为老师的查询节点和类别为学生的查询节点。
32.步骤202、在所述图元素操作指令为关系边添加指令的情况下,为所述关系边添加指令所指示的目标查询节点之间添加关系边,以得到所述查询图;所述关系边添加指令是所述终端根据所述用户对所述目标查询节点的选择操作生成的,所述关系边用于表征所述目标查询节点之间的关系属性;所述目标查询节点包括所述用户从已创建的图元素中选择的至少两个查询节点。
33.其中,上述关系属性(object property)也可以称为对象属性,指的是不同的查询节点之间的关联关系,也就是不同类信息之间的关联关系。相应地,上述关系边(object edge)也可以称为对象边,是用于连接具有关联关系的查询节点,可以为直线形式。
34.具体的,由于关联关系通常用于表示至少两个类别之间的关系,因此用户可以通过选择至少两个已创建的查询节点来生成上述关系边。具体的,可以在用户选择任一已创建的查询节点后,通过遍历当前查询图中与所选中的目标查询节点具有关联关系的查询节点进行高亮,从而用户可以通过点击高亮节点来选择至少两个查询节点作为目标查询节点,从而为目标查询节点之间创建关系边。
35.进一步地,由于在rdf数据中,类信息、关系属性信息是以三元组,也就是主谓宾的形式来表示的,对于关系属性来说,其包含了主语和宾语,示例性地,以老师和学生这两个类信息为例,两者之间存在“指导”的关系属性,即,老师指导学生,从而关系属性自身作为谓语,老师与学生分别作为主语和宾语,从而上述关系边的两端分别为主语和宾语节点,关系边则用于表示作为谓语的关系属性。
36.进一步地,当用户所选中的任一查询节点具有多个关系属性时,该查询节点对应的类组件中还可以包括可选关系属性组件,从而用户可以从可选关系属性组件中选择想要查询的目标关系属性组件,此时本公开实施例可以通过遍历查询图中该目标关系属性组件对应的目标关系属性的宾语取值范围,并对属于该取值范围中的查询节点进行高亮,以使用户可以从所有的高亮节点中选取想要查询的查询节点,并生成对应关系边。示例性地,以查询图中存在老师、学生、学校三个查询节点为例,用户可以选择“老师”节点,此时“老师”对应的类组件可以通过显示可选关系属性组件来列出该类信息的所有关系属性,用户通过点击“指导”的关系属性所对应的目标关系属性组件,此时可以将“学生”节点进行高亮,以使用户通过选择“学生”节点来构建“老师指导学生”的关系边。
37.本公开实施例中,所述可选组件包括可选类组件;通过将在所述图元素操作指令
为查询节点添加指令的情况下,基于所述查询节点添加指令所指示的目标类组件,创建查询节点;所述目标类组件是所述用户从所述可选类组件中选择的,所述查询节点用于表征所述目标类组件对应的目标类信息;在所述图元素操作指令为关系边添加指令的情况下,为所述关系边添加指令所指示的目标查询节点之间添加关系边,以得到所述查询图;所述关系边添加指令是所述终端根据所述用户对所述目标查询节点的选择操作生成的,所述关系边用于表征所述目标查询节点之间的关系属性;所述目标查询节点包括所述用户从已创建的图元素中选择的至少两个查询节点。这样,通过类组件可以向用户提供可查询的类信息,用户通过选择类组件可以构建查询节点,同时还可以为查询图中的具有关系属性的至少两个查询节点添加关系边,通过可视化的查询节点和关系边形成具体的查询语义,提高查询语义构建的效率,进而提高生成查询语句的效率。
38.可选地,所述可选组件还包括可选数据属性组件;上述基于所述图元素操作指令所指示的图元素和/或可选组件构建查询图的操作,本公开实施例还可以包括下述步骤:步骤301、在所述图元素操作指令为条件元素添加指令的情况下,基于所述条件元素添加指令所指示的第一查询节点和目标数据属性组件,创建第一条件节点;所述第一查询节点和所述目标数据属性组件是所述用户从之前创建的查询节点和所述可选数据属性组件中选择的;所述第一条件节点用于表征对所述目标数据属性组件对应的目标属性信息的查询条件。
39.其中,上述图元素操作指令还可以包括条件元素添加指令,条件元素添加指令可以包括第一条件节点添加指令和第一数据边添加指令。上述可选数据属性组件用于表征任一类信息对应的不同的数据属性信息,上述第一查询节点指的是用户想要添加查询条件的任一查询节点,上述条件元素添加指令是基于用户对第一查询节点和目标数据属性组件的选择操作生成的。
40.具体的,对于任一类信息,可以对应一个或多个数据属性,相当于是该类信息对应的不同属性维度。例如,“老师”可以对应有“姓名”、“年龄”以及“性别”等多个数据属性,不同的数据属性所对应的数据值可以从不同维度对类信息进行描述。进一步地,上述查询条件指的是对上述第一查询节点所设置的查询条件。
41.具体的,上述可选数据属性组件可以提供不同数据属性的条件添加操作,例如对于数值类型可以提供使用频率较高的单目操作(大于、小于和等于等),进一步地,可以将用户从当前查询图中已创建的图元素中所选中的查询节点作为上述第一查询节点,此时可以在上述可选数据属性组件中列出该类信息的所有的数据属性,用户按照实际想要查询的数据属性选择对应的可选数据属性组件作为目标数据属性组件,还可以通过目标数据属性组件所提供的条件添加操作来添加查询条件,相当于筛选操作,从而实现对对应的目标属性信息的单属性过滤查询。相应地,可以将用户所添加的查询条件以字符串形式存储至所创建的第一条件节点中,第一条件节点可以为菱形或不规则多边形等形式,本公开实施例对此不作限制。
42.步骤302、为所述第一条件节点和所述第一查询节点之间添加第一数据边,以得到所述查询图;所述第一数据边用于表征所述目标属性信息。
43.具体的,在生成第一条件节点后,可以通过添加第一数据边将上述第一条件节点和第一查询节点进行连接,可以表示第一条件节点中的查询条件是针对第一查询节点对应
的类信息设置的。进一步地,可以将作为主语的第一查询节点的标识存储至第一数据边中,还可以将作为谓语的上述目标属性信息的名称以及作为宾语的目标属性信息的标识或变量名也存储至上述第一数据边中。
44.示例性地,可以通过用户对“老师”节点的选择操作,将“老师”对应的数据属性信息进行显示,当接收到用户对“年龄属性”组件添加了“小于三十”的操作后,可以生成包含查询条件“年龄大于三十”或“i1d2>30”的第一条件节点,以及包含“i1、age、i1d2”的第一数据边,其中,i1表示“老师”的标识,age表示目标属性信息的名称,i1d2表示“老师”的目标属性信息的标识,需要说明的是,不同类信息以及数据属性信息的标识可以在获取可选查询信息时预先生成,也可以是在创建节点或边时同步生成,本公开实施例对此不作限制。
45.本公开实施例中,所述可选组件还包括可选数据属性组件;通过在所述图元素操作指令为条件元素添加指令的情况下,基于所述条件元素添加指令所指示的第一查询节点和目标数据属性组件,创建第一条件节点;所述第一查询节点和所述目标数据属性组件是所述用户从之前创建的查询节点和所述可选数据属性组件中选择的;所述第一条件节点用于表征对所述目标数据属性组件对应的目标属性信息的查询条件;为所述第一条件节点和所述第一查询节点之间添加第一数据边,以得到所述查询图;所述第一数据边用于表征所述目标属性信息。这样,通过可选数据属性组件可以为查询图创建第一条件节点和第一数据边,通过可视化的条件节点和数据边构建查询条件,实现对目标属性信息的查询限制,提高查询语义构建的准确性。
46.可选地,所述可选组件还包括过滤组件,所述基于所述图元素操作指令所指示的图元素和/或可选组件构建查询图的操作,本公开实施例中还可以包括下述步骤:步骤401、在所述图元素操作指令为过滤元素添加指令的情况下,基于所述过滤元素添加指令所指示的第二查询节点和所述过滤组件中设置的过滤条件,创建第二条件节点;所述第二查询节点是所述用户从之前创建的查询节点中选择的;所述第二条件节点用于表征所述用户再所述过滤组件中设置的过滤条件。
47.其中,上述图元素操作指令还可以包括过滤元素添加指令,具体的,过滤元素添加指令可以通过用户对过滤组件的指定操作生成,该指定操作可以包括编辑操作。上述过滤组件可以用于设置过滤条件,可以是文本编辑组件,用户通过过滤组件可以编辑对一个或多个数据属性的过滤条件。上述过滤元素添加指令所指示的第二查询节点指的是过滤条件中所涉及的查询节点,可以是一个,也可以是多个。
48.具体的,在创建第二条件节点后,可以将用户所添加的查询条件以字符串形式存储至所创建的第二条件节点中,第二条件节点也可以为菱形或不规则多边形等形式,本公开实施例对此不作限制。
49.步骤402、为所述第二条件节点和所述第二查询节点之间添加第二数据边,以得到所述查询图;所述第二数据边用于表征过滤属性信息。
50.具体的,当用户通过过滤组件添加针对多个查询节点以及多个数据属性的过滤条件时,可以根据该过滤条件的类信息以及数据属性信息中所涉及到的查询节点生成第二数据边,用于连接查询节点和上述第二条件节点。
51.其中,上述过滤属性信息指的是过滤组件中设置的过滤条件所针对的数据属性信息,相应地,上述过滤属性信息可以是一个,也可以是多个。
52.可以理解的,当过滤条件涉及到多个查询节点时,上述第二数据边也为多个。进一步地,可以将作为主语的第二查询节点的标识存储至第二数据边中,还可以将作为谓语的上述过滤属性信息的名称以及作为宾语的过滤属性信息的标识或变量名也存储至上述第二数据边中。示例性地,用户可以通过上述过滤组件添加“老师”的“年龄”减去“学生”的“年龄”大于二十的过滤条件,从而可以生成一个包含过滤条件“i1d2-i2d1>20”的第二条件节点,以及分别包含“i1、age、i1d2”、“i2、age、i2d2”的第二数据边,其中,i1表示“老师”的标识,i2i表示“学生”的标识,age表示目标属性信息的名称,i1d2表示“老师”的过滤属性信息的标识,i2d2表示“学生”的过滤属性信息的标识。
53.本公开实施例中,所述可选组件还包括过滤组件,通过在所述图元素操作指令为过滤元素添加指令的情况下,基于所述过滤元素添加指令所指示的第二查询节点和所述过滤组件中设置的过滤条件,创建第二条件节点;所述第二查询节点是所述用户从之前创建的查询节点中选择的;所述第二条件节点用于表征所述用户在所述过滤组件中设置的过滤条件;为所述第二条件节点和所述第二查询节点之间添加第二数据边,以得到所述查询图;所述第二数据边用于表征过滤属性信息。这样,通过过滤组件可以设置对过滤属性信息的查询过滤,同时通过在查询图中添加第二条件节点和第二数据边,可以以可视化的形式对过滤条件进行展现,使得用户可以直观地看到所构建的查询语义,提高查询语义构建的准确性。
54.可选地,上述基于所述图元素操作指令所指示的图元素和/或可选组件构建查询图,本公开实施例中还可以包括下述步骤:步骤501、在所述图元素操作指令为节点删除指令的情况下,若所述节点删除指令所指示的节点未通过数据边与其他条件节点相连接,则删除所述节点删除指令所指示的节点,以及删除与所述所指示的节点相连接的数据边,以得到所述查询图;所述节点包括所述查询节点以及条件节点;所述条件节点包括所述第一条件节点和所述第二条件节点;所述数据边包括所述第一数据边和所述第二数据边;步骤502、在所述图元素操作指令为关系边删除指令的情况下,删除所述关系边删除指令所指示的关系边,以得到所述查询图。
55.其中,上述图元素操作指令还可以包括删除指令,删除指令进一步可以包括节点删除指令以及关系边删除指令。具体的,上述可选组件还可以包括查询图组件,可以由查询图构成,查询图初始状态可以为空,为查询图所添加的图元素可以通过该查询图组件显示给用户,从而本公开实施例中可以通过接收用户对查询图组件中的图元素的选择操作,对当前查询图中的图元素进行删除。
56.具体的,上述节点删除指令以及关系边删除指令可以通过用户对已存在的图元素的选择操作生成,当用户选中删除节点时可以一并删除与该节点相连的边,条件节点以及不与条件节点直接相连的查询节点均支持删除操作。其中,上述步骤501中指出的,上述节点删除指令所指示的节点未通过数据边与其他条件节点相连接,指的是用户所选中删除的查询节点未与任一条件节点直接相连,可以理解的,本公开实施例中的第一条件节点与第二条件节点分别通过第一数据边和第二数据边,表示对对应的查询节点的查询条件以及过滤条件,因此,若将与任一条件节点直接连接的查询节点进行删除,会导致对应的条件节点孤立,从而无法确认条件节点的查询条件或过滤条件所对应的查询或过滤对象,因此,本公
开实施例中,可以支持删除任一条件节点以及不与任一条件节点直接连接的查询节点。
57.进一步地,还可以支持删除关系边的操作,当用户选中删除关系边时,只会删除被选中的边,不会删除节点。可以理解的,由于数据边是用于连接条件节点以及查询节点的,若删除数据边会导致条件节点孤立,从而无法确认条件节点的检索条件所对应的检索对象,因此,本公开实施例可以不支持删除数据边的操作,避免查询语义构建的误差。
58.本公开实施例中,通过在所述图元素操作指令为节点删除指令的情况下,若所述节点删除指令所指示的节点未通过数据边与其他条件节点相连接,则删除所述节点删除指令所指示的节点,以及删除与所述所指示的节点相连接的数据边,以得到所述查询图;所述节点包括所述查询节点以及条件节点;所述条件节点包括所述第一条件节点和所述第二条件节点;所述数据边包括所述第一数据边和所述第二数据边;在所述图元素操作指令为关系边删除指令的情况下,删除所述关系边删除指令所指示的关系边,以得到所述查询图。这样,可以在接收到节点删除指令或关系边删除指令时,将当前查询图中,删除指令所指示的图元素进行删除,方便用户对当前已构建的查询图进行修改或调整,提高查询语义构建的准确性。
59.可选地,上述按照预设生成规则,基于所述查询图中包含的图元素对应的目标查询信息,生成目标查询语句之前,本公开实施例具体还可以包括下述步骤:步骤601、在所述查询图中包括至少两个节点时,获取目标节点;所述目标节点是与所述查询图中的其他节点均不连通的节点;所述节点包括查询节点以及条件节点;所述条件节点包括第一条件节点和第二条件节点。
60.其中,上述目标节点指的是与当前查询图中得任一节点均不连通的节点,其中,上述节点包括查询节点以及上述第一条件节点和第二条件节点。具体的,可以随机选取图中任一节点为根节点,通过广度优先遍历算法遍历查询图,若能遍历到图中所有节点,则表明该根节点与图中其他节点均连通,若无法遍历到所有节点,则将当前根节点作为上述目标节点。
61.步骤602、基于所述目标节点生成提示信息并输出至所述终端,所述提示信息用于提醒所述用户为所述目标节点调整节点间连通关系,以使所述目标节点与至少一个其他节点连通。
62.具体的,当图中存在与其他节点均不连通的目标节点时,表明当前查询图中的图元素并不关联,而查询图的关联性与查询语义相对应,当查询图中存在上述目标节点时,表明当前查询图所表征的查询语义并不通顺,此时可能存在不符合用户的常规查询习惯的情况,因而此时可以针对目标节点生成提示信息并输出至终端,用户在接收到提示信息时可以对查询图的连通结构进行修改。
63.具体的,上述提示信息可以为连通分支的形式,也就是,可以在目标节点与至少一个其他节点之间添加至少一个连通分支,用户可以通过从上述至少一个连通分支中选择目标分支,使得目标节点通过目标分支与至少一个其他节点相连通。
64.进一步地,本公开实施例中可以在用户每次修改完成之后,均重新获取目标节点,直至当前查询图中不存在目标节点为止。
65.本公开实施例具体还可以包括下述步骤:步骤603、在所述查询图中不存在所述目标节点的情况下,执行所述按照预设生成
规则,基于所述查询图中包含的图元素对应的目标查询信息,生成目标查询语句的操作。
66.可以理解的,在当前查询图中不存在上述目标节点时,表明当前查询图中的图元素均相关联,当前的查询语义通顺且符合用户常规的思考习惯,因此,此时可以直接执行对查询图进行解析的操作。
67.本公开实施例中,通过在所述查询图中包括至少两个节点时,获取目标节点;所述目标节点是与所述查询图中的其他节点均不连通的节点;所述节点包括查询节点以及条件节点;所述条件节点包括第一条件节点和第二条件节点;基于所述目标节点生成提示信息并输出至所述终端,所述提示信息用于提醒所述用户为所述目标节点调整节点间连通关系,以使所述目标节点与至少一个其他节点连通;所述方法还包括:在所述查询图中不存在所述目标节点的情况下,执行所述按照预设生成规则,基于所述查询图中包含的图元素对应的目标查询信息,生成目标查询语句的操作。这样,通过获取查询图中的目标节点,可以对查询图的连通性进行检测,在查询图中存在与其他节点均不连通的其他节点时,通过提示信息使用户对当前的查询图进行调整,从而保证查询图中各图元素之间的关联性,保证了查询语义的通顺性,提高查询语义构建的准确性。
68.可选地,上述按照预设生成规则,基于所述查询图中包含的图元素对应的目标查询信息,生成目标查询语句的操作,本公开实施例具体可以包括下述步骤:步骤701、按照所述预设生成规则,基于所述查询图中包含的查询节点的标识生成第一语句,并基于所述第一语句生成所述目标查询语句的标识域。
69.其中,上述预设生成规则指的是目标查询语句的语法,上述标识域指的是select域,标识域中包含用户所需查询的信息的标识,用以表征此次查询所需输出的信息标识。
70.具体的,由于查询节点可以表征此次查询的类信息,因此可以获取查询图中所有查询节点的唯一标识,并按照上述预设生成规则,将所获取的查询节点的标识进行拼接,生成第一语句。进一步地,可以将上述第一语句与标识域的指定字段进行拼接,从而得到目标查询语句的标识域。
71.步骤702、按照所述预设生成规则,基于所述查询节点的标识、所述查询节点对应的目标类信息生成第二语句,并基于所述第二语句生成所述目标查询语句的查询域。
72.其中,上述查询域可以是where域,也可以理解为声明域,在查询域中可以对查询图中的查询节点进行声明,指明当前查询节点的所属类别,也就是所属的目标类信息。
73.进一步地,可以将每个查询节点的标识与对应的目标类信息进行声明,生成第二语句,并将不同查询节点的第二语句进行拼接后,与查询域的指定字段进行拼接,得到目标查询语句的查询域。
74.步骤703、将所述标识域以及所述查询域按照所述预设生成规则进行拼接,得到所述目标查询语句。
75.具体的,上述目标查询语句通常为sparql语句,相应地,上述预设生成规则指的是sparql语句的语法。
76.示例性地,以存在一个查询节点,其唯一标识为teacher1,类名(目标类信息)为http://test/myexample/school.owl#teacher,目标查询语句为sparql语句为例,可以生成select域为:select distinctteacher1,生成where域为:where{teacher1 a。其中,select distinct为select域的指定字段,where
{}以及其中的“a”,“《》”,“.”均为where域的指定格式和字段,用以对teacher1对应的目标类信息进行声明。
77.本公开实施例中,通过按照所述预设生成规则,基于所述查询图中包含的查询节点的标识生成第一语句,并基于所述第一语句生成所述目标查询语句的标识域;按照所述预设生成规则,基于所述查询节点的标识、所述查询节点对应的目标类信息生成第二语句,并基于所述第二语句生成所述目标查询语句的查询域;将所述标识域以及所述查询域按照所述预设生成规则进行拼接,得到所述目标查询语句。这样,通过查询节点的标识以及对应的目标类信息,可以得到包含查询图所需查询的类信息的标识域和查询域,通过预设生成规则即可得到符合查询语句语法的查询语句,在保证查询图语义准确性的同时,生成符合查询语义的查询语句。
78.可选地,本公开实施例具体还可以包括下述步骤:步骤801、在所述查询图中包含查询边的情况下,按照所述预设生成规则,基于所述查询图中的查询边生成标识语句以及属性语句,并将所述标识语句添加至所述标识域,将所述属性语句添加至所述查询域;所述查询边包括关系边和数据边。
79.其中,上述查询边可以包括关系边和数据边,由于关系边可以表征不同查询节点之间的关系属性,数据边可以表征所查询的数据属性信息,因此当查询图中包含查询边时,可以通过查询边获取关系属性信息以及所需查询的数据属性信息,并分别在标识域以及查询域中进行声明,以使所生成的查询语句可以表达查询图中各图元素所表征的信息。
80.步骤802、在所述查询图中包含条件节点的情况下,按照所述预设生成规则,基于所述条件节点对应的查询条件或过滤条件生成第三语句,并将所述第三语句添加至过滤域;所述条件节点包括第一条件节点和第二条件节点。
81.其中,上述条件节点可以包括第一条件节点和第二条件节点,可以理解的,条件节点中包含有查询条件或过滤条件,表征了查询语义中的检索条件,因此可以将查询条件或过滤条件声明至目标查询语句的过滤域中,以使目标查询语句可以表达查询图中的条件语义。
82.其中,上述过滤域可以是filter域,用以表征查询图中的检索条件。具体的,可以将条件节点中包含的查询条件或过滤条件的字符串作为第三语句,其中可以包含一个或多个查询节点标识,例如:teacher1#age
ꢀ‑
student2#age》20,从而可以将该第三语句与过滤域的指定字段进行拼接,得到目标查询语句的过滤域:filter(teacher1#age
ꢀ‑
student1#age》20),可以表征teacher1查询节点中的age属性
ꢀ‑ꢀ
student1查询节点中的age属性大于二十的检索条件。
83.上述将所述标识域以及所述查询域按照所述预设生成规则进行拼接的操作,本公开实施例具体还可以包括下述步骤:步骤803、将所述标识域、所述查询域以及所述过滤域按照所述预设生成规则进行拼接,得到所述目标查询语句。
84.具体的,上述过滤域可以在查询域之后,具体以查询语句的语法为准,进而在分别得到上述标识域、查询域以及过滤域后,可以将select域、where域、filter域的字符串拼接在一起,构成完整的sparql语句,即,目标查询语句。
85.本公开实施例中,通过在所述查询图中包含查询边的情况下,按照所述预设生成
规则,基于所述查询图中的查询边生成标识语句以及属性语句,并将所述标识语句添加至所述标识域,将所述属性语句添加至所述查询域;所述查询边包括关系边和数据边;在所述查询图中包含条件节点的情况下,按照所述预设生成规则,基于所述条件节点对应的查询条件或过滤条件生成第三语句,并将所述第三语句添加至过滤域;所述条件节点包括第一条件节点和第二条件节点;将所述标识域、所述查询域以及所述过滤域按照所述预设生成规则进行拼接,得到所述目标查询语句。这样,在查询图中包含查询边和条件节点时,通过对查询边以及条件节点进行解析,可以得到包含查询条件或过滤条件的查询语句,从而使目标查询语句可以完整表达查询图中各图元素的表征语义,生成符合查询语义的查询语句,保证查询语句的准确性。
86.可选地,上述基于所述查询图中的查询边生成标识语句以及属性语句的操作,本公开实施例具体可以包括下述步骤:步骤901、基于所述关系边对应的目标查询节点的标识,以及所述目标查询节点之间的关系属性,生成第一属性语句。
87.可以理解的,关系边可以表征不同查询节点之间的关系属性,而为了保证查询语义的准确性,不同类信息之间的关系属性为构成查询语句的必要信息,因此可以通过关系边获取到目标查询节点的标识以及关系属性。
88.具体的,不同类信息之间的关系属性通常表示为主谓宾的形式,可以在关系边中获取到主语唯一标识、谓词名称以及宾语的唯一标识,其中,主语唯一标识和宾语的唯一标识分别为关系边的两个端点(目标查询节点)的标识,谓词名称指的是两者之间的关系属性,例如:主语标识为teacher1,宾语标识为student1,谓语名称为http://test/myexample/school.owl#teach,从而可以生成第一属性语句为“teacher1teacher1student1.”用以表征teacher1teachstudent1的关系属性。
89.步骤902、在所述数据边中包括输出标识的情况下,基于所述数据边对应的目标属性信息或过滤属性信息的标识生成所述标识语句;所述数据边包括第一数据边和第二数据边。
90.步骤903、基于所述数据边对应的目标属性信息或过滤属性信息生成第二属性语句。
91.其中,上述数据边可以包括第一数据边以及第二数据边,分别为第一条件节点和第二条件节点对应的数据边,从而数据边对应的数据属性信息可以是第一条件节点对应的目标数据属性信息,或第二条件节点对应的过滤属性信息。上述输出标识是通过接收用户的设置指令所设置的,用以表征是否需要输出对应的目标属性信息或过滤属性信息,输出标识可以为true,非输出标识可以为false,当然也可以为其他形式,本公开实施例对此不作限制。
92.具体的,当数据边中包括输出标识时,表明用户所构建的查询语义需要输出该数据边对应的数据属性信息,因此需要将该数据属性信息的标识添加至标识域中进行声明,使其对应的目标属性信息或过滤属性信息可以参与查询结果的输出。
93.进一步地,由于数据边通过与对应的查询节点相连接,可以表征对应的目标属性信息或过滤属性信息的所属类信息,从而可以根据数据边获取对应的数据属性信息的唯一
标识与名称,从而可以在查询域中对数据属性信息的归属信息进行声明,即对应的目标属性信息或过滤属性信息所属于的类信息。
94.示例性地,目标属性信息或过滤属性信息的标识为teacher1#age,名称为http://test/myexample/school.owl#age,是否输出标志为true,则可以在where域添加数据属性归属信息,即第二属性语句为:“teacher1teacher1teacher1#age.”,由于输出标志为true,则在select域中加入“teacher1#age”参与输出。
95.本公开实施例中,通过基于所述关系边对应的目标查询节点的标识,以及所述目标查询节点之间的关系属性,生成第一属性语句;在所述数据边中包括输出标识的情况下,基于所述数据边对应的目标属性信息或过滤属性信息的标识生成所述标识语句;所述数据边包括第一数据边和第二数据边;基于所述数据边对应的目标属性信息或过滤属性信息生成第二属性语句。这样,通过分别对关系边和数据边进行解析,可以进一步地使查询语句可以完整表达查询图中各图元素的表征语义,生成符合查询语义的查询语句,保证查询语句的准确性。
96.可选地,本公开实施例具体还可以包括下述步骤:步骤1001、基于预设的查询本体文件,获取可选组件信息;所述可选组件信息包括类信息、数据属性信息以及关系属性信息。
97.步骤1002、将所述数据属性信息以及关系属性信息划分至所属的类信息。
98.步骤1003、对于任一所述类信息,基于属于所述类信息的数据属性信息以及关系属性信息,生成排序索引文件。
99.步骤1004、将所述可选组件信息以及所述排序索引文件发送至所述终端,以使所述终端基于所述可选组件信息以及所述排序索引文件显示所述可选组件。
100.针对上述步骤1001~1004,其中,上述查询本体文件指的是语义本体文件(webontology language,owl),其中包含了可选查询信息以及对应的语义本体信息,通常包括类信息、数据属性信息以及关系属性信息。其中,类信息定义了本体中各事物的类别以及类别间的继承关系,名称通常为名词形式,例如校长、老师和学生,并且校长是特殊的老师,可以作为老师的子类,关系属性信息定义了各类间除继承关系外的关系,具有主语和宾语,取值范围均为类,名称多为动词,例如教学,主语范围为老师,宾语范围为学生,表明老师与学生之间存在教学的关系。数据属性定义了类具有的数据信息,也具有主语和宾语,主语的取值范围为类,宾语的取值范围为数据类型,名称多为名词,例如姓名,主语范围为老师、学生,宾语范围为字符串,表明老师与学生均存在对应的姓名信息。进一步地,上述可选组件信息指的是查询本体文件中包括的可选查询信息,也就是上述类信息、数据属性信息以及关系属性信息。
101.其中,上述划分指的是将数据属性信息以及关系属性信息分别划分至其对应的类信息下。需要说明的是,在owl文件中,上述类信息、数据属性信息以及关系属性信息是分别存放,为了方便后续的查询,需要重新将上述信息进行整合,具体可以根据数据属性信息的主语的所属类别以及关系属性信息的主语和宾语的所属类别进行整合,得到各个类分别对应的数据属性信息以及关系属性信息。
102.进一步地,还可以将存在继承关系的类信息进行整合,通过层序遍历类的继承树,
依次为子类添加属性信息,使各子类均具有父类的所有关系属性以及数据属性信息。
103.其中,上述排序索引文件可以是正排索引文件,也可以是倒排索引文件,具体的,正排索引指的是对某一类信息所对应的数据属性信息以及关系属性信息建立排序,使得对于任一类信息,均可以按照该正排索引遍历到对应的所有的数据属性信息以及关系属性信息。相应地,倒排索引指的是对某一属性信息(关系属性信息或数据属性信息),所对应的类信息进行排序,使得对于任一属性信息,均可以按照该倒排索引遍历到对应的类信息。
104.进一步地,由于在生成查询语句时需要为查询相关的数据属性信息变量提供唯一标识,因此,可以在得到各类信息包含的数据属性信息后,通过自增计数为各类信息的数据属性生成唯一标识,用于区分不同类信息的不同数据属性信息,当然,也可以为不同的关系属性信息生成唯一标识,用于区分不同的关系属性信息。
105.进一步地,在得到上述可选组件信息以及排序索引文件后,可以得到任一类信息对应的数据属性信息以及关系属性信息,从而可以生成不同的可选组件,用于显示上述可选组件信息。具体的,上述可选组件可以包括前述步骤描述的可选类组件、可选关系属性组件、可选数据属性组件以及过滤组件,具体的,初始可以根据可选组件信息中包含的所有类信息显示出对应的可选类组件,当用户对任一可选类组件进行指定操作后,可以根据上述排序索引文件中该类信息对应的数据属性信息以及关系属性信息,显示出对应的可选数据属性组件和可选关系属性组件。其中,上述可选类组件可以由类列表和搜索框构成,初始状态为列出所有类,并且通过搜索框提供基于类名称与描述信息的筛选功能。上述可选数据属性组件可以由数据属性列表和搜索框构成,初始状态为空,并且通过搜索框可以提供基于数据属性名称与描述信息的筛选功能,以根据用户对搜索框的操作获取对应的查询条件。上述过滤组件可以为文本编辑器,用于用户手动编写涉及多个数据属性的高级过滤条件。
106.进一步地,上述可选组件还可以包括查询图组件,可以由以类和条件为点、属性为边组成的查询图构成,查询图初始状态可以为空,为查询图所添加的图元素可以通过该查询图组件显示给用户。
107.图2是根据一示例性实施例示出的一种查询图结构示意图,如图2所示,所构建的查询图可以包括节点和边,节点进一步可以包括实例节点(查询节点)和条件节点,边可以进一步包括对象边(关系边)和数据边,相应地,实例节点中可以保存节点的唯一标识与类名,条件节点中可以保存由一个或多个数据属性所构成的检索条件,可以是前述查询条件或过滤条件,对象边中可以保存主语唯一标识、宾语唯一标识以及谓词名称,数据边中可以保存数据属性唯一标识、数据属性的名称以及是否输出的标志。
108.本公开实施例中,通过基于预设的查询本体文件,获取可选组件信息;所述可选组件信息包括类信息、数据属性信息以及关系属性信息;基于所述数据属性信息以及所述关系属性信息的所属类别,对所述类信息进行整合,以生成整合信息;基于所述类信息所包含的数据属性信息以及关系属性信息,生成倒排索引;基于所述类信息所包含的数据属性信息生成标识;基于所述标识、整合信息以及所述倒排索引获取数据组织信息,并将所述数据组织信息发送至所述终端,以使所述终端基于所述数据组织信息显示所述可选组件。这样,通过对查询本体文件中包括的数据信息进行相应处理得到数据组织信息,使终端通过该包含标识、整合信息以及倒排索引的数据组织信息可以生成与查询本体文件相对应的可选组
件并显示,从而向用户提供一种可视化的查询操作,用户通过所生成的可选组件即可构建对查询本体文件的查询语义,降低查询难度,提高了查询的效率。
109.进一步地,本公开实施例中在得到上述查询图以及目标查询语句后,还可以对查询图结构与目标查询语句进行保存,具体的,查询图结构本身由节点与边构成,因此只需将节点和边持久化即可,持久化可选用序列化的方式保存至文件,查询图的持久化可以使用第三方序列化框架,其中序列化后的展现形式主要有两种:json格式和二进制格式。其中,json格式的序列化主要以fastjson、jackson为主的序列化框架,序列化后可读性强,数据格式简单,易于读写。二进制格式的序列化主要以诸如kyro、protobuf、hessian等的序列化框架,序列化过程的性能高于java原生序列化,序列化的结果是二进制流,序列化速度快、序列化后占用存储小,且信息并非明文,保密性较好。
110.具体的,对查询语句的保存可以是为查询图生成唯一标识(identity document,id),并使目标查询语句与查询图通过该id建立关联,将目标查询语句保存至文件中,文件名可以以上述id为前缀,从而方便后续的查找和复用。
111.图3是根据一示例性实施例示出的一种语义查询可视化构建与生成的实现的交互时序图,如图3所示,可以包括解析阶段、构建阶段和保存阶段,其中,图中所示的用户指的是任一具有查询需求的用户,用户通过终端可以向网络本体语言文件解析器以及查询图服务发送对应指令,图中的网络本体语言文件(owl)解析器以及查询图服务指的是本公开实施例提供的语义查询可视化构建与生成的实现方法的执行主体,可以是任一终端设备,也可以是用户所使用的终端的后端。
112.具体的,如图3所示,解析阶段可以包括请求解析网络本体语言文件以及元数据解析成功,在构建阶段,用户可以基于可选组件向查询图服务发送图元素操作指令,以构建查询图,相应地,查询图服务可以将查询图实时返回至用户终端进行显示,在接收到用户请求生成资源描述框架查询语言时,通过解析查询图生成对应的资源描述框架查询语言,并将该资源描述框架查询语言结果返回至用户。进一步地,在保存阶段,用户可以发起保存查询图的请求,查询图服务通过响应该请求实现查询图与资源描述框架查询语言的持久化,并将持久化结果返回至用户终端,进而保存成功。其中,上述资源描述框架查询语言指的是sparql语言。
113.图4是根据一示例性实施例示出的另一种语义查询可视化构建与生成的实现方法的流程图,如图4所示,可以包含下述步骤:步骤211、准备网络本体语言文件。
114.其中,上述网络本体语言文件指的是owl文件。
115.步骤212、解析网络本体语言文件。
116.步骤213、网络本体语言文件元数据抽取。
117.其中,该步骤相当于获取数据组织信息。
118.步骤214、根据元数据提供可视化操作。
119.其中,相当于将数据组织信息返回至终端,使终端通过数据组织信息显示可选组件。
120.步骤215、客户端构建查询图。
121.其中,上述客户端指的是用户终端,本步骤指的是通过接收客户端的图元素操作
指令来构建查询图。
122.步骤216、判断查询图是否连通,若否,重新执行步骤215,若是,执行步骤217。
123.具体的,可以通过向终端发送提示信息,以使用户基于提示信息对查询图的连通性进行修改。
124.步骤217、根据查询图生成对应的资源描述框架查询语言。
125.其中,上述资源描述框架查询语言指的是sparql语言,从而本步骤指的是根据查询图生成对应的sparql查询语句。
126.步骤218、保存资源描述框架查询语言与查询图结构。
127.需要说明的是,在语义技术领域中,通常通过资源描述框架(rdf)或语义网络本体语言(owl)对应用领域数据形式化信息建模,然后针对应用需求对数据进行检索与查询。语义网络本体语言owl提供的建模功能十分灵活且丰富,适合描述工业信息模型,不仅具有明确的、标准化的语义,并且还可用于语义融合、查询和逻辑推理。rdf是一种用于描述资源特性及资源与资源之间关系的模型框架,该框架将数据存储在三元组中,并可与owl本体相结合进行有效查询。如果原始数据量过于庞大且更新频繁,始终将最新的数据转换为三元组的形式进行物化存储带来了巨大开销。这时,可按照基于本体的数据访问(obda)技术,使用映射技术将数据虚拟化为rdf三元组,以便相应语义查询。而无论采取哪种方式,对rdf三元组数据进行语义查询的最常用语言为sparql,即一种为rdf专门开发的查询语言和数据获取协议。在实际应用中,本体语义模型的使用者多为具有应用领域知识的业务专家,他们通常不具备计算机技术、形式化语义查询等方面的知识与技能,构建sparql查询的良好体验是高效语义查询的基础。
128.而在先技术中,通常通过以下几种方式构建sparql查询:文本查询编辑器:使用者直接编辑sparql文本来构建查询,部分编辑器提供了上下文感知功能,为用户的sparql文本编辑过程带来了便利。此类系统需要语义查询者具有sparql的语法知识,因此导致较高的使用门槛,易用性大大受限。
129.关键字搜索:使用多个关键字构建查询。此方法操作简单,但其表达能力有限,例如难以表达多个关键字之间的语义逻辑关联,因此构建的查询可能与使用者的查询意图出入较大,从而导致查询结果不符合期望。
130.自然语言查询:使用自然语言描述查询。并使用机器学习算法从自然语言自动识别出对应的sparql语义查询。在此类查询系统中,用户构建查询的体验较好。但由于自然语言的多样性与歧义性,sparql语言自动识别精度往往较低、支持的句式有限,因而该类方法的实用性不佳。
131.可以理解的,上述几种方式均存在查询难度或构建语义歧义方面的问题,且基于文本来构建查询,其交互性、易理解性都受到了文本形式的制约。而本公开实施例所提供的语义查询可视化构建与生成的实现方法,可以以图形化地方式辅助业务领域用户高效、准确地构建语义查询,使用户只需专注于查询语义逻辑,无需了解具体的sparql语法,相对于基于树结构的可视化,可以实现更直观、语义准确且表达能力更强的查询语义构建。
132.图5是根据一示例性实施例示出的一种语义查询可视化构建与生成的实现装置的框图,如图5所示,该装置110可以包括:查询图构建模块1101,用于响应于接收到终端发送的图元素操作指令,基于所述
图元素操作指令所指示的图元素和/或可选组件构建查询图;所述图元素操作指令是所述终端根据用户对所述终端的界面中所显示的已创建的图元素和/或可选组件的指定操作生成的;所述可选组件用于向所述用户提供可选查询信息的语义信息;查询语句生成模块1102,用于按照预设生成规则,基于所述查询图中包含的图元素对应的目标查询信息,生成目标查询语句;输出模块1103,用于向目标对象输出所述目标查询语句;所述目标对象用于基于所述目标查询语句执行所述查询图所指示的查询操作,所述目标对象包括所述终端。
133.可选地,所述可选组件包括可选类组件;所述查询图构建模块1101,包括:查询节点构建子模块,用于在所述图元素操作指令为查询节点添加指令的情况下,基于所述查询节点添加指令所指示的目标类组件,创建查询节点;所述目标类组件是所述用户从所述可选类组件中选择的,所述查询节点用于表征所述目标类组件对应的目标类信息;关系边构建子模块,用于在所述图元素操作指令为关系边添加指令的情况下,为所述关系边添加指令所指示的目标查询节点之间添加关系边,以得到所述查询图;所述关系边添加指令是所述终端根据所述用户对所述目标查询节点的选择操作生成的,所述关系边用于表征所述目标查询节点之间的关系属性;所述目标查询节点包括所述用户从已创建的图元素中选择的至少两个查询节点。
134.可选地,所述可选组件还包括可选数据属性组件;所述查询图构建模块1101,还包括:第一条件节点创建子模块,用于在所述图元素操作指令为条件元素添加指令的情况下,基于所述条件元素添加指令所指示的第一查询节点和目标数据属性组件,创建第一条件节点;所述第一查询节点和所述目标数据属性组件是所述用户从之前创建的查询节点和所述可选数据属性组件中选择的;所述第一条件节点用于表征对所述目标数据属性组件对应的目标属性信息的查询条件;第一数据边添加子模块,用于为所述第一条件节点和所述第一查询节点之间添加第一数据边,以得到所述查询图;所述第一数据边用于表征所述目标属性信息。
135.可选地,所述可选组件还包括过滤组件,所述查询图构建模块1101,还包括:第二条件节点创建子模块,用于在所述图元素操作指令为过滤元素添加指令的情况下,基于所述过滤元素添加指令所指示的第二查询节点和所述过滤组件中设置的过滤条件,创建第二条件节点;所述第二查询节点是所述用户从之前创建的查询节点中选择的;所述第二条件节点用于表征所述用户在所述过滤组件中设置的过滤条件;第二数据边添加子模块,用于为所述第二条件节点和所述第二查询节点之间添加第二数据边,以得到所述查询图;所述第二数据边用于表征过滤属性信息。
136.可选地,所述查询图构建模块1101,还包括:节点删除子模块,用于在所述图元素操作指令为节点删除指令的情况下,若所述节点删除指令所指示的节点未通过数据边与其他条件节点相连接,则删除所述节点删除指令所指示的节点,以及删除与所述所指示的节点相连接的数据边,以得到所述查询图;所述节点包括所述查询节点以及条件节点;所述条件节点包括所述第一条件节点和所述第二条件节点;所述数据边包括所述第一数据边和所述第二数据边;
关系边删除子模块,用于在所述图元素操作指令为关系边删除指令的情况下,删除所述关系边删除指令所指示的关系边,以得到所述查询图。
137.可选地,所述装置110,还包括:目标节点获取模块,用于在所述查询语句生成模块按照预设生成规则,基于所述查询图中包含的图元素对应的目标查询信息,生成目标查询语句之前,在所述查询图中包括至少两个节点时,获取目标节点;所述目标节点是与所述查询图中的其他节点均不连通的节点;所述节点包括查询节点以及条件节点;所述条件节点包括第一条件节点和第二条件节点;提示信息生成模块,用于基于所述目标节点生成提示信息并输出至所述终端,所述提示信息用于提醒所述用户为所述目标节点调整节点间连通关系,以使所述目标节点与至少一个其他节点连通;所述查询语句生成模块1102,具体用于在所述查询图中不存在所述目标节点的情况下,执行所述按照预设生成规则,基于所述查询图中包含的图元素对应的目标查询信息,生成目标查询语句的操作。
138.可选地,所述查询语句生成模块1102,包括:第一语句生成子模块,用于按照所述预设生成规则,基于所述查询图中包含的查询节点的标识生成第一语句,并基于所述第一语句生成所述目标查询语句的标识域;第二语句生成子模块,用于按照所述预设生成规则,基于所述查询节点的标识、所述查询节点对应的目标类信息生成第二语句,并基于所述第二语句生成所述目标查询语句的查询域;拼接模块,用于将所述标识域以及所述查询域按照所述预设生成规则进行拼接,得到所述目标查询语句。
139.可选地,所述装置110还包括:标识属性语句生成模块,用于在所述查询图中包含查询边的情况下,按照所述预设生成规则,基于所述查询图中的查询边生成标识语句以及属性语句,并将所述标识语句添加至所述标识域,将所述属性语句添加至所述查询域;所述查询边包括关系边和数据边;第三语句生成模块,用于在所述查询图中包含条件节点的情况下,按照所述预设生成规则,基于所述条件节点对应的查询条件或过滤条件生成第三语句,并将所述第三语句添加至过滤域;所述条件节点包括第一条件节点和第二条件节点;所述拼接模块,具体用于:将所述标识域、所述查询域以及所述过滤域按照所述预设生成规则进行拼接,得到所述目标查询语句。
140.可选地,所述标识属性语句生成模块,包括:第一属性语句生成子模块,用于基于所述关系边对应的目标查询节点的标识,以及所述目标查询节点之间的关系属性,生成第一属性语句;标识语句生成子模块,用于在所述数据边中包括输出标识的情况下,基于所述数据边对应的目标属性信息或过滤属性信息的标识生成所述标识语句;所述数据边包括第一数据边和第二数据边;第二属性语句生成子模块,用于基于所述数据边对应的目标属性信息或过滤属性信息生成第二属性语句。
141.可选地,所述装置110还包括:组件信息获取模块,用于基于预设的查询本体文件,获取可选组件信息;所述可选组件信息包括类信息、数据属性信息以及关系属性信息;划分模块,用于将所述数据属性信息以及关系属性信息划分至所属的类信息;排序索引生成模块,用于对于任一所述类信息,基于属于所述类信息的数据属性信息以及关系属性信息,生成排序索引文件;可选组件显示模块,用于将所述可选组件信息以及所述排序索引文件发送至所述终端,以使所述终端基于所述可选组件信息以及所述排序索引文件显示所述可选组件。
142.综上所述,本公开实施例提供的语义查询可视化构建与生成的实现装置,通过响应于接收到终端发送的图元素操作指令,基于所述图元素操作指令所指示的目标图元素和/或可选组件构建查询图;所述图元素操作指令是所述终端根据用户对所述终端的界面中所显示的已创建的图元素和/或可选组件的指定操作生成的;所述可选组件用于向所述用户提供可选查询信息的语义信息;按照预设生成规则,基于所述查询图中包含的图元素对应的目标查询信息,生成目标查询语句;向目标对象输出所述目标查询语句;所述目标对象用于基于所述目标查询语句执行所述查询图所指示的查询操作,所述目标对象包括所述终端。这样,用户可以通过终端界面上的可选组件以及所显示的已创建的图元素向查询图中添加对应的图元素,从而构成查询图,进一步按照预设生成规则,根据查询图中包含的图元素来生成查询语句,由于可选组件可以向用户提供可选查询信息的语义信息,从而用户无需了解数据的底层信息以及查询语句的生成规则,只需专注于查询语义即可生成符合预设生成规则的查询语句,无需人工编写查询语句,实现基于可视化的查询语句构建与生成,降低了查询难度。
143.根据本公开的一个实施例,提供了一种电子设备,包括:处理器、用于存储处理器可执行指令的存储器,其中,处理器被配置为执行时实现如上述任一个实施例中的语义查询可视化构建与生成的实现方法中的步骤。
144.根据本公开的一个实施例,还提供了一种存储介质,当存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如上述任一个实施例中的语义查询可视化构建与生成的实现方法中的步骤。
145.根据本公开的一个实施例,还提供了一种计算机程序产品,该计算机程序产品包括可读性程序指令,可读性程序指令由电子设备的处理器执行时,使得电子设备能够执行如上述任一个实施例中的语义查询可视化构建与生成的实现方法。
146.本公开所涉及的用户信息(包括但不限于用户的设备信息、用户个人信息等)、相关数据等均为经用户授权或经各方授权后的信息。
147.本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
148.应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1