← Back to Patent Explorer
US6263328B1 Expired / Lapsed US ⏱️ 0.0 years remaining

Object oriented query model and process for complex heterogeneous database queries

Assignee: International Business Machines Corp
•
Filing: 1999-04-09
•
Granted: 2001-07-17
•
Expires: 2019-04-09
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

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.

Inventors

  • 👤 Anna Rosa Coden
  • 👤 Robert Lawrence Mack

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-08 06:04
CPC Classifications
G; G06; G06F; G06F16/00; G06F16/20; G06F16/28; G06F16/289; G06F16/24; G06F16/242; G06F16/2428; Y; Y10; Y10S; Y10S707/00; Y10S707/99931; Y10S707/99933; Y10S707/99934; Y10S707/99939

Claims Analysis

Total Claims: 20
Claim 1
Independent Claim 424 words
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.
Claim 2
Dependent Claim 424 words
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.
Claim 3
Dependent Claim 49 words
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.
Claim 4
Dependent Claim 47 words
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.
Claim 5
Dependent Claim 20 words
A computer system, as in claim 1 , where each of the databases can be accessed with a query language.
Claim 6
Dependent Claim 28 words
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.
Claim 7
Dependent Claim 74 words
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.
Claim 8
Dependent Claim 77 words
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.
Claim 9
Dependent Claim 63 words
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.
Claim 10
Dependent Claim 58 words
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.
Claim 11
Dependent Claim 77 words
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.
Claim 12
Dependent Claim 49 words
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.
Claim 13
Dependent Claim 20 words
A computer system, as in claim 11 , where the execute method further evaluates each sub-query and combines their results.
Claim 14
Dependent Claim 61 words
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.
Claim 15
Dependent Claim 391 words
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.
Claim 16
Dependent Claim 391 words
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.
Claim 17
Dependent Claim 401 words
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.
Claim 18
Dependent Claim 401 words
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.
Claim 19
Dependent Claim 392 words
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.
Claim 20
Dependent Claim 392 words
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.

References Cited (Backward Citations)

US6052693A Cited
US6167393A Cited
US6006224A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2004-07-16 2005-01-15 2005-07-17 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2008-07-16 2009-01-15 2009-07-17 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2012-07-16 2013-01-15 2013-07-17 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag