×

System and method for querying data sources

  • US 10,346,397 B2
  • Filed: 03/24/2016
  • Issued: 07/09/2019
  • Est. Priority Date: 03/26/2015
  • Status: Active Grant
First Claim
Patent Images

1. A method for querying data from data sources, the method comprising:

  • (a) receiving a first query request;

    (b) generating a first query statement corresponding to the first query request, the first query statement identifying;

    (i) at least one first data source comprising a second query statement;

    (ii)at least one first target field;

    (iii) first query parameters; and

    (iv) a plurality of nested operations having associated attributes;

    (c) executing the first query statement by;

    (v) accessing the at least one first data source using the first query parameters;

    (vi) retrieving data from a given field in the at least one first data source in accordance with at least one of the nested operations; and

    (vii) transforming retrieved data into at least one target result in accordance with remaining ones of the nested operations; and

    (d) generating a first query result by populating the at least one target field with the at least one target result, wherein executing the first query statement comprises executing the second query statement and generating a second query result, and wherein retrieving data from the given field comprises retrieving data from the given field of the second query result;

    (e) receiving a third query request identifying at least one third data source, defining at least one third target field, and comprising third query parameters;

    (f) determining if the at least one third data source, the at least one third target field, and the third query parameters match the at least one first data source, the at least one first target field, and the first query parameters, respectively;

    (g) in case of no match, generating a third query statement in accordance with the third query request and executing the third query statement to return a third query result;

    (h) in case of a match, retrieving the first query result and returning the first query result as the third query result;

    (e) receiving a third query request identifying at least one third data source, defining at least one third target field, and comprising third query parameters;

    (f) determining if the at least one third data source, the at least one third target field, and the third query parameters match the at least one first data source, the at least one first target field, and the first query parameters, respectively;

    (g) in case of no match, generating a third query statement in accordance with the third query request and executing the third query statement to return a third query result;

    (h) in case of a match, retrieving the first query result and returning the first query result as the third query result;

    (viii) in case of no change, retrieving the first query result and returning the first query result as the third query result is performed; and

    (ix) in case of a change, deleting the first query result, retrieving the first query statement, and executing the first query statement to return the third query result, deleting all query results associated with query statements in a chain of query statements that refer to the changed data source, regenerating query results for the query statements in the chain of query statements that refer to the changed data source, and retrieving stored query results for query statements that are not part of the chain of query statements that refer to the changed data source.

View all claims
  • 1 Assignment
Timeline View
Assignment View
    ×
    ×