CN111859929B - 一种数据可视化方法、装置及其相关设备 - Google Patents
一种数据可视化方法、装置及其相关设备 Download PDFInfo
- Publication number
- CN111859929B CN111859929B CN202010779472.7A CN202010779472A CN111859929B CN 111859929 B CN111859929 B CN 111859929B CN 202010779472 A CN202010779472 A CN 202010779472A CN 111859929 B CN111859929 B CN 111859929B
- Authority
- CN
- China
- Prior art keywords
- expression
- model
- antlr
- text
- tree
- 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
- 238000000034 method Methods 0.000 title claims abstract description 52
- 238000013079 data visualisation Methods 0.000 title claims abstract description 41
- 230000014509 gene expression Effects 0.000 claims abstract description 142
- 230000000007 visual effect Effects 0.000 claims abstract description 89
- 238000012800 visualization Methods 0.000 claims abstract description 45
- 230000006870 function Effects 0.000 claims description 21
- 238000006243 chemical reaction Methods 0.000 claims description 17
- 238000005457 optimization Methods 0.000 claims description 17
- 238000004590 computer program Methods 0.000 claims description 9
- 238000010276 construction Methods 0.000 claims description 9
- 230000000694 effects Effects 0.000 abstract description 5
- 230000009286 beneficial effect Effects 0.000 abstract description 3
- 238000013138 pruning Methods 0.000 description 12
- 238000004458 analytical method Methods 0.000 description 7
- 238000005215 recombination Methods 0.000 description 6
- 230000006798 recombination Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/253—Grammatical analysis; Style critique
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/284—Lexical analysis, e.g. tokenisation or collocates
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本申请公开了一种数据可视化方法,包括利用ANTLR工具将待处理逻辑表达式转换为ANTLR语法树;采用访问者模式对所述ANTLR语法树进行转换,获得初始可视化模型;对所述初始可视化模型中的优先级信息进行优化,获得优化可视化模型;对所述优化可视化模型中的同类项信息进行合并,获得树状模型;输出所述树状模型至可视化设备进行展示;该数据可视化方法可以更为有效的简化逻辑表达式的可视化结构,提高可视化效果。本申请还公开了一种数据可视化装置、设备以及计算机可读存储介质,均具有上述有益效果。
Description
技术领域
本申请涉及信息技术领域,特别涉及一种数据可视化方法,还涉及一种数据可视化装置、设备和计算机可读存储介质。
背景技术
在逻辑表达式的可视化展示过程中,最为重要的一点是对逻辑表达式做到正确的语义解析,即最终的可视化展示可以正确且直观的表达用户所输入的逻辑表达式。
目前,通常是利用一些特定的解析工具进行语义解析,如ANTLR(ANother Toolfor Language Recognition),ANTLR是一个强大的解析器的生成器,被广泛用来构建语言、工具和框架,其可以实现读取、处理、执行或翻译结构化文本或二进制文件。但是,基于ANTLR解析得到的语义树包含由语法文件定义的语法、词法、逻辑运算符、条件操作符等多个抽象概念,对于用户理解和界面展示理解较为困难,尤其是当自定义语法结构较为复杂时,如多个逻辑运算符存在并互相嵌套时,基于ANTLR所解析后的语义存在着不必要的多层嵌套,最终构建的树状结构将会非常庞大并且难以理解和展示,可见,现有的基于ANTLR的逻辑表达式的可视化展示方法存在着结构复杂、可视化效果差、表达不明确等缺点。
因此,如何更为有效的简化逻辑表达式的可视化结构,提高可视化效果是本领域技术人员亟待解决的问题。
发明内容
本申请的目的是提供一种数据可视化方法,该数据可视化方法可以更为有效的简化逻辑表达式的可视化结构,提高可视化效果;本申请的另一目的是提供一种数据可视化装置、设备和计算机可读存储介质,也具有上述有益效果。
为解决上述技术问题,第一方面,本申请提供了一种数据可视化方法,包括:
利用ANTLR工具将待处理逻辑表达式转换为ANTLR语法树;
采用访问者模式对所述ANTLR语法树进行转换,获得初始可视化模型;
对所述初始可视化模型中的优先级信息进行优化,获得优化可视化模型;
对所述优化可视化模型中的同类项信息进行合并,获得树状模型;
输出所述树状模型至可视化设备进行展示。
优选的,所述利用ANTLR工具将待处理逻辑表达式转换为ANTLR语法树,包括:
利用词法分析器将所述待处理逻辑表达式转换为词法文本;
利用语法分析器将所述词法文本转换为所述ANTLR语法树;
其中,所述词法分析器和所述语法分析器基于所述ANTLR工具生成。
优选的,所述采用访问者模式对所述ANTLR语法树进行转换,获得初始可视化模型,包括:
按照词法规则对所述ANTLR语法树进行分类合并,获得表达式文本;
根据表达式类型将所述表达式文本转换为结构文本;其中,所述结构文本包括组结构和条件结构;
利用所述组结构和条件结构组合成所述初始可视化模型。
优选的,所述根据表达式类型将所述表达式文本转换为结构文本,包括:
若所述表达式文本为函数表达式,则将所述函数表达式转换为所述条件结构;
若所述表达式文本为二元表达式或三元表达式,则根据操作符类型将所述二元表达式或所述三元表达式转换为所述组结构。
优选的,所述对所述初始可视化模型中的优先级信息进行优化,获得优化可视化模型,包括:
对所述初始可视化模型中的各所述组结构进行遍历,获得存在所述优先级信息的目标组结构;
将所述目标组结构中的所有子节点转换为所述目标组结构的父节点的子节点。
优选的,所述对所述优化可视化模型中的同类项信息进行合并,获得树状模型,包括:
对所述优化可视化模型中各节点的子节点进行遍历,获得只存在一个组结构的目标子节点;
判断所述目标子节点中组结构的逻辑操作符与目标节点的逻辑操作符是否一致;其中,所述目标节点为所述目标子节点的父节点;
若是,则将所述目标子节点中组结构的所有子节点转换为所述目标节点的子节点。
第二方面,本申请还提供了一种数据可视化装置,包括:
语法树构建模块,用于利用ANTLR工具将待处理逻辑表达式转换为ANTLR语法树;
初始模型构建模块,用于采用访问者模式对所述ANTLR语法树进行转换,获得初始可视化模型;
优先级优化模块,用于对所述初始可视化模型中的优先级信息进行优化,获得优化可视化模型;
同类项合并模块,用于对所述优化可视化模型中的同类项信息进行合并,获得树状模型;
可视化模块,用于输出所述树状模型至可视化设备进行展示。
优选的,所述语法树构建模块具体用于利用词法分析器将所述待处理逻辑表达式转换为词法文本;利用语法分析器将所述词法文本转换为所述ANTLR语法树;其中,所述词法分析器和所述语法分析器基于所述ANTLR工具生成。
第三方面,本申请还公开了一种数据可视化设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序以实现如上所述的任一种数据可视化方法的步骤。
第四方面,本申请还公开了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时用以实现如上所述的任一种数据可视化方法的步骤。
本申请所提供的一种数据可视化方法,包括利用ANTLR工具将待处理逻辑表达式转换为ANTLR语法树;采用访问者模式对所述ANTLR语法树进行转换,获得初始可视化模型;对所述初始可视化模型中的优先级信息进行优化,获得优化可视化模型;对所述优化可视化模型中的同类项信息进行合并,获得树状模型;输出所述树状模型至可视化设备进行展示。
可见,本申请所提供的数据可视化方法,利用基于ANTLR的语法转换,将逻辑表达式转换为ANTLR树状结构,然后通过模型转换、优先级优化、同类项等实现可视化模型的剪枝重组,最后形成符合用户理解习惯、扁平化的树状表达式并进行可视化展示,该种可视化结构更为简单直观,且具备更好的可视化效果。
本申请所提供的一种数据可视化装置、设备和计算机可读存储介质,均具有上述有益效果,在此不再赘述。
附图说明
为了更清楚地说明现有技术和本申请实施例中的技术方案,下面将对现有技术和本申请实施例描述中需要使用的附图作简要的介绍。当然,下面有关本申请实施例的附图描述的仅仅是本申请中的一部分实施例,对于本领域普通技术人员来说,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图,所获得的其他附图也属于本申请的保护范围。
图1为本申请所提供的一种数据可视化方法的流程示意图;
图2为本申请所提供的一种优化优先级信息的方法的流程示意图;
图3为本申请所提供的一种合并同类项信息的方法的流程示意图;
图4为本申请所提供的一种数据可视化装置的结构示意图;
图5为本申请所提供的一种数据可视化设备的结构示意图。
具体实施方式
本申请的核心是提供一种数据可视化方法,该数据可视化方法可以更为有效的简化逻辑表达式的可视化结构,提高可视化效果;本申请的另一核心是提供一种数据可视化装置、设备和计算机可读存储介质,也具有上述有益效果。
为了对本申请实施例中的技术方案进行更加清楚、完整地描述,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行介绍。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
请参考图1,图1为本申请所提供的一种数据可视化方法的流程示意图,包括:
S101:利用ANTLR工具将待处理逻辑表达式转换为ANTLR语法树;
本步骤旨在实现ANTLR语法树的构建,基于ANTLR工具实现,通过ANTLR工具可以将用户自定义语法生成一个可以构建和遍历解析树的解析器。其中,上述待处理逻辑表达式即为需要进行可视化展示的逻辑表达式。具体的,当获取到用户输入的待处理逻辑表达式时,即可调用ANTLR工具对其进行转换,获得对应的ANTLR语法树。
作为一种优选实施例,上述利用ANTLR工具将待处理逻辑表达式转换为ANTLR语法树,可以包括:利用词法分析器将待处理逻辑表达式转换为词法文本;利用语法分析器将词法文本转换为ANTLR语法树;其中,词法分析器和语法分析器基于ANTLR工具生成。
本优选实施例提供了较为具体的ANTLR语法树的获取方法,即利用词法分析器和语法分析器实现,词法分析器和语法分析器均是基于ANTLR工具生成,具体是先利用词法分析器将待处理逻辑表达式转换为词法文本,再利用语法分析器将词法文本转换为ANTLR语法树。其中,在基于ANTLR工具构建词法分析器和语法分析器时,可结合用户需求对词法分析器中的词法表示形式和语法分析器的语法表示形式进行定义,进而生成最终的自定义语法的语法文件,该语法文件即包括上述词法分析器和语法分析器。
S102:采用访问者模式对ANTLR语法树进行转换,获得初始可视化模型;
本步骤旨在实现ANTLR语法树至初始可视化模型的转换,基于访问者模式实现。具体的,可利用ANTLR工具生成访问器接口,进而通过显式调用访问器接口的visit方法来遍历ANTLR语法树,将其转换为初始可视化模型。
作为一种优选实施例,上述采用访问者模式对ANTLR语法树进行转换,获得初始可视化模型,可以包括:按照词法规则对ANTLR语法树进行分类合并,获得表达式文本;根据表达式类型将表达式文本转换为结构文本;其中,结构文本包括组结构和条件结构;利用组结构和条件结构组合成初始可视化模型。
本优选实施例提供了较为具体的初始可视化模型的获取方法,首先按照词法规则对ANTLR语法树进行分类合并,获得表达式文本,该表达式文本的类型并不唯一,包括函数表达式、二元表达式、三元表达式等,其中,词法规则为常规设定规则,可直接调取;进一步,按照不同表达式类型对应的转换规则将表达式文本转换为结构文本,该结构文本是指组结构和条件结构;最后,对组结构和条件结构进行组合,形成由组结构和条件结构组合而成的初始可视化模型。
作为一种优选实施例,上述根据表达式类型将表达式文本转换为结构文本,可以包括:若表达式文本为函数表达式,则将函数表达式转换为条件结构;若表达式文本为二元表达式或三元表达式,则根据操作符类型将二元表达式或三元表达式转换为组结构。
本优选实施例提供了较为具体的表达式文本至结构文本的转换方法,不同类型的表达式文本对应于不同的转换方法。具体的,函数表达式可直接进行条件结构转换,二元表达式和三元表达式则需要根据其中的操作符类型进行组机构的转换。其中,操作符类型可包括条件操作符和逻辑操作符,对于条件操作符而言,可直接将单个条件操作符对应的语句转换为条件结构;对于逻辑操作符而言,可将逻辑操作符设置为组结构中的操作符,另外遍历逻辑操作符左右两边的条件结构或组结构一起添加到该组结构的子节点中。
S103:对初始可视化模型中的优先级信息进行优化,获得优化可视化模型;
本步骤旨在实现可视化模型的初始优化,即优化优先级信息。在逻辑表达式中,一般通过括号()符号来表达不同逻辑操作符之间的优先级,但是针对可视化模型而言,不需要在可视化模型中展示括号()操作符,因此,可对初始可视化模型中的括号()结构进行优化。具体的,可先对初始可视化模型中的优先级信息进行提取,再对其进行优化处理,如转移、合并等,相当于对初始可视化模型进行剪枝合并,从而获得上述优化可视化模型。通过优先级优化,可以更加直观的展示逻辑表达式结构,避免可视化模型展示时存在结构深度过深的问题。
作为一种优选实施例,上述对初始可视化模型中的优先级信息进行优化,获得优化可视化模型,可以包括:对初始可视化模型中的各组结构进行遍历,获得存在优先级信息的目标组结构;将目标组结构中的所有子节点转换为目标组结构的父节点的子节点。
本优选实施例提供了较为具体的优化可视化模型的获取方法,遍历初始可视化模型,当遍历到组结构并且该组结构的逻辑操作符为括号()符号时,则将该组结构内的所有子节点合并至该组结构的父节点的子节点上;然后再查找合并后的子节点作为新的起点,再次进行优先级优化,直到所有节点都遍历完毕为止,去除括号()操作符后得到的即为优先级优化后的可视化模型。
S104:对优化可视化模型中的同类项信息进行合并,获得树状模型;
本步骤旨在实现可视化模型的二次优化,即合并同类项信息。由于ANTLR通过访问者模式得到的语法解析树存在着多层复杂结构,因此,可以通过合并同类项将可视化模型进行简化。具体的,可先确定优化可视化模型中的同类项信息,再对其进行合理的合并处理,相当于对优化可视化模型进行剪枝重组,从而获得最终的具有最优可视化效果的可视化模型,即上述树状模型。通过剪枝重组可以将可视化模型中含有相同操作符的子表达式结构合并到同一组结构下,使得最终展示的可视化模型结构更为合理紧凑。
作为一种优选实施例,上述对优化可视化模型中的同类项信息进行合并,获得树状模型,可以包括:对优化可视化模型中各节点的子节点进行遍历,获得只存在一个组结构的目标子节点;判断目标子节点中组结构的逻辑操作符与目标节点的逻辑操作符是否一致;其中,目标节点为目标子节点的父节点;若是,则将目标子节点中组结构的所有子节点转换为目标节点的子节点。
本优选实施例提供了较为具体的树状模型的获取方法,遍历优化可视化模型,当遍历到组结构并且该组结构的逻辑操作符与其父节点的逻辑操作符一致时,将该组结构内的所有子节点合并至该组结构的父节点的子节点上;然后再查找合并后的子节点作为新的起点,再次进行剪枝合并操作,直到所有节点都遍历完毕为止,最终获得完成合并同类项的树状模型。
S105:输出树状模型至可视化设备进行展示。
本步骤旨在实现逻辑表达式的可视化展示,将其最终生成的树状模型发送至相应的可视化设备进行展示即可。
可见,本申请所提供的数据可视化方法,利用基于ANTLR的语法转换,将逻辑表达式转换为ANTLR树状结构,然后通过模型转换、优先级优化、同类项等实现可视化模型的剪枝重组,最后形成符合用户理解习惯、扁平化的树状表达式并进行可视化展示,该种可视化结构更为简单直观,且具备更好的可视化效果。
在上述各个实施例的基础上,本申请实施例提供了一种更为具体的数据可视化方法,其具体实现流程如下:
一、ANTLR语法树生成
(1)首先根据用户需求与ANTLR语法要求定义语法分析器中的语法表示格式,主要语法可以包括函数表达式、二元表达式和三元表达式。针对函数表达式,在语法文件可以通过namespace:id(paramList)来表示,其中namespace表示函数命名空间,id表示函数名称,paramList表示函数参数列表。二元表达式包括NOT、Exist、()等语句,在语法文件中可以表示为not expression,primary exist,(expression)等,其中expression表示单一独立的语句,primary表示为单一的词语。三元表达式包括AND、OR、NOT逻辑操作符以及==、in等条件操作符,在语法文件中,针对逻辑操作符可以表示为expression AND expression的形式,其中expression表示单一的语句;针对条件操作符,可以表示为primary==primary,其中primary表示为单一的词语。
(2)再根据用户需求与ANTLR词法要求定义词法分析器中的词法表示格式,如字符串、数字等表示形式,在语法文件中,单一的词语primary可以表示为primary:STRING|NUMBER|BOOL。由此,通过定义词法与语法格式来构成自定义语法的语法文件。
(3)最后通过ANTLR工具对语法文件进行解析生成对应的ANTLR语法树。首先,通过ANTLR工具编译得到ANTLR运行接口,包括词法分析接口与语法分析接口;进一步,在ANTLR进行语法解析时,先通过词法分析器将输入文本(待处理逻辑表达式)转换为词法符号,即将与语法定义文件的词法符号进行归类,形成词法文本;再通过语法分析器来处理该词法文本实现语法文件对应的语法分析树的构建,由此,通过ANTLR工具获得对应的ANTLR语法树。
二、通过访问者模式转换ANTLR语法树,获得初始可视化模型
通过ANTLR工具生成访问器接口,并通过该接口实现可视化模型中条件结构与组结构的生成。更为具体的,通过显式调用访问器接口的visit方法来遍历ANTLR语法分析树,将ANTLR语法树根据词法规则进行分类合并,生成对应的函数表达式、二元表达式和三元表达式这三种形式。其中,针对函数表达式,可将函数表达式直接转换为条件结构,其中条件结构中的操作符(op)设置为函数命名空间和函数名称,条件结构中的字段(key)设置为函数使用的字段,即paramList第一项,paramList其余项设置为条件结构中的值(value)。针对二元表达式和三元表达式,先区分逻辑操作符与条件操作符,对于条件操作符exist,==,!=而言,可将对应的条件操作符赋值于条件结构中的操作符(op),条件结构中的字段(key)设置为该节点操作符的左边项,条件结构中的值(value)设置为该节点表达式的操作符右边项;对于逻辑操作符AND、OR、NOT、()而言,将逻辑操作符设置为组结构中的操作符(condition),并遍历逻辑操作符左右两边的条件结构或组结构一起添加到该组结构的子节点中,最终形成组结构与条件结构组合而成的可视化模型(初始可视化模型)。
三、提取逻辑表达式中的优先级信息进行剪枝合并,获得优化可视化模型
逻辑表达式中可以通过()符号来表达不同逻辑操作符之间的优先级,但是针对可视化模型,不同逻辑操作符之间的优先级可以通过不同组结构之间的组合直接表达,不需要在可视化模型中展示()操作符,因此,可以对可视化模型中的()结构进行优化,通过优先级优化,可以更加直观的展示逻辑表达式结构,避免可视化模型展示时存在结构深度过深的问题。进一步,请参考图2,图2为本申请所提供的一种优化优先级信息的方法的流程示意图,其优化逻辑如下:遍历可视化模型,当遍历到组结构并且逻辑操作符为()时,将该组结构内的所有子节点合并至该组结构的父节点的子节点上,然后再查找合并后的子节点作为新的起点,再次进行优先级优化,直到所有节点都遍历完毕为止,遍历去除()操作符后得到的即为优先级优化后的可视化模型(优化可视化模型)。
四、确定逻辑表达式中的同类项信息进行剪枝重组,获得可视化树状结构
通过以上步骤得到的可视化模型是将ANTLR解析后的语法树转化为组结构与条件结构组合而成的可视化模型,然而,针对逻辑表达式如[A AND B AND C],ANTLR通过访问者模式得到的语法解析树存在着两层结构,默认以[B AND C]优先级为高,因此最终得到的可视化模型存在着两层组结构,但是针对可视化模型,可以进行合理的简化将A B C置于同一组结构下。具体而言,针对原先的{AND:{A,{AND:{B,C}}}}组结构,由于两层组结构的逻辑操作符一致,因此可进行合理精简获得{AND:{A,B,C}},通过精简合并可以更好的优化展示结构,降低可视化模型的复杂度,能更符合用户习惯展示正确合理的逻辑表达式。进一步,请参考图3,图3为本申请所提供的一种合并同类项信息的方法的流程示意图,其优化逻辑如下:遍历可视化模型,当遍历到组结构并且逻辑操作符与父节点的逻辑操作符一致时,将该组结构内的所有子节点合并至该组结构的父节点的子节点上,然后再查找合并后的子节点作为新的起点,再次进行优化剪枝操作,直到所有节点都遍历完毕为止,优化剪枝后的可视化模型即为最终待展示的树状形式的可视化结构(可视化树状结构),并进行可视化展示即可。
可见,本申请实施例所提供的数据可视化方法,利用基于ANTLR的语法转换,将逻辑表达式转换为ANTLR树状结构,然后通过模型转换、优先级优化、同类项等实现可视化模型的剪枝重组,最后形成符合用户理解习惯、扁平化的树状表达式并进行可视化展示,该种可视化结构更为简单直观,且具备更好的可视化效果。
为解决上述技术问题,本申请还提供了一种数据可视化装置,请参考图4,图4为本申请所提供的一种数据可视化装置的结构示意图,包括:
语法树构建模块1,用于利用ANTLR工具将待处理逻辑表达式转换为ANTLR语法树;
初始模型构建模块2,用于采用访问者模式对ANTLR语法树进行转换,获得初始可视化模型;
优先级优化模块3,用于对初始可视化模型中的优先级信息进行优化,获得优化可视化模型;
同类项合并模块4,用于对优化可视化模型中的同类项信息进行合并,获得树状模型;
可视化模块5,用于输出树状模型至可视化设备进行展示。
可见,本申请实施例所提供的数据可视化装置,利用基于ANTLR的语法转换,将逻辑表达式转换为ANTLR树状结构,然后通过模型转换、优先级优化、同类项等实现可视化模型的剪枝重组,最后形成符合用户理解习惯、扁平化的树状表达式并进行可视化展示,该种可视化结构更为简单直观,且具备更好的可视化效果。
作为一种优选实施例,上述语法树构建模块1可具体用于利用词法分析器将待处理逻辑表达式转换为词法文本;利用语法分析器将词法文本转换为ANTLR语法树;其中,词法分析器和语法分析器基于ANTLR工具生成。
作为一种优选实施例,上述初始模型构建模块2可包括:
分类合并单元,用于按照词法规则对ANTLR语法树进行分类合并,获得表达式文本;
文本转换单元,用于根据表达式类型将表达式文本转换为结构文本;其中,结构文本包括组结构和条件结构;
模型组合单元,用于利用组结构和条件结构组合成初始可视化模型。
作为一种优选实施例,上述文本转换单元可具体用于若表达式文本为函数表达式,则将函数表达式转换为条件结构;若表达式文本为二元表达式或三元表达式,则根据操作符类型将二元表达式或三元表达式转换为组结构。
作为一种优选实施例,上述优先级优化模块3可具体用于对初始可视化模型中的各组结构进行遍历,获得存在优先级信息的目标组结构;将目标组结构中的所有子节点转换为目标组结构的父节点的子节点。
作为一种优选实施例,上述同类项合并模块4可具体用于对优化可视化模型中各节点的子节点进行遍历,获得只存在一个组结构的目标子节点;判断目标子节点中组结构的逻辑操作符与目标节点的逻辑操作符是否一致;其中,目标节点为目标子节点的父节点;若是,则将目标子节点中组结构的所有子节点转换为目标节点的子节点。
对于本申请提供的装置的介绍请参照上述方法实施例,本申请在此不做赘述。
为解决上述技术问题,本申请还提供了一种数据可视化设备,请参考图5,图5为本申请所提供的一种数据可视化设备的结构示意图,该数据可视化设备可包括:
存储器10,用于存储计算机程序;
处理器20,用于执行计算机程序时可实现如上述任意一种数据可视化方法的步骤。
对于本申请提供的设备的介绍请参照上述方法实施例,本申请在此不做赘述。
为解决上述问题,本申请还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时可实现如上述任意一种数据可视化方法的步骤。
该计算机可读存储介质可以包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
对于本申请提供的计算机可读存储介质的介绍请参照上述方法实施例,本申请在此不做赘述。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上对本申请所提供的技术方案进行了详细介绍。本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请的保护范围内。
Claims (8)
1.一种数据可视化方法,其特征在于,包括:
利用ANTLR工具将待处理逻辑表达式转换为ANTLR语法树;
采用访问者模式对所述ANTLR语法树进行转换,获得初始可视化模型;
对所述初始可视化模型中的优先级信息进行优化,获得优化可视化模型;
对所述优化可视化模型中的同类项信息进行合并,获得树状模型;
输出所述树状模型至可视化设备进行展示;
其中,所述采用访问者模式对所述ANTLR语法树进行转换,获得初始可视化模型,包括:按照词法规则对所述ANTLR语法树进行分类合并,获得表达式文本;根据表达式类型将所述表达式文本转换为结构文本;其中,所述结构文本包括组结构和条件结构;利用所述组结构和条件结构组合成所述初始可视化模型;
其中,所述根据表达式类型将所述表达式文本转换为结构文本,包括:若所述表达式文本为函数表达式,则将所述函数表达式转换为所述条件结构;若所述表达式文本为二元表达式或三元表达式,则根据操作符类型将所述二元表达式或所述三元表达式转换为所述组结构。
2.根据权利要求1所述的数据可视化方法,其特征在于,所述利用ANTLR工具将待处理逻辑表达式转换为ANTLR语法树,包括:
利用词法分析器将所述待处理逻辑表达式转换为词法文本;
利用语法分析器将所述词法文本转换为所述ANTLR语法树;
其中,所述词法分析器和所述语法分析器基于所述ANTLR工具生成。
3.根据权利要求1所述的数据可视化方法,其特征在于,所述对所述初始可视化模型中的优先级信息进行优化,获得优化可视化模型,包括:
对所述初始可视化模型中的各所述组结构进行遍历,获得存在所述优先级信息的目标组结构;
将所述目标组结构中的所有子节点转换为所述目标组结构的父节点的子节点。
4.根据权利要求3所述的数据可视化方法,其特征在于,所述对所述优化可视化模型中的同类项信息进行合并,获得树状模型,包括:
对所述优化可视化模型中各节点的子节点进行遍历,获得只存在一个组结构的目标子节点;
判断所述目标子节点中组结构的逻辑操作符与目标节点的逻辑操作符是否一致;其中,所述目标节点为所述目标子节点的父节点;
若是,则将所述目标子节点中组结构的所有子节点转换为所述目标节点的子节点。
5.一种数据可视化装置,其特征在于,包括:
语法树构建模块,用于利用ANTLR工具将待处理逻辑表达式转换为ANTLR语法树;
初始模型构建模块,用于采用访问者模式对所述ANTLR语法树进行转换,获得初始可视化模型;
优先级优化模块,用于对所述初始可视化模型中的优先级信息进行优化,获得优化可视化模型;
同类项合并模块,用于对所述优化可视化模型中的同类项信息进行合并,获得树状模型;
可视化模块,用于输出所述树状模型至可视化设备进行展示;
其中,所述初始模型构建模块包括:
分类合并单元,用于按照词法规则对所述ANTLR语法树进行分类合并,获得表达式文本;
文本转换单元,用于根据表达式类型将所述表达式文本转换为结构文本;其中,所述结构文本包括组结构和条件结构;
模型组合单元,用于利用所述组结构和条件结构组合成所述初始可视化模型;
其中,所述文本转换单元具体用于若所述表达式文本为函数表达式,则将所述函数表达式转换为所述条件结构;若所述表达式文本为二元表达式或三元表达式,则根据操作符类型将所述二元表达式或所述三元表达式转换为所述组结构。
6.根据权利要求5所述的数据可视化装置,其特征在于,所述语法树构建模块具体用于利用词法分析器将所述待处理逻辑表达式转换为词法文本;利用语法分析器将所述词法文本转换为所述ANTLR语法树;其中,所述词法分析器和所述语法分析器基于所述ANTLR工具生成。
7.一种数据可视化设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序以实现如权利要求1至4任一项所述的数据可视化方法的步骤。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时用以实现如权利要求1至4任一项所述的数据可视化方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010779472.7A CN111859929B (zh) | 2020-08-05 | 2020-08-05 | 一种数据可视化方法、装置及其相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010779472.7A CN111859929B (zh) | 2020-08-05 | 2020-08-05 | 一种数据可视化方法、装置及其相关设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111859929A CN111859929A (zh) | 2020-10-30 |
CN111859929B true CN111859929B (zh) | 2024-04-09 |
Family
ID=72971520
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010779472.7A Active CN111859929B (zh) | 2020-08-05 | 2020-08-05 | 一种数据可视化方法、装置及其相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111859929B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113255264B (zh) * | 2021-06-07 | 2021-10-01 | 上海国微思尔芯技术股份有限公司 | 增量分割处理方法、装置、计算机设备和存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109726185A (zh) * | 2018-12-28 | 2019-05-07 | 杭州安恒信息技术股份有限公司 | 一种基于语法树的日志解析方法、系统和计算机可读介质 |
CN110555032A (zh) * | 2019-09-09 | 2019-12-10 | 北京搜狐新媒体信息技术有限公司 | 一种基于元数据的数据血缘关系分析方法及系统 |
CN110874367A (zh) * | 2018-09-03 | 2020-03-10 | 阿里巴巴集团控股有限公司 | 结构化查询语言语句的可视化方法和装置 |
CN111104796A (zh) * | 2019-12-18 | 2020-05-05 | 北京百度网讯科技有限公司 | 用于翻译的方法和装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7975233B2 (en) * | 2006-07-24 | 2011-07-05 | National Instruments Corporation | Automatic conversion of a textual language into a graphical program representation |
US10409846B2 (en) * | 2015-02-13 | 2019-09-10 | Thomson Reuters Global Resources Unlimited Company | Systems and methods for natural language question answering and analysis |
-
2020
- 2020-08-05 CN CN202010779472.7A patent/CN111859929B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110874367A (zh) * | 2018-09-03 | 2020-03-10 | 阿里巴巴集团控股有限公司 | 结构化查询语言语句的可视化方法和装置 |
CN109726185A (zh) * | 2018-12-28 | 2019-05-07 | 杭州安恒信息技术股份有限公司 | 一种基于语法树的日志解析方法、系统和计算机可读介质 |
CN110555032A (zh) * | 2019-09-09 | 2019-12-10 | 北京搜狐新媒体信息技术有限公司 | 一种基于元数据的数据血缘关系分析方法及系统 |
CN111104796A (zh) * | 2019-12-18 | 2020-05-05 | 北京百度网讯科技有限公司 | 用于翻译的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111859929A (zh) | 2020-10-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110502227B (zh) | 代码补全的方法及装置、存储介质、电子设备 | |
CN109491658A (zh) | 计算机可执行代码数据的生成方法及装置 | |
CN111639501A (zh) | 基于amsl的电网业务微服务组合方法 | |
JP2023018851A (ja) | プログラムコード自動生成システム | |
CN113742368A (zh) | 一种数据血缘关系分析方法 | |
CN111859929B (zh) | 一种数据可视化方法、装置及其相关设备 | |
CN104485106A (zh) | 语音识别方法、语音识别系统和语音识别设备 | |
JP2016164707A (ja) | 自動翻訳装置及び翻訳用モデル学習装置 | |
CN117196043B (zh) | 基于本体的知识推理方法、系统及电子设备 | |
WO2024139925A1 (zh) | 一种基于自然语言构建可视化图表的方法及系统 | |
CN112948419A (zh) | 查询语句处理方法及装置 | |
CN116610558A (zh) | 代码检测方法、装置、电子设备及计算机可读存储介质 | |
CN110716953A (zh) | Sql语句自动生成方法、装置、设备及可读存储介质 | |
CN116400910A (zh) | 一种基于api替换的代码性能优化方法 | |
CN115374764A (zh) | 一种基于用户故事的需求模型自动生成方法及系统 | |
CN115687399A (zh) | 一种sql语句的语法解析方法及装置 | |
CN112114812B (zh) | 一种应用于工业机器人编程语言的语法检查方法 | |
CN111783465B (zh) | 一种命名实体归一化方法、系统及相关装置 | |
KR101472029B1 (ko) | 색인요소를 이용한 자연어 분석 방법 및 시스템 | |
CN114282529A (zh) | 语法查询方法、系统及计算机存储介质 | |
JP2009080681A (ja) | プログラム構造解析方法及び装置 | |
JP6148449B2 (ja) | 仕様検証装置およびその方法、プログラム | |
CN113626465B (zh) | 数据库及在postgresql数据库中实现会话级变量的方法 | |
CN116579322A (zh) | 一种针对二元表达式的解析方法 | |
CN117707536A (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 |