Database query builder
First Claim
1. A system comprising:
- one or more processors;
a database schema including a plurality of data sources, each data source including one or more fields for storing data, and metadata defining relationships amongst the fields within or between data sources;
a schema parser executed by at least one of the processors and configured to determine one or more datasets of data stored within or referenced from the database schema, wherein a dataset includes one or more fields from the database schema and represents the data stored in the one or more fields;
an input handler executed by at least one of the processors and configured to receive a user'"'"'s selection of one or more of the datasets via a graphical user interface, wherein the input handler is configured to determine that a first graphical icon representing a first dataset is graphically associated within the graphical user interface with a second graphical icon representing a second dataset;
a translation engine executed by at least one of the processors and configured to provide operations for refining the data of the selected datasets into a result set via a query, wherein the translation engine is configured to determine natural language queries to provide based on the relationships identified by the metadata, the natural language queries including intuitive descriptions of the operations based on the relationships identified by the metadata and an experience level of the user, the intuitive descriptions being different for users with different experience levels, wherein the translation engine is configured to provide, responsive to the graphical association of the first and second icons, natural language queries to perform between the first dataset and the second dataset, wherein the natural language queries are determined based on the relationships of the datasets as stored or derived from the metadata, wherein the input handler is configured to receive a selection of one of the natural language queries provided by the translation engine; and
a query engine executed by at least one of the processors and configured to provide a graphical depiction of the query via the interface, the graphical query including operational flow indicators indicating a directional flow of the query from the selected datasets with the selected natural language query resulting in the result set.
1 Assignment
0 Petitions
Accused Products
Abstract
A schema parser may determine one or more datasets of a database schema, wherein the datasets include one or more fields from a data source and represents data corresponding to the one or more fields. An input handler may receive a selection of one or more of the datasets via an interface. A translation engine may provide operations for refining the data of the selected datasets into a result set via a query, wherein the operations may be determined based on metadata defining relationships amongst the data sources and fields. A query engine may provide a graphical query including operational flow indicators indicating a directional flow of the query from the selected datasets with the selected operation to the result set.
-
Citations
48 Claims
-
1. A system comprising:
-
one or more processors; a database schema including a plurality of data sources, each data source including one or more fields for storing data, and metadata defining relationships amongst the fields within or between data sources; a schema parser executed by at least one of the processors and configured to determine one or more datasets of data stored within or referenced from the database schema, wherein a dataset includes one or more fields from the database schema and represents the data stored in the one or more fields; an input handler executed by at least one of the processors and configured to receive a user'"'"'s selection of one or more of the datasets via a graphical user interface, wherein the input handler is configured to determine that a first graphical icon representing a first dataset is graphically associated within the graphical user interface with a second graphical icon representing a second dataset; a translation engine executed by at least one of the processors and configured to provide operations for refining the data of the selected datasets into a result set via a query, wherein the translation engine is configured to determine natural language queries to provide based on the relationships identified by the metadata, the natural language queries including intuitive descriptions of the operations based on the relationships identified by the metadata and an experience level of the user, the intuitive descriptions being different for users with different experience levels, wherein the translation engine is configured to provide, responsive to the graphical association of the first and second icons, natural language queries to perform between the first dataset and the second dataset, wherein the natural language queries are determined based on the relationships of the datasets as stored or derived from the metadata, wherein the input handler is configured to receive a selection of one of the natural language queries provided by the translation engine; and a query engine executed by at least one of the processors and configured to provide a graphical depiction of the query via the interface, the graphical query including operational flow indicators indicating a directional flow of the query from the selected datasets with the selected natural language query resulting in the result set. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17)
-
-
18. A computer-implemented method of constructing a query with which to retrieve information from a database, the method comprising:
-
receiving one or more keywords input from a user; determining, by at least one processor of a computer system, a first dataset identified in a schema of the database based on the received one or more keywords and metadata associated with the first dataset; determining, by at least one processor of the computer system, a second dataset identified in the schema of the database based on input from the user and metadata associated with the second dataset; representing graphically, by a display of the computer system, the determined first dataset as a first icon and the determined second dataset as a second icon in a canvas presented to the user; receiving information that the user has graphically associated the first icon with the second icon on the canvas; in response to the user'"'"'s graphical association of the first and second icons, generating a combination dataset of the first and second datasets; representing graphically the combination dataset as a third icon in the canvas and representing graphically in the canvas a relationship between the combination dataset and the first and second datasets; presenting a natural language query to the user, the natural language query including an intuitive description of a query based on the relationship between the combination dataset and the first and second datasets and an experience level of the user, the intuitive description being different for users with different experience levels; receiving a selection of the natural language query from the user; constructing, by at least one processor of the computer system in response to receiving the selection of the natural language query from the user, a machine-readable structured query based on the first dataset, the second dataset, the combination dataset and the relationship between the first dataset, the second dataset, and the combination dataset; and returning data from the database, the returned data corresponding to an execution of the machine-readable structured query against the database. - View Dependent Claims (19, 20, 21, 22, 23, 24)
-
-
25. A method of constructing a query with which to retrieve information from a database, the method comprising:
-
representing graphically a first dataset of a database as a first icon and a second dataset of the database as a second icon in a canvas presented to a user on a display of a computer system; receiving an indication to combine the first dataset with the second dataset, wherein the indication is received in response to the first icon being graphically associated with the second icon in the canvas; based on the received indication and metadata associated with the first dataset and the second dataset, presenting to the user on the display of the computer system natural language query options for combining elements of the first and second datasets, the natural language query options including intuitive descriptions of the combining elements based on the metadata and an experience level of the user, the intuitive descriptions being different for users with different experience levels; in response to the user'"'"'s selection of one of the presented natural language query options, generating a third icon in the canvas representing a combination dataset of elements of the first and second datasets; representing user-defined relationships between the first and second datasets and the combination dataset as a connected graph of the first, second and third icons, wherein the connected graph presents a graphical representation of the query to the user; constructing, by at least one processor of the computer system, a machine-readable structured query based on the connected graph; and returning data from the database, the returned data corresponding to an execution of the machine-readable structured query against the database. - View Dependent Claims (26, 27, 28, 29, 30, 31, 32, 33, 34)
-
-
35. A system comprising:
-
one or more processors; an input handler executed by at least one of the processors and configured to receive a keyword by which to search a content index of a database for a corresponding data source from a plurality of data sources associated with the database, the data sources including metadata, fields and data populating the database; a search engine executed by at least one of the processors and configured to search the content index for the keyword, and to provide metadata from the content index corresponding to the keyword; the input handler being configured to receive a selection from the metadata; a query engine executed by at least one of the processors and configured to provide, responsive to the selection of the metadata, a first graphical icon in a graphical user interface, the first graphical icon representing the selected metadata, and to provide in the graphical user interface a second graphical icon representing a corresponding data source, wherein the input handler is configured to determine that the first graphical icon is graphically associated within the graphical user interface with the second graphical icon; and a translation engine configured to provide, responsive to the graphical association of the first and second graphical icons, a list of natural language queries to perform between the selected metadata and the data source, the natural language queries including intuitive descriptions of the natural language queries based on the selected metadata and an experience level of the user, the intuitive descriptions being different for users with different levels of experience, wherein the query engine is configured to query the database using query parameters based on the data source and a natural language query selected from the list of natural language queries. - View Dependent Claims (36, 37, 38, 39, 40)
-
-
41. A computer-implemented method comprising:
-
determining, by at least one processor of a computer system, based on metadata associated with data of a database, a plurality of natural language expressions (NLEs) describing operations that may be performed on one or more datasets associated with a graphical query that is displayed to a user through a graphical user interface on a display of the computer system, the plurality of NLEs including intuitive descriptions of the operations based on the metadata and an experience level of the user, the intuitive descriptions being different for users with different levels of experience; determining, from the graphical query, one or more aliases corresponding to one or more of the datasets, wherein the one or more aliases include a user-provided phrase by which to refer to the corresponding one or more datasets; providing the plurality of NLEs that describe the operations that may be performed on the one or more datasets, including the one or more aliases corresponding to the one or more datasets presented to the user via the graphical user interface; receiving a selection by the user of one of the provided plurality of NLEs; and rendering, in the graphical query, a graphical depiction of the selected NLE on the one or more datasets. - View Dependent Claims (42, 43)
-
-
44. A computer-implemented method comprising:
-
providing a graphical user interface displayed to a user on a display of a computer system, the interface being configured to allow the user to generate a graphical representation of a structured query for data of a database; receiving, via the graphical user interface, selections of dataset icons corresponding to respective datasets of the database, indications of graphical associations between two or more dataset icons, and operations to perform on the datasets, wherein at least one of the operations is a natural language query that is selected from a plurality of operations that are provided based on metadata associated with the respective datasets of the database and an indication of a graphical association between the two or more dataset icons, the natural language query including an intuitive description of at least one operation based on the metadata and an experience level of the user, the intuitive description being different for users with different levels of experience; generating, by at least one processor of the computer system, the graphical representation of the structured query in the graphical user interface based on the selections of the dataset icons and the operations to perform on the datasets, the graphical representation including the dataset icon and/or a representation of a selected operation; generating, by at least one processor of the computer system, the structured query based on the graphical representation; executing the structured query against the database; and providing results of the execution of the structured query. - View Dependent Claims (45, 46, 47, 48)
-
Specification