EP3274875B1

System and method for querying data sources

Abstract

This record has no abstract on file.

EP3274875B1, drawing sheet 1
Sheet 1 of 21

Term

9.5 yearsleft in the term

Expires 24 March 2036.

  1. Priority
  2. Filed
  3. Granted
  4. Today
  5. Expires

15 claims: 15 independent, 0 dependent

  1. 1
    A computer-implemented method for querying data from data sources (101), the method comprising:(a) receiving a first query request;(b) generating a first query statement (100) corresponding to the first query request, the first query statement identifying: (i) at least one first data source;(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 generating the first query statement comprises using recursive data transformation steps to define the steps of (v) accessing, (vi) retrieving, and (vii) transforming, in order to obtain the at least one target result, wherein generating the first query result further comprises displaying returned values for each one of the recursive data transformation steps in order to find a bug in the querying data from data sources, wherein executing the first query statement further comprises filtering at least one of retrieved data and transformed data, and wherein filtering comprises automatically determining whether the filtering is applied to the retrieved data or the transformed data. Computerimplementiertes Verfahren zum Abfragen von Daten aus Datenquellen (101), wobei das Verfahren umfasst: (a) Empfangen einer ersten Abfrageanforderung;(b) Erzeugen einer ersten Abfrageanweisung (100) entsprechend der ersten Abfrageanforderung, wobei die erste Abfrageanweisung identifiziert: (i) wenigstens eine erste Datenquelle;(ii) wenigstens ein erstes Zielfeld;(iii) erste Abfrageparameter;und(iv) eine Mehrzahl verschachtelter Operationen mit zugeordneten Attributen;(c) Ausführen der ersten Abfrageanweisung durch: (v) Zugreifen auf die wenigstens eine erste Datenquelle unter Verwendung der ersten Abfrageparameter;(vi) Abrufen von Daten aus einem gegebenen Feld in der wenigstens einen ersten Datenquelle im Einklang mit wenigstens einer der verschachtelten Operationen;und(vii) Transformieren abgerufener Daten in wenigstens ein Zielergebnis im Einklang mit verbleibenden der verschachtelten Operationen;und(d) Erzeugen eines ersten Abfrageergebnisses durch Bestücken des wenigstens einen Zielfelds mit dem wenigstens einen Zielergebnis, wobei das Erzeugen der ersten Abfrageanweisung ein Verwenden rekursiver Datentransformationsschritte umfasst, um die Schritte (v) Zugreifen, (vi) Abrufen und (vii) Transformieren zu definieren, um das wenigstens eine Zielergebnis zu erhalten, wobei das Erzeugen des ersten Abfrageergebnisses ferner ein Anzeigen zurückgegebener Werte für jeden der rekursiven Datentransformationsschritte umfasst, um einen Bug in den Abfragedaten aus Datenquellen zu finden, wobei das Ausführen der ersten Abfrageanweisung ferner ein Filtern wenigstens eines aus abgerufenen Daten und transformierten Daten umfasst und wobei das Filtern ein automatisches Bestimmen umfasst, ob das Filtern an den abgerufenen Daten oder den transformierten Daten angewendet wird. Procédé mis en œuvre par ordinateur d'interrogation de données provenant de sources de données (101), le procédé comprenant : (a) la réception d'une première demande d'interrogation ;(b) la génération d'une première instruction d'interrogation (100) correspondant à la première demande d'interrogation, la première instruction d'interrogation identifiant : (i) au moins une première source de données ;(ii) au moins un premier champ cible ;(iii) des premiers paramètres d'interrogation ;et(iv) une pluralité d'opérations imbriquées ayant des attributs associés ;(c) l'exécution de la première instruction d'interrogation par : (v) l'accès à l'au moins une première source de données en utilisant les premiers paramètres d'interrogation ;(vi) la récupération de données depuis un champ donné dans l'au moins une première source de données conformément à au moins l'une des opérations imbriquées ;et(vii) la transformation de données récupérées en au moins un résultat cible conformément à des opérations restantes des opérations imbriquées ;et(d) la génération d'un premier résultat d'interrogation par le remplissage de l'au moins un champ cible avec l'au moins un résultat cible, dans lequel la génération de la première instruction d'interrogation comprend l'utilisation d'étapes de transformation de données récursives pour définir les étapes (v) d'accès, (vi) de récupération, et (vii) de transformation, afin d'obtenir l'au moins un résultat cible, dans lequel la génération du premier résultat d'interrogation comprend en outre l'affichage de valeurs retournées pour chacune des étapes de transformation de données récursives afin de trouver un bogue dans les données d'interrogation provenant de sources de données, dans lequel l'exécution de la première instruction d'interrogation comprend en outre le filtrage d'au moins les unes parmi des données récupérées et des données transformées, et dans lequel le filtrage comprend la détermination automatique si le filtrage est appliqué aux données récupérées ou aux données transformées.
  2. 2
    Procédé selon la revendication 1, dans lequel l'au moins une première source de données comprend une deuxième instruction d'interrogation, et dans lequel l'exécution de la première instruction d'interrogation comprend l'exécution de la deuxième instruction d'interrogation et la génération d'un deuxième résultat d'interrogation, et dans lequel la récupération de données depuis le champ donné comprend la récupération de données depuis le champ donné du deuxième résultat d'interrogation. The method of claim 1, wherein the at least one first data source comprises a second query statement, and 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. Verfahren nach Anspruch 1, wobei die wenigstens eine erste Datenquelle eine zweite Abfrageanweisung umfasst und wobei das Ausführen der ersten Abfrageanweisung ein Ausführen der zweiten Abfrageanweisung und ein Erzeugen eines zweiten Abfrageergebnisses umfasst und wobei das Abrufen von Daten aus dem gegebenen Feld ein Abrufen von Daten aus dem gegebenen Feld des zweiten Abfrageergebnisses umfasst.
  3. 3
    Procédé selon la revendication 1 ou 2, dans lequel l'au moins une première source de données comprend au moins une chaîne d'instructions d'interrogation qui désignent chacune une autre instruction d'interrogation jusqu'à ce qu'une dernière source de données soit désignée pour chaque chaîne d'instructions d'interrogation, et dans lequel l'exécution de la première instruction d'interrogation comprend l'exécution de la totalité des instructions d'interrogation dans la chaîne et la génération de résultats d'interrogation correspondants. The method of claim 1 or 2, wherein the at least one first data source comprises at least one chain of query statements that each refer to another query statement until a final data source is referred to for each chain of query statements, and wherein executing the first query statement comprises executing all of the query statements in the chain and generating corresponding query results. Verfahren nach Anspruch 1 oder 2, wobei die wenigstens eine erste Datenquelle wenigstens eine Kette von Abfrageanweisungen umfasst, welche jeweils eine andere Abfrageanweisung referenzieren, bis für jede Kette von Abfrageanweisungen eine finale Datenquelle referenziert wird, und wobei das Ausführen der ersten Abfrageanweisung ein Ausführen all der Abfrageanweisungen in der Kette und ein Erzeugen entsprechender Abfrageergebnisse umfasst.
  4. 4
    Procédé selon l'une quelconque des revendications 1 à 3, comprenant en outre la sauvegarde d'au moins l'une parmi des instructions d'interrogation et des résultats d'interrogation en vue d'une réutilisation. The method of any one of claims 1 to 3, further comprising saving at least one of query statements and query results for reuse. Verfahren nach einem der Ansprüche 1 bis 3, ferner umfassend ein Sichern wenigstens einer der Abfrageanweisungen und der Abfrageergebnisse für eine Wiederverwendung.
  5. 5
    Procédé selon l'une quelconque des revendications 1 à 4, comprenant en outre :(e) la réception d'une troisième demande d'interrogation identifiant au moins une troisième source de données, définissant au moins un troisième champ cible, et comprenant des troisièmes paramètres d'interrogation ;(f) la détermination si l'au moins une troisième source de données, l'au moins un troisième champ cible et les troisièmes paramètres d'interrogation concordent avec l'au moins une première source de données, l'au moins un premier champ cible, et les premiers paramètres d'interrogation, respectivement ;(g) en cas d'absence de concordance, la génération d'une troisième instruction d'interrogation conformément à la troisième demande d'interrogation et l'exécution de la troisième instruction d'interrogation pour retourner un troisième résultat d'interrogation ;(h) en cas de concordance, la récupération du premier résultat d'interrogation et le retour du premier résultat d'interrogation en tant que troisième résultat d'interrogation, de préférence dans lequel (h) comprend en outre la détermination si l'au moins une première source de données a changé, et (viii) en cas d'absence de changement, la récupération du premier résultat d'interrogation et le retour du premier résultat d'interrogation en tant que troisième résultat d'interrogation sont réalisés ;et(ix) en cas de changement, la suppression du premier résultat d'interrogation, la récupération de la première instruction d'interrogation, et l'exécution de la première instruction d'interrogation pour retourner le troisième résultat d'interrogation, et de préférence dans lequel (ix) comprend en outre la suppression de la totalité des résultats d'interrogation associés à des instructions d'interrogation dans une chaîne d'instructions d'interrogation qui désignent la source de données changée, la régénération de résultats d'interrogation pour des instructions d'interrogation dans la chaîne d'instructions d'interrogation qui désignent la source de données changée, et la récupération de résultats d'interrogation stockés pour des instructions d'interrogation qui ne font pas partie de la chaîne d'instructions d'interrogation qui désignent la source de données changée. The method of any one of claims 1 to 4, further comprising: (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, preferably wherein (h) further comprises determining if the at least one first data source has changed, and (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, and preferably wherein (ix) further comprises 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. Verfahren nach einem der Ansprüche 1 bis 4, ferner umfassend: (e) Empfangen einer dritten Abfrageanforderung, welche wenigstens eine dritte Datenquelle identifiziert, wenigstens ein drittes Zielfeld definiert und dritte Abfrageparameter umfasst;(f) Bestimmen, ob die wenigstens eine dritte Datenquelle, das wenigstens eine dritte Zielfeld und die dritten Abfrageparameter mit der wenigstens einen ersten Datenquelle, dem wenigstens einen ersten Zielfeld bzw. den ersten Abfrageparametern übereinstimmen;(g) im Fall keiner Übereinstimmung, Erzeugen einer dritten Abfrageanweisung im Einklang mit der dritten Abfrageanforderung und Ausführen der dritten Abfrageanweisung, um ein drittes Abfrageergebnis zurückzugeben;(h) im Fall einer Übereinstimmung, Abrufen des ersten Abfrageergebnisses und Zurückgeben des ersten Abfrageergebnisses als das dritte Abfrageergebnis, vorzugsweise wobei (h) ferner ein Bestimmen umfasst, ob sich die wenigstens eine erste Datenquelle geändert hat, und (viii) wobei im Fall keiner Änderung, ein Abrufen des ersten Abfrageergebnisses und ein Zurückgeben des ersten Abfrageergebnisses als das dritte Abfrageergebnis durchgeführt wird;und(ix) im Fall einer Änderung, Löschen des ersten Abfrageergebnisses, Abrufen der ersten Abfrageanweisung und Ausführen der ersten Abfrageanweisung, um das dritte Abfrageergebnis zurückzugeben, und vorzugsweise wobei (ix) ferner ein Löschen aller Abfrageergebnisse, welche Abfrageanweisungen in einer Kette von Abfrageanweisungen zugeordnet sind, welche die geänderte Datenquelle referenzieren, ein Erneuern von Abfrageergebnissen für die Abfrageanweisungen in der Kette von Abfrageanweisungen, welche die geänderte Datenquelle referenzieren, und ein Abrufen gespeicherter Abfrageergebnisse für Abfrageanweisungen umfasst, welche nicht Teil der Kette von Abfrageanweisungen sind, welche die geänderte Datenquelle referenzieren.
  6. 6
    Procédé selon la revendication 5, comprenant en outre, en cas d'absence de concordance et d'uniquement un changement d'au moins un paramètre entre les premiers paramètres d'interrogation et les troisièmes paramètres d'interrogation, la régénération de résultats d'interrogation pour des instructions d'interrogation dans la chaîne d'instructions d'interrogation qui utilisent ou résultent de l'utilisation de l'au moins un paramètre changé, et la récupération de résultats d'interrogation stockés pour des instructions d'interrogation qui ne font pas partie de la chaîne d'instructions d'interrogation qui utilisent ou résultent de l'utilisation de l'au moins un paramètre changé. The method of claim 5, further comprising, in case of no match and only a change in at least one parameter between the first query parameters and the third query parameters, regenerating query results for the query statements in the chain of query statements that use or result from the use of the changed at least one parameter, and retrieving stored query results for query statements that are not part of the chain of query statements that use or result from the use of the changed at least one parameter. Verfahren nach Anspruch 5, ferner umfassend, im Fall keiner Übereinstimmung und nur einer Änderung bei wenigstens einem Parameter zwischen den ersten Abfrageparametern und den dritten Abfrageparametern, ein Erneuern von Abfrageergebnissen für die Abfrageanweisungen in der Kette von Abfrageanweisungen, welche den geänderten wenigstens einen Parameter verwenden oder aus der Verwendung davon resultieren, und ein Abrufen gespeicherter Abfrageergebnisse für Abfrageanweisungen, welche nicht Teil der Kette von Abfrageanweisungen sind, welche den geänderten wenigstens einen Parameter verwenden oder aus der Verwendung davon resultieren.
  7. 7
    Procédé selon l'une quelconque des revendications 1 à 6, dans lequel la génération de la première instruction d'interrogation comprend la définition d'une étape initiale des étapes de transformation de données récursives en tant que fonction de jointure afin de joindre au moins deux sources de données ensemble, et la définition de l'au moins un premier champ cible en tant qu'au moins un champ cible de jointure, de préférence dans lequel la fonction de jointure utilise des champs provenant de l'une quelconque de l'au moins une première source de données, des paramètres ad hoc, et des valeurs codées en dur, de préférence dans lequel l'exécution de la première instruction d'interrogation comprend la détermination automatique d'un index de lignes provenant des au moins deux sources de données pour concorder avec l'au moins un champ cible de jointure, et de préférence dans lequel la transformation de données récupérées comprend l'utilisation de l'index de lignes pour n'importe quel champ cible sans jointure. The method of any one of claims 1 to 6, wherein generating the first query statement comprises defining an initial step of the recursive data transformation steps as a join function in order to join at least two data sources together, and defining the at least one first target field as at least one join target field, preferably wherein the join function uses fields from any one of the at least one first data source, ad hoc parameters, and hardcoded values, preferably wherein executing the first query statement comprises automatically determining an index of rows from the at least two data sources to match the at least one join target field, and preferably wherein transforming retrieved data comprises using the index of rows for any non-join target fields. Verfahren nach einem der Ansprüche 1 bis 6, wobei das Erzeugen der ersten Abfrageanweisung ein Definieren eines Anfangsschritts der rekursiven Datentransformationsschritte als eine Verbindungsfunktion, um wenigstens zwei Datenquellen miteinander zu verbinden, und ein Definieren des wenigstens einen ersten Zielfelds als wenigstens ein Verbindungszielfeld umfasst, vorzugsweise wobei die Verbindungsfunktion Felder von jeglichem der wenigstens einen ersten Datenquelle, Ad-hoc-Parametern und hartkodierter Werte verwendet, vorzugsweise wobei das Ausführen der ersten Abfrageanweisung ein automatisches Bestimmen eines Index von Zeilen aus den wenigstens zwei Datenquellen umfasst, um mit dem wenigstens einen Verbindungszielfeld übereinzustimmen, und vorzugsweise wobei das Transformieren abgerufener Daten ein Verwenden des Index von Zeilen für jegliche nicht-Verbindungszielfelder umfasst.
  8. 8
    Procédé selon l'une quelconque des revendications 1 à 7, dans lequel l'exécution de la première instruction d'interrogation comprend en outre l'application d'une première fonction de groupement à l'au moins un résultat cible, et le garnissage de l'au moins un champ cible comprend l'utilisation uniquement de champs de la première fonction de groupement, de préférence dans lequel l'exécution de la première instruction d'interrogation comprend en outre l'application d'une seconde fonction de groupement à l'au moins une première source de données, et la récupération de données comprend la récupération uniquement depuis des champs de la seconde fonction de groupement. The method of any one of claims 1 to 7, wherein executing the first query statement further comprises applying a first grouping function to the at least one target result, and populating the at least one target field comprises using only fields from the first grouping function, preferably wherein executing the first query statement further comprises applying a second grouping function to the at least one first data source, and retrieving data comprises retrieving only from fields from the second grouping function. Verfahren nach einem der Ansprüche 1 bis 7, wobei das Ausführen der ersten Abfrageanweisung ein Anwenden einer ersten Gruppierungsfunktion an dem wenigstens einen Zielergebnis umfasst und das Bestücken des wenigstens einen Zielfelds ein Verwenden nur von Feldern aus der ersten Gruppierungsfunktion umfasst, vorzugsweise wobei das Ausführen der ersten Abfrageanweisung ferner ein Anwenden einer zweiten Gruppierungsfunktion an der wenigstens einen ersten Datenquelle umfasst und das Abrufen von Daten ein Abrufen nur von Feldern aus der zweiten Gruppierungsfunktion umfasst.
  9. 9
    A system (1002) for querying data from data sources (101), the system comprising:a processing unit;anda memory, communicatively coupled to the processing unit and comprising computer-readable program instructions executable by the processing unit for: (a) receiving a first query request;(b) generating a first query statement (100) corresponding to the first query request, the first query statement identifying: (i) at least one first data source;(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 generating the first query statement comprises using recursive data transformation steps to define the steps of (v) accessing, (vi) retrieving, and (vii) transforming, in order to obtain the at least one target result, wherein generating the first query result further comprises displaying returned values for each one of the recursive data transformation steps in order to find a bug in the querying data from data sources, wherein executing the first query statement further comprises filtering at least one of retrieved data and transformed data, and wherein filtering comprises automatically determining whether the filtering is applied to the retrieved data or the transformed data. System (1002) zum Abfragen von Daten aus Datenquellen (101), wobei das System umfasst: eine Verarbeitungseinheit;undeinen Speicher, welcher kommunikativ mit der Verarbeitungseinheit gekoppelt ist und computerlesbare Programminstruktionen umfasst, welche durch die Verarbeitungseinheit ausführbar sind zum: (a) Empfangen einer ersten Abfrageanforderung;(b) Erzeugen einer ersten Abfrageanweisung (100) entsprechend der ersten Abfrageanforderung, wobei die erste Abfrageanweisung identifiziert: (i) wenigstens eine erste Datenquelle;(ii) wenigstens ein erstes Zielfeld;(iii) erste Abfrageparameter;und(iv) eine Mehrzahl verschachtelter Operationen mit zugeordneten Attributen;(c) Ausführen der ersten Abfrageanweisung durch: (v) Zugreifen auf die wenigstens eine erste Datenquelle unter Verwendung der ersten Abfrageparameter;(vi) Abrufen von Daten aus einem gegebenen Feld in der wenigstens einen ersten Datenquelle im Einklang mit wenigstens einer der verschachtelten Operationen;und(vii) Transformieren abgerufener Daten in wenigstens ein Zielergebnis im Einklang mit verbleibenden der verschachtelten Operationen;und(d) Erzeugen eines ersten Abfrageergebnisses durch Bestücken des wenigstens einen Zielfelds mit dem wenigstens einen Zielergebnis,wobei das Erzeugen der ersten Abfrageanweisung ein Verwenden rekursiver Datentransformationsschritte umfasst, um die Schritte (v) Zugreifen, (vi) Abrufen und (vii) Transformieren zu definieren, um das wenigstens eine Zielergebnis zu erhalten, wobei das Erzeugen des ersten Abfrageergebnisses ferner ein Anzeigen zurückgegebener Werte für jeden der rekursiven Datentransformationsschritte umfasst, um einen Bug in den Abfragedaten aus Datenquellen zu finden, wobei das Ausführen der ersten Abfrageanweisung ferner ein Filtern wenigstens eines aus abgerufenen Daten und transformierten Daten umfasst und wobei das Filtern ein automatisches Bestimmen umfasst, ob das Filtern an den abgerufenen Daten oder den transformierten Daten angewendet wird. Système (1002) d'interrogation de données provenant de sources de données (101), le système comprenant : une unité de traitement ;etune mémoire, couplée en communication à l'unité de traitement et comprenant des instructions de programme lisibles par ordinateur exécutables par l'unité de traitement pour : (a) la réception d'une première demande d'interrogation ;(b) la génération d'une première instruction d'interrogation (100) correspondant à la première demande d'interrogation, la première instruction d'interrogation identifiant : (i) au moins une première source de données ;(ii) au moins un premier champ cible ;(iii) des premiers paramètres d'interrogation ;et(iv) une pluralité d'opérations imbriquées ayant des attributs associés ;(c) l'exécution de la première instruction d'interrogation par : (v) l'accès à l'au moins une première source de données en utilisant les premiers paramètres d'interrogation ;(vi) la récupération de données depuis un champ donné dans l'au moins une première source de données conformément à au moins l'une des opérations imbriquées ;et(vii) la transformation de données récupérées en au moins un résultat cible conformément à des opérations restantes des opérations imbriquées ;et(d) la génération d'un premier résultat d'interrogation par le garnissage de l'au moins un champ cible avec l'au moins un résultat cible,dans lequel la génération de la première instruction d'interrogation comprend l'utilisation d'étapes de transformation de données récursives pour définir les étapes (v) d'accès, (vi) de récupération, et (vii) de transformation, afin d'obtenir l'au moins un résultat cible, dans lequel la génération du premier résultat d'interrogation comprend en outre l'affichage de valeurs retournées pour chacune des étapes de transformation de données récursives afin de trouver un bogue dans les données d'interrogation provenant de sources de données, dans lequel l'exécution de la première instruction d'interrogation comprend en outrele filtrage d'au moins les unes parmi des données récupérées et de données transformées, et dans lequel le filtrage comprend la détermination automatique si le filtrage est appliqué aux données récupérées ou aux données transformées.
  10. 10
    System nach Anspruch 9, wobei die wenigstens eine erste Datenquelle wenigstens eine Kette von Abfrageanweisungen umfasst, welche jeweils eine andere Abfrageanweisung referenzieren, bis für jede Kette von Abfrageanweisungen eine finale Datenquelle referenziert wird, und wobei das Ausführen der ersten Abfrageanweisung ein Ausführen all der Abfrageanweisungen in der Kette und ein Erzeugen entsprechender Abfrageergebnisse umfasst. Système selon la revendication 9, dans lequel l'au moins une première source de données comprend au moins une chaîne d'instructions d'interrogation qui désignent chacune une autre instruction d'interrogation jusqu'à ce qu'une dernière source de données soit désignée pour chaque chaîne d'instructions d'interrogation, et dans lequel l'exécution de la première instruction d'interrogation comprend l'exécution de la totalité des instructions d'interrogation dans la chaîne et la génération de résultats d'interrogation correspondants. The system of claim 9, wherein the at least one first data source comprises at least one chain of query statements that each refer to another query statement until a final data source is referred to for each chain of query statements, and wherein executing the first query statement comprises executing all of the query statements in the chain and generating corresponding query results.
  11. 11
    System nach Anspruch 9 oder 10, ferner umfassend ein Sichern wenigstens einer der Abfrageanweisungen und der Abfrageergebnisse für eine Wiederverwendung. Système selon la revendication 9 ou 10, comprenant en outre la sauvegarde d'au moins l'un parmi des instructions d'interrogation et des résultats d'interrogation en vue d'une réutilisation. The system of claim 9 or 10, further comprising saving at least one of query statements and query results for reuse.
  12. 12
    System nach einem der Ansprüche 9 bis 11, wobei die computerlesbaren Programminstruktionen ferner durch die Verarbeitungseinheit ausführbar sind zum:(e) Empfangen einer dritten Abfrageanforderung, welche wenigstens eine dritte Datenquelle identifiziert, wenigstens ein drittes Zielfeld definiert und dritte Abfrageparameter umfasst;(f) Bestimmen, ob die wenigstens eine dritte Datenquelle, das wenigstens eine dritte Zielfeld und die dritten Abfrageparameter mit der wenigstens einen ersten Datenquelle, dem wenigstens einen ersten Zielfeld bzw. den ersten Abfrageparametern übereinstimmen;(g) im Fall keiner Übereinstimmung, Erzeugen einer dritten Abfrageanweisung im Einklang mit der dritten Abfrageanforderung und Ausführen der dritten Abfrageanweisung, um ein drittes Abfrageergebnis zurückzugeben;(h) im Fall einer Übereinstimmung, Abrufen des ersten Abfrageergebnisses und Zurückgeben des ersten Abfrageergebnisses als das dritte Abfrageergebnis, vorzugsweise wobei (h) ferner ein Bestimmen umfasst, ob sich die wenigstens eine erste Datenquelle geändert hat, und (viii) wobei im Fall keiner Änderung, ein Abrufen des ersten Abfrageergebnisses und ein Zurückgeben des ersten Abfrageergebnisses als das dritte Abfrageergebnis durchgeführt wird;und(ix) im Fall einer Änderung, Löschen des ersten Abfrageergebnisses, Abrufen der ersten Abfrageanweisung und Ausführen der ersten Abfrageanweisung, um das dritte Abfrageergebnis zurückzugeben, und vorzugsweise wobei (ix) ferner ein Löschen aller Abfrageergebnisse, welche Abfrageanweisungen in einer Kette von Abfrageanweisungen zugeordnet sind, welche die geänderte Datenquelle referenzieren, ein Erneuern von Abfrageergebnissen für die Abfrageanweisungen in der Kette von Abfrageanweisungen, welche die geänderte Datenquelle referenzieren, und ein Abrufen gespeicherter Abfrageergebnisse für Abfrageanweisungen umfasst, welche nicht Teil der Kette von Abfrageanweisungen sind, welche die geänderte Datenquelle referenzieren. Système selon l'une quelconque des revendications 9 à 11, dans lequel les instructions de programmes lisibles par ordinateur sont en outre exécutables par l'unité de traitement pour : (e) la réception d'une troisième demande d'interrogation identifiant au moins une troisième source de données, définissant au moins un troisième champ cible, et comprenant des troisièmes paramètres d'interrogation ;(f) la détermination si l'au moins une troisième source de données, l'au moins un troisième champ cible et les troisièmes paramètres d'interrogation concordent avec l'au moins une première source de données, l'au moins un premier champ cible, et les premiers paramètres d'interrogation, respectivement ;(g) en cas d'absence de concordance, la génération d'une troisième instruction d'interrogation conformément à la troisième demande d'interrogation et l'exécution de la troisième instruction d'interrogation pour retourner un troisième résultat d'interrogation ;(h) en cas de concordance, la récupération du premier résultat d'interrogation et le retour du premier résultat d'interrogation en tant que troisième résultat d'interrogation, de préférence dans lequel (h) comprend en outre la détermination si l'au moins une première source de données a changé, et (viii) en cas d'absence de changement, la récupération du premier résultat d'interrogation et le retour du premier résultat d'interrogation en tant que troisième résultat d'interrogation sont réalisés ;et(ix) en cas de changement, la suppression du premier résultat d'interrogation, la récupération de la première instruction d'interrogation, et l'exécution de la première instruction d'interrogation pour retourner le troisième résultat d'interrogation, et de préférence dans lequel (ix) comprend en outre la suppression de la totalité des résultats d'interrogation associés à des instructions d'interrogation dans une chaîne d'instructions d'interrogation qui désignent la source de données changée, la régénération de résultats d'interrogation pour les instructions d'interrogation dans la chaîne d'instructions d'interrogation qui désignent la source de données changée, et la récupération de résultats d'interrogation stockés pour des instructions d'interrogation qui ne font pas partie de la chaîne d'instructions d'interrogation qui désignent la source de données changée. The system of any one of claims 9 to 11, wherein the computer-readable program instructions are further executable by the processing unit for: (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, preferably wherein (h) further comprises determining if the at least one first data source has changed, and (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, and preferably wherein (ix) further comprises 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.
  13. 13
    System nach Anspruch 12, ferner umfassend, im Fall keiner Übereinstimmung und nur einer Änderung bei wenigstens einem Parameter zwischen den ersten Abfrageparametern und den dritten Abfrageparametern, ein Erneuern von Abfrageergebnissen für die Abfrageanweisungen in der Kette von Abfrageanweisungen, welche den geänderten wenigstens einen Parameter verwenden oder aus der Verwendung davon resultieren, und ein Abrufen gespeicherter Abfrageergebnisse für Abfrageanweisungen, welche nicht Teil der Kette von Abfrageanweisungen sind, welche den geänderten wenigstens einen Parameter verwenden oder aus der Verwendung davon resultieren. Système selon la revendication 12, comprenant en outre, en cas d'absence de concordance et d'uniquement un changement d'au moins un paramètre entre les premiers paramètres d'interrogation et les troisièmes paramètres d'interrogation, la régénération de résultats d'interrogation pour des instructions d'interrogation dans la chaîne d'instructions d'interrogation qui utilisent ou résultent de l'utilisation de l'au moins un paramètre changé, et la récupération de résultats d'interrogation stockés pour des instructions d'interrogation qui ne font pas partie de la chaîne d'instructions d'interrogation qui utilisent ou résultent de l'utilisation de l'au moins un paramètre changé. The system of claim 12, further comprising, in case of no match and only a change in at least one parameter between the first query parameters and the third query parameters, regenerating query results for the query statements in the chain of query statements that use or result from the use of the changed at least one parameter, and retrieving stored query results for query statements that are not part of the chain of query statements that use or result from the use of the changed at least one parameter.
  14. 14
    System nach einem der Ansprüche 9 bis 13, wobei das Erzeugen der ersten Abfrageanweisung ein Definieren eines Anfangsschritts der rekursiven Datentransformationsschritte als eine Verbindungsfunktion, um wenigstens zwei Datenquellen miteinander zu verbinden, und ein Definieren des wenigstens einen ersten Zielfelds als wenigstens ein Verbindungszielfeld umfasst, vorzugsweise wobei die Verbindungsfunktion Felder von jeglichem der wenigstens einen ersten Datenquelle, Ad-hoc-Parametern und hartkodierter Werte verwendet, vorzugsweise wobei das Ausführen der ersten Abfrageanweisung ein automatisches Bestimmen eines Index von Zeilen aus den wenigstens zwei Datenquellen umfasst, um mit dem wenigstens einen Verbindungszielfeld übereinzustimmen, und vorzugsweise wobei das Transformieren abgerufener Daten ein Verwenden des Index von Zeilen für jegliche nicht-Verbindungszielfelder umfasst. Système selon l'une quelconque des revendications 9 à 13, dans lequel dans lequel la génération de la première instruction d'interrogation comprend la définition d'une étape initiale des étapes de transformation de données récursives en tant que fonction de jointure afin de joindre au moins deux sources de données ensemble, et la définition de l'au moins un premier champ cible en tant qu'au moins un champ cible de jointure, de préférence dans lequel la fonction de jointure utilise des champs provenant de l'une quelconque de l'au moins une première source de données, des paramètres ad hoc, et des valeurs codées en dur, de préférence dans lequel l'exécution de la première instruction d'interrogation comprend la détermination automatique d'un index de lignes provenant des au moins deux sources de données pour concorder avec l'au moins un champ cible de jointure, et de préférence dans lequel la transformation de données récupérées comprend l'utilisation de l'index de lignes pour n'importe quel champ cible sans jointure. The system of any one of claims 9 to 13, wherein generating the first query statement comprises defining an initial step of the recursive data transformation steps as a join function in order to join at least two data sources together, and defining the at least one first target field as at least one join target field, preferably wherein the join function uses fields from any one of the at least one first data source, ad hoc parameters, and hardcoded values, preferably wherein executing the first query statement comprises automatically determining an index of rows from the at least two data sources to match the at least one join target field, and preferably wherein transforming retrieved data comprises using the index of rows for any non-join target fields.
  15. 15
    System nach einem der Ansprüche 9 bis 14, wobei das Ausführen der ersten Abfrageanweisung ein Anwenden einer ersten Gruppierungsfunktion an dem wenigstens einen Zielergebnis umfasst und das Bestücken des wenigstens einen Zielfelds ein Verwenden nur von Feldern aus der ersten Gruppierungsfunktion umfasst, vorzugsweise wobei das Ausführen der ersten Abfrageanweisung ferner ein Anwenden einer zweiten Gruppierungsfunktion an der wenigstens einen ersten Datenquelle umfasst und das Abrufen von Daten ein Abrufen nur von Feldern aus der zweiten Gruppierungsfunktion umfasst. Système selon l'une quelconque des revendications 9 à 14, dans lequel l'exécution de la première instruction d'interrogation comprend en outre l'application d'une première fonction de groupement à l'au moins un résultat cible, et le garnissage de l'au moins un champ cible comprend l'utilisation uniquement de champs de la première fonction de groupement, de préférence dans lequel l'exécution de la première instruction d'interrogation comprend en outre l'application d'une seconde fonction de groupement à l'au moins une première source de données, et la récupération de données comprend la récupération uniquement depuis des champs de la seconde fonction de groupement. The system of any one of claims 9 to 14, wherein executing the first query statement further comprises applying a first grouping function to the at least one target result, and populating the at least one target field comprises using only fields from the first grouping function, preferably wherein executing the first query statement further comprises applying a second grouping function to the at least one first data source, and retrieving data comprises retrieving only from fields from the second grouping function.
Independent claims15