Prosecution Insights
Last updated: April 19, 2026
Application No. 18/316,912

QUERY TRANSLATION FOR DATABASES STORING SEMANTIC DATA

Final Rejection §101§103
Filed
May 12, 2023
Examiner
SHARPLESS, SAMUEL
Art Unit
2165
Tech Center
2100 — Computer Architecture & Software
Assignee
Microsoft Technology Licensing, LLC
OA Round
3 (Final)
80%
Grant Probability
Favorable
4-5
OA Rounds
3y 3m
To Grant
99%
With Interview

Examiner Intelligence

Grants 80% — above average
80%
Career Allow Rate
99 granted / 123 resolved
+25.5% vs TC avg
Strong +31% interview lift
Without
With
+30.8%
Interview Lift
resolved cases with interview
Typical timeline
3y 3m
Avg Prosecution
29 currently pending
Career history
152
Total Applications
across all art units

Statute-Specific Performance

§101
13.9%
-26.1% vs TC avg
§103
52.2%
+12.2% vs TC avg
§102
20.9%
-19.1% vs TC avg
§112
7.1%
-32.9% vs TC avg
Black line = Tech Center average estimate • Based on career data from 123 resolved cases

Office Action

§101 §103
DETAILED ACTION Notice of Pre-AIA or AIA Status The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA . Response to Amendment The response filed 09/26/2025 has been entered. Applicant has not amended any claims. Claim 6 remains cancelled. Claims 1-5 and 7-20 are currently pending. Response to Arguments Applicant's arguments filed 09/26/2025 have been fully considered but they are not persuasive. Regarding the arguments concerning the 101 rejection, Examiner respectfully disagrees. Applicant specifically argues that the limitation “A device for querying a database that stores semantic data in a compressed linked tabular representation, comprising: a memory storing instructions; and a processor coupled to the memory and configured to execute the instructions to:…execute the database query on the database without decompressing the compressed linked tabular representation.” The limitation recites insignificant extra-solution activity as mere data recording/outputting for the execution of the database query. Adding a final step of executing data to a process that only recites mentally converting and translating data does not provide integration into a practical application as seen in the current rejection. The recitation of not decompressing the aforementioned representation does not amount to a practical application or significantly more. The claim does not clarify the content of the compressed representation and is recited generically. For the above reasons the examiner maintains the current rejection. Regarding the arguments concerning the 101 rejection, Examiner respectfully disagrees. Applicant specifically argues that the limitation, “translate, based on the ordered list of relational operators, the language-agnostic representation into a database query of a query language syntax that is supported by the database;” is not taught. Applicant does not specify or define the language-agnostic representation so the term is given its broadest reasonable interpretation. The teaching of O’Connell discloses the current claim limitation as seen in the current rejection. Examiner recommends further clarifying amendments of the language-agnostic representation. Claim Rejections - 35 USC § 101 35 U.S.C. 101 reads as follows: Whoever invents or discovers any new and useful process, machine, manufacture, or composition of matter, or any new and useful improvement thereof, may obtain a patent therefor, subject to the conditions and requirements of this title. Claims 1, 9, and 17 are rejected under 35 U.S.C. 101 because the claimed invention is directed to an abstract idea without significantly more. Regarding claim 1, At Step 1: The claim is directed to a "method" and thus directed to a statutory category. At Step 2A, Prong One: The claim recites the following limitations directed to an abstract idea: " convert an initial language query for semantic data in the database to a language-agnostic representation of the initial language query;" as drafted recites a mental process as an evaluation or judgement, with the aid of pen and paper. One can mentally covert the initial language query into a different representation as seen in [0015] and Figure 3. " generate, based on a nested structure of the language-agnostic representation, an ordered list of relational operators;" as drafted recites a mental process as an evaluation or judgement, with the aid of pen and paper. One can mentally generate the ordered list of relational operator based on the reperesentation into a different representation as seen in [0015] and Figure 3. " and translate, based on the ordered list of relational operators, the language-agnostic representation into a database query of a query language syntax that is supported by the database." as drafted recites a mental process as an evaluation or judgement, with the aid of pen and paper. One can mentally translate the ordered list of relational operators, the language-agnostic representation into a database query of a query language syntax that is supported by the database as seen in [0015] and Figure 3. At Step 2A, Prong Two: The claim recites the following additional elements: “A device for querying a database that stores semantic data in a compressed linked tabular representation, comprising: a memory storing instructions; and a processor coupled to the memory and configured to execute the instructions to: " which is a high-level recitation of a generic computer components and represents mere instructions to apply on a computer as in MPEP 2106.05(f), which does not provide integration into a practical application. “and execute the database query on the database without decompressing the compressed linked tabular representation " which recites insignificant extra-solution activity as mere data recording/outputting for the execution of the database query. Adding a final step of executing data to a process that only recites mentally converting and translating data does not provide integration into a practical application. Viewing the additional limitations together and the claim as a whole, nothing provides integration into a practical application. At Step 2B: The conclusions for the mere implementation using a computer and field of use are carried over and does not provide significantly more With respect to the "executing" identified as insignificant extra-solution activity above when re-evaluated this element is well-understood, routine, and conventional as evidenced by the court cases in MPEP 2106.05(d)(II), "iv. Storing and retrieving information in memory, Versata Dev. Group, Inc. v. SAP Am., Inc., 793 F.3d 1306, 1334, 115 USPQ2d 1681, 1701 (Fed. Cir. 2015); OIP Techs., 788 F.3d at 1363, 115 USPQ2d at 1092-93." Looking at the claim as a whole does not change this conclusion and the claim is ineligible. Claim 2 depends on claim 1 and therefore recites at least the same abstract idea as identified in the rejection of claim 1. Claim 2 further recites “generating an innermost query portion…” and “generating a next level query portion …”. These limitations recite further mental processes, as one can mentally generate query portions. Claim 3 depends on claim 2 and further recites “translate the language-agnostic representation into the database query …” This limitation recite further mental processes, as one can mentally generate translate a query into a database language as claimed. Claim 4 depends on claim 3 and further recites “translate the language-agnostic representation into the database query including … applying an optimization” This limitation recite further mental processes, as one can mentally generate translate a query into a database language as claimed. Claim 5 depends on claim 4 and further recites that the optimization of claim 4 is specifically “one of a join optimization or a group by optimization.” This limitation recite further mental processes, as one can mentally generate translate a query into a database language and mentally apply these broadly claimed query optimizations. Claim 7 depends on claim 1, wherein the processor is configured to execute the instructions to generate the language-agnostic representation including using protocol buffers for serializing a query plan represented by the initial language query which recites insignificant extra-solution activity as mere data recording/outputting for the execution of the database query. Adding a final step of executing data to a process that only recites mentally converting and translating data does not provide integration into a practical application. Claim 8 depends on claim 1, wherein the initial language query is one of a structured query language (SQL) query, an imperative programming language query, or a natural language query which recites insignificant extra-solution activity as mere data recording/outputting for the execution of the database query. Adding a final step of executing data to a process that only recites mentally converting and translating data does not provide integration into a practical application. Claims 9-20 are rejected using similar reasoning seen in the rejection of claims 1-8 due to reciting similar limitations but directed towards a method and a computer readable storage medium. Claim Rejections - 35 USC § 103 The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action: A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made. Claim(s) 1-5 and 7-20 is/are rejected under 35 U.S.C. 103 as being unpatentable over Raman et al (US 2019/0340291) in view of O’Connell et al (Performing Joins without Decompression in a Compressed Database System) Regarding claim 1, Raman teaches A device for querying a database that stores semantic data in a compressed linked tabular representation, comprising: a memory storing instructions; and a processor coupled to the memory and configured to execute the instructions to (Figure 4, 400): convert an initial language query for semantic data in the database to a language-agnostic representation of the initial language query ([0079] As a first variation of this third aspect, the base query format 432 of the translation 430 may comprise a sequence of query intermediate language instructions that logically execute the query over the data set. For example, the query intermediate language instructions may be selected of a query intermediate language format to which the native query formats 430 may be readily translated, and which provides operations that are logically equivalent to the operations provided in the native query formats 430.); generate, based on a nested structure of the language-agnostic representation, an ordered list of relational operators ([0079] - As a first such example, the query intermediate language may comprise JavaScript, which includes (e.g., as part of the JavaScript Query Language (JQL)) query operators that correspond to the logical operations that are supported by a wide variety of native query formats 430, such as projection; filtering; aggregation; sorting; flattening; arithmetic, logical, and data conversion expressions; hierarchical navigation across items and data sets; and specialized query operations, such as spatial queries. JavaScript may also provide an advantageous selection as a query intermediate language due to its prevalence in applications that utilize databases, such that a significant subset of queries 426 may provide a minimal translation 430 (e.g., simply validating the JavaScript syntax). For example, the base representations 302 of the items 416 of the data set 418 may be organized according to a JavaScript Object Notation (JSON) data model, and the query intermediate language instructions may be specified according to a query intermediate language that features variable types that are consistent with JavaScript variable types, thereby providing an efficient and expedient translation 430 for a significant subset of queries 426.); Raman does not explicitly teach translate, based on the ordered list of relational operators, the language-agnostic representation into a database query of a query language syntax that is supported by the database, and execute the database query on the database without decompressing the compressed linked tabular representation. O’Connell teaches translate, based on the ordered list of relational operators, the language-agnostic representation into a database query of a query language syntax that is supported by the database (page 1 - The triple store is not a new concept, see for example [Shar78, Shar88], but continues to draw interest [TriStarp] with a new commercial database [Sen01] now on the market. In the present implementation, a triple store is the central repository for information concerning relationships in both the data and the meta-data, and this is coupled with a lexical store which holds each separate data value just once. The number of triples in the triple store is related to the number of instances of each field in the database, and the structure means that there is indexed access to every field in the database), and execute the database query on the database without decompressing the compressed linked tabular representation (page 1 A new compression algorithm has been developed for the database. Using this, records are compressed when initially inserted into the triple store, but from then on, processing can be carried out efficiently without needing to decompress the records again. We describe a modelling exercise carried out to explore the extent of the performance improvement, and suggest that although there are theoretical limitations, there is often significant gain to be made, even for OLTP type queries.). Accordingly, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified the teachings of Raman to include translate, based on the ordered list of relational operators, the language-agnostic representation into a database query of a query language syntax that is supported by the database, and execute the database query on the database without decompressing the compressed linked tabular representation as taught by O’Connell. It would be advantageous since it allows for efficient use of system resources as taught by the cited section. Regarding claim 2, Raman in view of O’Connell teaches The device of claim 1, Raman further teaches wherein the processor is configured to execute the instructions to translate the language-agnostic representation into the database query including: generating an innermost query portion of the database query based on a first operator in the ordered list of relational operators; and generating a next level query portion of the database query based on a next operator in the ordered list of relational operators ([0080] As a second variation of this third aspect, the translation 430 of a query 426 from a variety of native language formats 430 may be achieved in numerous ways. As one such example, a sever 402 may provide a set of application programming interfaces (APIs) for respective native query formats 430, such as an SQL API that produces translations 430 of SQL queries 426 over a relational table 106 into the base query format 432; an XPath API that produces translations 430 of XPath document-oriented queries 426 over a document 704 into the base query format 432; and a GraphQL API that produces translations 430 of GraphQL queries 426 over a graph 116 into the base query format 432. When a query 426 is received, an embodiment of the presented techniques may examine the query 426 to identify the native query format 430 of the query 426, and may select and invoke an API that translates the identified native query format 430 of the query 426 into the base query format 432. Additionally, an embodiment of the presented techniques may include an application programming interface extender that receives a new application programming interface for a new query language to be provided by the database 104 (e.g., a LINQ API that produces translations 430 of LINQ queries 426 over a data source into the base query format 432, and adds the new application programming interface to the application programming interface set. A server 102 may therefore provide extensibility in the set of supported native query formats 430 in which queries 426 may be provided.). Regarding claim 3, Raman in view of O’Connell teaches The device of claim 2, Raman further teaches wherein the processor is configured to execute the instructions to translate the language-agnostic representation into the database query including separately generating a portion of the database query for each relational operator in the ordered list of relational operators based on a hierarchical position of the relational operator in the nested structure of the language-agnostic representation ([0079] As a first variation of this third aspect, the base query format 432 of the translation 430 may comprise a sequence of query intermediate language instructions that logically execute the query over the data set. For example, the query intermediate language instructions may be selected of a query intermediate language format to which the native query formats 430 may be readily translated, and which provides operations that are logically equivalent to the operations provided in the native query formats 430. As a first such example, the query intermediate language may comprise JavaScript, which includes (e.g., as part of the JavaScript Query Language (JQL)) query operators that correspond to the logical operations that are supported by a wide variety of native query formats 430, such as projection; filtering; aggregation; sorting; flattening; arithmetic, logical, and data conversion expressions; hierarchical navigation across items and data sets; and specialized query operations, such as spatial queries. JavaScript may also provide an advantageous selection as a query intermediate language due to its prevalence in applications that utilize databases, such that a significant subset of queries 426 may provide a minimal translation 430 (e.g., simply validating the JavaScript syntax). For example, the base representations 302 of the items 416 of the data set 418 may be organized according to a JavaScript Object Notation (JSON) data model, and the query intermediate language instructions may be specified according to a query intermediate language that features variable types that are consistent with JavaScript variable types, thereby providing an efficient and expedient translation 430 for a significant subset of queries 426). Regarding claim 4, Raman in view of O’Connell teaches The device of claim 3, Raman further teaches wherein the processor is configured to execute the instructions to translate the language-agnostic representation into the database query including, for at least one portion of the database query, applying an optimization for the portion of the database query before generating a next portion of the database query [0081] As a third variation of this third aspect, the base query format 432 of the translation 430, such as a query intermediate language (query IL) format, may be applied to the base representations 302 of the items 416 in a variety of ways. As a first such example, a JavaScript engine may interpret the query intermediate language format and apply the JavaScript operations to the base representations 302. However, this embodiment may exhibit limited performance and/or scalability, e.g., due to the interpreted nature of JavaScript. Instead, some embodiments may further comprise a virtual machine that executes logical operations over the data set according to a virtual instruction set architecture. The query intermediate language instructions (e.g., query IL instructions) may be further compiled into opcodes according to the logical operations of the virtual machine, and the translation 430 may be applied to the data set by executing the opcodes through the virtual machine. Compilation of the translation 430 and execution through the virtual machine may provide a performance advantage, e.g., particularly where for queries 426 that are redundantly executed over a large number of iterations (e.g., an opcode-based iteration that incrementally evaluates each of 100,000 items 416) and/or for queries 426 that are repeatedly invoked and executed, such that the compiled translation 430 of the query 426 may be cached and reused if the parameters of the query 426 have not significantly changed. As a further performance gain, some embodiments may apply a rule-based optimizer to optimize the opcodes of the query intermediate language instructions for execution by the virtual machine (e.g., removing redundant opcodes and/or unrolling simple loops to expedite iteration).).. Regarding claim 5, Raman in view of O’Connell teaches The device of claim 4, Raman further teaches wherein the optimization is one of a join optimization or a groupby optimization [0081] As a third variation of this third aspect, the base query format 432 of the translation 430, such as a query intermediate language (query IL) format, may be applied to the base representations 302 of the items 416 in a variety of ways. As a first such example, a JavaScript engine may interpret the query intermediate language format and apply the JavaScript operations to the base representations 302. However, this embodiment may exhibit limited performance and/or scalability, e.g., due to the interpreted nature of JavaScript. Instead, some embodiments may further comprise a virtual machine that executes logical operations over the data set according to a virtual instruction set architecture. The query intermediate language instructions (e.g., query IL instructions) may be further compiled into opcodes according to the logical operations of the virtual machine, and the translation 430 may be applied to the data set by executing the opcodes through the virtual machine. Compilation of the translation 430 and execution through the virtual machine may provide a performance advantage, e.g., particularly where for queries 426 that are redundantly executed over a large number of iterations (e.g., an opcode-based iteration that incrementally evaluates each of 100,000 items 416) and/or for queries 426 that are repeatedly invoked and executed, such that the compiled translation 430 of the query 426 may be cached and reused if the parameters of the query 426 have not significantly changed. As a further performance gain, some embodiments may apply a rule-based optimizer to optimize the opcodes of the query intermediate language instructions for execution by the virtual machine (e.g., removing redundant opcodes and/or unrolling simple loops to expedite iteration).). Regarding claim 7, Raman in view of O’Connell teaches The device of claim 1, Raman further teaches wherein the processor is configured to execute the instructions to generate the language-agnostic representation including using protocol buffers for serializing a query plan represented by the initial language query ([0082] FIG. 9 is an illustration of an example scenario 900 featuring an embodiment that applies queries 426 originally specified in a variety of native query formats 428 to a data set 418 comprising base representations 302 of items 426 in accordance with the techniques presented herein. In this example scenario 900, the queries 426 are originally specified in various query languages, such as JQL, SQL, GraphQL, NoSQL, LINQ, and XPath. The respective queries 426 may be subjected to a native query format determination 902 (e.g., identifying the native query format 428 of the query 426 according to its syntax, keywords, query source such as application type, and/or the native item format 420 of the items 416 over which the query 426 is specified). The embodiment further comprises an application programming interface set 904 of application programming interfaces 906 (“APIs”) for the respective native query formats 428, and that may be invoked to translate queries in the respective native query formats 428 into a translation 430 in a query intermediate language, such as a JQL query.). Regarding claim 8, Raman in view of O’Connell teaches The device of claim 1, Raman further teaches wherein the initial language query is one of a structured query language (SQL) query, an imperative programming language query, or a natural language query ([0082] FIG. 9 is an illustration of an example scenario 900 featuring an embodiment that applies queries 426 originally specified in a variety of native query formats 428 to a data set 418 comprising base representations 302 of items 426 in accordance with the techniques presented herein. In this example scenario 900, the queries 426 are originally specified in various query languages, such as JQL, SQL, GraphQL, NoSQL, LINQ, and XPath. The respective queries 426 may be subjected to a native query format determination 902 (e.g., identifying the native query format 428 of the query 426 according to its syntax, keywords, query source such as application type, and/or the native item format 420 of the items 416 over which the query 426 is specified). The embodiment further comprises an application programming interface set 904 of application programming interfaces 906 (“APIs”) for the respective native query formats 428, and that may be invoked to translate queries in the respective native query formats 428 into a translation 430 in a query intermediate language, such as a JQL query). Claims 9-20 are rejected using similar reasoning seen in the rejection of claims 1-8 due to reciting similar limitations but directed towards a method and a computer readable storage medium. Conclusion THIS ACTION IS MADE FINAL. Applicant is reminded of the extension of time policy as set forth in 37 CFR 1.136(a). A shortened statutory period for reply to this final action is set to expire THREE MONTHS from the mailing date of this action. In the event a first reply is filed within TWO MONTHS of the mailing date of this final action and the advisory action is not mailed until after the end of the THREE-MONTH shortened statutory period, then the shortened statutory period will expire on the date the advisory action is mailed, and any nonprovisional extension fee (37 CFR 1.17(a)) pursuant to 37 CFR 1.136(a) will be calculated from the mailing date of the advisory action. In no event, however, will the statutory period for reply expire later than SIX MONTHS from the mailing date of this final action. Any inquiry concerning this communication or earlier communications from the examiner should be directed to SAMUEL SHARPLESS whose telephone number is (571)272-1521. The examiner can normally be reached M-F 7:30 AM- 3:30 PM (ET). Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice. If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, ALEKSANDR KERZHNER can be reached at 571-270-1760. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300. Information regarding the status of published or unpublished applications may be obtained from Patent Center. Unpublished application information in Patent Center is available to registered users. To file and manage patent submissions in Patent Center, visit: https://patentcenter.uspto.gov. Visit https://www.uspto.gov/patents/apply/patent-center for more information about Patent Center and https://www.uspto.gov/patents/docx for information about filing in DOCX format. For additional questions, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000. /S.C.S./Examiner, Art Unit 2165 /ALEKSANDR KERZHNER/Supervisory Patent Examiner, Art Unit 2165
Read full office action

Prosecution Timeline

May 12, 2023
Application Filed
Oct 19, 2024
Non-Final Rejection — §101, §103
Jan 24, 2025
Response Filed
Jun 20, 2025
Non-Final Rejection — §101, §103
Sep 19, 2025
Applicant Interview (Telephonic)
Sep 19, 2025
Examiner Interview Summary
Sep 26, 2025
Response Filed
Dec 27, 2025
Final Rejection — §101, §103
Apr 14, 2026
Response after Non-Final Action
Apr 14, 2026
Notice of Allowance

Precedent Cases

Applications granted by this same examiner with similar technology

Patent 12585614
PREDICTING OUTAGE CONDITIONS AND HANDLING ARCHIVING
2y 5m to grant Granted Mar 24, 2026
Patent 12561321
MATERIALIZED VIEW GENERATION AND PROVISION BASED ON QUERIES HAVING A SEMANTICALLY EQUIVALENT OR CONTAINMENT RELATIONSHIP
2y 5m to grant Granted Feb 24, 2026
Patent 12554717
DYNAMICALLY SUBSTITUTING A MODIFIED QUERY BASED ON PERFORMANCE ANALYSIS
2y 5m to grant Granted Feb 17, 2026
Patent 12547609
SYSTEMS AND METHODS FOR STREAMING DATA PIPELINES
2y 5m to grant Granted Feb 10, 2026
Patent 12536140
ADAPTIVE AGGREGATION AND COMPRESSION OF METADATA
2y 5m to grant Granted Jan 27, 2026
Study what changed to get past this examiner. Based on 5 most recent grants.

AI Strategy Recommendation

Get an AI-powered prosecution strategy using examiner precedents, rejection analysis, and claim mapping.
Powered by AI — typically takes 5-10 seconds

Prosecution Projections

4-5
Expected OA Rounds
80%
Grant Probability
99%
With Interview (+30.8%)
3y 3m
Median Time to Grant
High
PTA Risk
Based on 123 resolved cases by this examiner. Grant probability derived from career allow rate.

Sign in with your work email

Enter your email to receive a magic link. No password needed.

Personal email addresses (Gmail, Yahoo, etc.) are not accepted.

Free tier: 3 strategy analyses per month