QUERY SUBMISSION PIPELINE USING LINQ
First Claim
1. In a computing environment, a system comprising, a query processing pipeline, including a LINQ provider that processes LINQ instructions, in which for an instruction that corresponds to a flat query, the LINQ provider provides a query to a database engine for querying a database, and for other instructions, provides data corresponding to the other instructions to a reasoning engine for processing.
2 Assignments
0 Petitions
Accused Products
Abstract
Described is a technology comprising a query processing pipeline in which a SPARQL query is processed into an intermediate LINQ query, which is then processed by a LINQ provider. The LINQ provider decides which instructions correspond to flat database queries, and routes those instructions a database engine (e.g., SQL server) for querying a database. Other instructions are provided to a reasoning engine for processing, e.g., by performing a graph traversal and/or database queries. The pipeline may include a parser that parses the query into an abstract syntax tree, and an optimizer that processes the abstract syntax tree into a LINQ query, including by reordering LINQ instructions and/or associating a flag with each of the instructions that indicates whether to query the database or provide the instruction to a reasoning engine.
132 Citations
20 Claims
- 1. In a computing environment, a system comprising, a query processing pipeline, including a LINQ provider that processes LINQ instructions, in which for an instruction that corresponds to a flat query, the LINQ provider provides a query to a database engine for querying a database, and for other instructions, provides data corresponding to the other instructions to a reasoning engine for processing.
- 10. In a computing environment, a method comprising, transforming a query in a first query language into a LINQ query, and processing the LINQ query into at least one query in another database language and LINQ instructions provided to a reasoning engine, the reasoning engine determining from the LINQ instructions whether results are found via graph traversal or via a query provided in the other database language.
- 16. In a computing environment, a system comprising, a query processing pipeline, including a parser that parses a query of a first query language into an abstract syntax tree, an optimizer that processes the abstract syntax tree into a LINQ query, a LINQ provider that processes the LINQ query into at least one flat query for providing to a database engine in a second query language, or into LINQ instructions for providing to a reasoning engine, or both into at least one flat query for providing to a database engine in a second query language and into LINQ instructions for providing to a reasoning engine.
Specification