Patentable/Patents/US-6263328
US-6263328

Object oriented query model and process for complex heterogeneous database queries

PublishedJuly 17, 2001
Assigneenot available in USPTO data we have
Inventorsnot available in USPTO data we have
Technical Abstract

A computer system has an interface to one or more databases, one or more base query objects, query objects, compound queries, annotator objects and graphical user interfaces (GUI's). The base query objects have one or more base query object methods, base variables, and base objects, the base query object methods being specific to the specific database and capable of querying the specific database. Each of the query objects derived from one of the base objects, and has a query type, one or more query object methods, query object variables, and query object objects. Each query object method is capable of querying a specific database to obtain a type result having the respective type. The compound query has one or more compound query methods, compound query variables, and compound query object objects. The operator objects, are derived from one of the base query objects that are used with the specific database. (GUI) has one or more query elements with one or more operators. The query elements, operators, and conditions are user selectable. Each query element, operates on the query object with the same type as the query element to create an instance of the query object with the query element. The compound query object instance uses the instances and the operator object instances to create an a query expression for the specific database. Therefore the input in the GUI is translated into a single compound query object.

Patent Claims
16 claims

Legal claims defining the scope of protection, as filed with the USPTO.

1

1. A computer system having one or more central processing units and one or more memories, the computer system further comprising: an interface to one or more databases, one of the databases being a specific database; one or more base query objects having one or more base query object methods, one or more base variables, and one or more base objects, one or more of the base query object methods being specific to the specific database and capable of querying the specific database; one or more query objects, each of the query objects derived from one of the base objects, each of the query objects having a query type, one or more query object methods, one or more query object variables, and one or more query object objects, containing one or more query object methods capable of querying the specific database to obtain a typed result having the respective type; one or more compound query objects, each of the compound query objects derived from one of the base objects, each of the compound query objects having one of the query types, one or more compound query object methods, one or more compound query object variables, and one or more compound query object objects, containing one or more compound query object method capable of querying the specific database to obtain a typed result having the respective type; one or more annotator objects, derived from one of the base query objects, the annotator objects having operator objects, the annotator objects being used with the specific database; one or more graphical user interfaces (GUI) having one or more query elements, one or more operators and one or more data, each query element being of one of the query types but being database independent, the query elements, operators, and one or more groupings of query elements being selectable; a process that, for each GUI query element, associates one of the query objects with one or more of the GUI query elements by entering one or more of the data in one or more of the respective query object variables or query objects to create a query object instance, associates one or more of the operators with one or more of the operator objects, and defines one or more of the compound query objects by the groupings so that the associated query objects are related by the operators to create a compound query expressions according to the grouping; and a linearize process that transforms the compound query expression into a query expression that can be executed for the specific database.

2

2. A system, as in claim 1, where the compound query object has one or more execute methods that invoke one or more of the query object methods to obtain one or more typed results and combines two or more of the typed results according to the query expression.

3

3. A system, as in claim 1, where the compound query object has one or more execute methods that operates on the query expression to create a structured query language expression that is executed by one of the base query object methods to produce an overall result.

4

4. A computer system, as in claim 1, where each of the databases can be accessed with a query language.

5

5. A computed system, as in claim 4, where the query language includes any one or more of the following: SQL, oracle SQL and a structured query language.

6

6. A computer system, as in claim 1, where each of the query objects is any one of the following type: a Base Query object, a Text Atom Query Object, a Parametric Attribute Query Object, a Feature Atom Query Object, an Operator Object, a Parenthesis Object, a Compound Free Text Query Object, a Compound Boolean Text Query Object, a Compound Parametric Query Object, a Compound Feature Query Object and a Boolean Compound Query Object.

7

7. A computer system, a in claim 6, where the query object is a Compound Feature Query Object query having one or more feature atom query objects, each feature atom query object having a feature atom query method that accesses a feature table, the feature table describing a database structure of the database that is used by one or more of the feature atom query objects to access information in the database that respond to the query.

8

8. A computer system, as in claim 1, where the query object is a Compound Free Text Query Object having one or more methods that creates a method which can access the columns in a table in the database which were created by a special indexing mechanism to capture the data needed to perform a free text query and return a ranked result.

9

9. A computer system, as in claim 1, where the query object is a Compound Boolean Text Query Object having one or more methods that creates a method which can access the columns in a table in the database which were created by a special indexing mechanism to capture the data needed to perform a Boolean text query.

10

10. A computer system, as in claim 1, where the query is a Compound Parametric Query Object having one or more parametric attribute query objects, each parametric attribute query object having a parametric attribute query method that accesses one or more tables, each of the tables describing a database structure of the database that is used by one or more of the parametric attribute query objects to access information in the database that respond to the query.

11

11. A computer system, as in claim 1, where the query object is Boolean Compound Query Object having a Boolean expression of instances of the query objects, and which contains one or more execute methods that evaluate the Boolean expression such that the result corresponds to the query expression.

12

12. A computer system, as in claim 11, where the execute method further evaluates each sub-query and combines their results.

13

13. A computer system as in claim 11, where the execute method comprises the following steps: evaluating each sub-query; creating common table expressions (CTE); creating a single SQL expression; and creating CTE objects where the CmE object contains a query string which expresses the query as encapsulated by a single query or by the logical expression of two or more queries.

14

14. A computer executed method comprising the steps of: evaluating one or more base sub-query objects having one or more base query object methods, one or more base variables, and one or more base objects, one or more of the base query object methods being specific to a specific database and capable of querying the spec database; deriving one or more query objects from one of the base objects, each of the query objects having a query type, one or more query object methods, one or more query object variables, and one or more query object objects, the query objects objects containing one or more query object methods capable of querying the specific database to obtain a typed result having the respective type; deriving one or more compound query objects derived from one of the base objects, each of the compound query objects having one of the query types, one or more compound query object methods, one or more compound query object variables, and one or more compound query object objects, the compound query object objects containing one or more compound query object methods capable of querying the specific database to obtain a typed result having the respective type; deriving one or more annotator objects from one of the base query objects, the annotator objects having operator objects, the annotator objects being used with the specific database; providing one or more graphical use interfaces (GUI) having one or more query elements, one or more operators and one or more data, each query element being of one of the query types but being database independent, the query elements, operators, and one or more groupings of query elements being selectable; for each GUI query element, associating one of the query objects with one or more of the GUI query elements by entering one or more of the data in one or more of the respective query object variables or query objects to create a query object instance, associating one or more of the operators with one or more of the operator objects, and defining one or more of the compound query objects by the groupings so that the associated query objects are related by the operators to create a compound query expressions according to the grouping; and transforming the compound query expression into a query expression that can be executed for the specific database.

15

15. A computer system comprising: means for evaluating one or more base sub-query objects having one or more base query object methods, one or more base variables, and one or more base objects, one or more of the base query object methods being specific to a specific database and capable of querying the specific database; means for deriving one or more query objects from one of the base objects, each of the query objects having a query type, one or more query object methods, one or more query object variables, and one or more query object objects, the query objects objects containing one or more query object methods capable of querying the specific database to obtain a typed result having the respective type; means for deriving one or more compound query objects derived from one of the base objects, each of the compound query objects having one of the query types, one or more compound query object methods, one or more compound query object variables, and one or more compound query object objects, the compound query object objects containing one or more compound query object methods capable of querying the specific database to obtain a typed result having the respective type; means for deriving one or more annotator objects from one of the base query objects, the annotator objects having operator objects, the annotator objects being used with the specific database; means for providing one or more graphical user interfaces (GUI) having one or more query elements, one or more operators and one or more data, each query element being of one of the query types but being database independent, the query elements, operators, and one or more groupings of query elements being selectable; for each GUI query element, means for associating one of the query objects with one or more of the GUI query elements by entering one or more of the data in one or more of the respective query object variables or query objects to create a query object instance, associating one or more of the operators with one or more of the operator objects, and defining one or more of the compound query objects by the groupings so that the associated query objects are related by the operators to create a compound query expressions according to the grouping; and means for transforming the compound query expression into a query expression that can be executed for the specific database.

16

16. A computer program product which performs the steps of: evaluating one or more base sub-query objects having one or more base query object methods, one or more base variables, and one or more base objects, one or more of the base query object methods being specific to a specific database and capable of querying the specific database; deriving one or more query objects from one of the base objects, each of the query objects having a query type, one or more query object methods, one or more query object variables, and one or more query object objects, the query objects objects containing one or more query object methods capable of querying the specific database to obtain a typed result having the respective type; deriving one or more compound query objects derived from one of the base objects, each of the compound query objects having one of the query types, one or more compound query object methods, one or more compound query object variables, and one or more compound query object objects, the compound query object objects containing one or more compound query object methods capable of querying the specific database to obtain a typed result having the respective type; deriving one or more annotator objects from one of the base query objects, the annotator objects having operator objects, the annotator objects being used with the specific database; providing one or more graphical user interfaces (GUI) having one or more query elements, one or more operators and one or more data, each query element being of one of the query types but being database independent, the query elements, operators, and one or more groupings of query elements being selectable; for each GUI query element, associating one of the query objects with one or more of the GUI query elements by entering one or more of the data in one or more of the respective query object variables or query objects to create a query object instance, associating one or more of the operators with one or more of the operator objects, and defining one or more of the compound query objects by the groupings so that the associated query objects are related by the operators to create a compound query expressions according to the grouping; and transforming the compound query expression into a query expression that can be executed for the specific database.

Classification Codes (CPC)

Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.

Patent Metadata

Filing Date

April 9, 1999

Publication Date

July 17, 2001

Want to explore more patents?

Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.

Citation & reuse

Analysis on this page is generated by Patentable — an AI-powered patent intelligence platform. AI-generated summaries, explanations, and analysis may be reused with attribution and a visible link back to the canonical URL below. Patent abstracts and claims are USPTO public domain.

Cite as: Patentable. “Object oriented query model and process for complex heterogeneous database queries” (US-6263328). https://patentable.app/patents/US-6263328

© 2026 Patentable. All rights reserved.

Patentable is a research and drafting-assistant tool, not a law firm, and does not provide legal advice. Documents we generate are drafts for review by a licensed patent attorney.