US 12,242,474 B1
Language conversion system
Alexander D. James, Sammamish, WA (US); Ankur Dalsukhbhai Bambharoliya, Bellevue, WA (US); Venkatasubramanian Jayaraman, Issaquah, WA (US); Andrew John Peters, Sammamish, WA (US); and Salih Ammar Wajih Zainulabdeen, Seattle, WA (US)
Assigned to Splunk Inc., San Francisco, CA (US)
Filed by Splunk Inc., San Francisco, CA (US)
Filed on Jan. 31, 2023, as Appl. No. 18/162,667.
Int. Cl. G06F 16/24 (2019.01); G06F 16/242 (2019.01); G06F 16/2452 (2019.01)
CPC G06F 16/24526 (2019.01) [G06F 16/2433 (2019.01)] 20 Claims
OG exemplary drawing
 
1. A method implemented by execution of computer-executable code at a query conversion system comprising a processor, the method comprising:
receiving, by the query conversion system, a first query string in a first query language;
generating, by the query conversion system, a first node tree logically representing the first query string, wherein individual nodes of the first node tree correspond to individual commands, in the first query language, specified within the first query string;
generating, by the query conversion system, a second node tree corresponding to a second query language, wherein generating the second node tree comprises determining a conversion of the individual nodes of the first node tree, wherein conversion of each individual node in the first node tree results in a corresponding node in the second node tree that represents:
(i) when functionality equivalent to the command of the individual node in the first node tree is implemented via a native command or operation of the second query language, the native command or operation of the second query language as a converted node; and
(ii) when functionality equivalent to the command of the individual node in the first node tree is not natively implemented via a command in the second query language or by a function defined within a compatibility library, the command of the individual node in the first node tree as a non-converted node;
generating, by the query conversion system, a second query string in the second query language utilizing the second node tree, wherein the second query string comprises at least one native command or operation of the second query language corresponding to a converted node and at least one command in the first query language corresponding to a non-converted node;
executing the second query string to generate search results; and
transmitting the search results over a network to a client computing device for display.