End user query facility including a query connectivity driver
First Claim
1. An end user query facility for accessing a database having a plurality of database files formed using a database model, comprising:
- a knowledge base which stores a set of linkages of the database model, each said linkage representing a relation between two of said database files in which a first file has a key that references an equivalent key of a second file;
a semantics extractor for reading said database model and extracting the semantics of said database model, and which stores in said knowledge base said set of linkages;
an application, which supports end-user query, to obtain from a user a designation of the information to be extracted from said database;
a query facility connectivity driver for connecting said application to said query facility, and for connecting said query facility to said database through a database connectivity driver;
an inference engine which, based upon said designation of information to be extracted from said database, identifies one or more of said database files which contain the desired information and searches said knowledge base to determine the linkage(s) connecting said one or more identified files; and
a program generator which accesses the linkages obtained by said inference engine and generates a program to extract said desired information from said database.
2 Assignments
0 Petitions
Accused Products
Abstract
An end user query technology is taught which is capable of automatically understanding the database model and guiding the user to scout for the desired information, thereby increasing productivity and ease of information access. The user is freed from the need to understanding the database model, with the end user query facility of this invention quickly guiding the user to acquire the information. This is made possible by the end user query facility of this invention first recapturing the application semantics from the existing database model to provide a set of derived semantics. The derived semantics are then used by the end user query facility to intelligently guide the user to scout for the desired information in the database. In addition, the derived semantics can be easily updated by the end user query facility when the database model is changed.
-
Citations
82 Claims
-
1. An end user query facility for accessing a database having a plurality of database files formed using a database model, comprising:
-
a knowledge base which stores a set of linkages of the database model, each said linkage representing a relation between two of said database files in which a first file has a key that references an equivalent key of a second file; a semantics extractor for reading said database model and extracting the semantics of said database model, and which stores in said knowledge base said set of linkages; an application, which supports end-user query, to obtain from a user a designation of the information to be extracted from said database; a query facility connectivity driver for connecting said application to said query facility, and for connecting said query facility to said database through a database connectivity driver; an inference engine which, based upon said designation of information to be extracted from said database, identifies one or more of said database files which contain the desired information and searches said knowledge base to determine the linkage(s) connecting said one or more identified files; and a program generator which accesses the linkages obtained by said inference engine and generates a program to extract said desired information from said database. - View Dependent Claims (2, 3, 4, 5, 11, 12, 13, 14, 15, 16, 17, 20, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 58, 59, 60, 61, 62, 63)
-
-
6. An end user query facility for accessing a database having a plurality of database files formed using a database model, comprising:
-
a knowledge base which stores a set of classes and a set of linkages of the database model, each said class represents a hierarchical grouping of a subset of said database files, each said linkage representing a relation between two of said database files in which a first file has a key that references an equivalent key of a second file; a class generator for reading said database model and generating said set of classes and said set of linkages of the database model and which stores in said knowledge base said set of classes and said set of linkages; an application, which supports end-user query, to obtain from an user choices based on said classes as a designation of the information to be extracted from said database; a query facility connectivity driver for connecting said application to said query facility, and for connecting said query facility to said database through a database connectivity driver; an inference engine which, based upon said designation of information to be extracted from said database, identifies one or more of said database files which contain the desired information and searches said knowledge base to determine the linkage(s) connecting said one or more identified files; and a program generator which accesses the linkages obtained by said inference engine and generates a program to extract said desired information from said database.
-
-
7. An end user query facility for accessing a database having a plurality of database files formed using a database model, comprising:
-
a knowledge base which stores a set of classes and a set of linkages of the database model, each said class represents a hierarchical grouping of a subset of said database files, each said linkage representing a relation between two of said database files in which a first file has a key that references an equivalent key of a second file; a class generator for reading said database model and generating said set of classes and said set of linkages of the database model and which stores in said knowledge base said set of classes and said set of linkages; an application, which supports end-user query, to obtain from a user a designation of the information to be extracted from said database; a query facility connectivity driver for connecting said application to said query facility, and for connecting said query facility to said database through a database connectivity driver; an inference engine which, based upon said designation of information to be extracted from said database, identifies one or more of said database files which contain the desired information and searches said knowledge base to determine the linkage(s) connecting said one or more identified files; a knowledge thread analyzer receiving as its input said linkage(s) determined by said inference engine, and which breaks down said linkage(s) into simple linkage(s); and a program generator which accesses said simple linkages obtained by said knowledge analyzer and generates programs, one for each said simple linkage, to extract said desired information from said database as a plurality of simple query results, one for each generated program. - View Dependent Claims (8, 9)
-
-
10. An end user query facility for accessing a database having a plurality of database files formed using a database model, comprising:
-
a knowledge base which stores a set of linkages of the database model, each said linkage representing a relation between two of said database files in which a first file has a key that references an equivalent key of a second file; a semantics extractor for reading said database model and extracting the semantics of said database model, and which stores in said knowledge base said set of linkages; a keyword library which stores a set of keywords of said database model; an application, which supports end-user query, to obtain from a user a designation of the information to be extracted from said database using said keyword library; a first connectivity driver for connecting said application to said keyword library; an inference engine which, based upon said designation of information to be extracted from said database, identifies one or more of said database files which contain the desired information and searches said knowledge base to determine the linkage(s) connecting said one or more identified files; a first e-mail agent for said first connectivity driver to interface with an e-mail system, said first e-mail agent being used to post said designation of information to be extracted from said database to the mailbox of said inference engine; a second e-mail agent for the said inference engine to interface with said e-mail system, the said second e-mail agent being used to access said mailbox of said inference engine to obtain said designation of information to be extracted from said database; a program generator which accesses the linkages obtained by said inference engine and generates a program to extract said desired information from said database. - View Dependent Claims (55, 56, 57, 64, 65)
-
-
18. An end user query facility for accessing a database having a plurality of database files formed using a database model, comprising:
-
a knowledge base which stores a set of classes and a set of linkages of the database model, each said class represents a hierarchical grouping of a subset of said database files, each said linkage representing a relation between two of said database files in which a first file has a key that references an equivalent key of a second file; a class generator for reading said database model and generating said set of classes and said set of linkages of the database model and which stores in said knowledge base said set of classes and said set of linkages; a keyword library which stores a set of keywords of said set of classes including the names of said classes and their attributes; an application, which supports end-user query, to obtain from a user a designation of the information to be extracted from said database using said keyword library; a first connectivity driver for connecting said application to said keyword library; an inference engine which, based upon said designation of information to be extracted form said database, identifies one or more of said database files which contain the desired information and searches said knowledge base to determine the linkage(s) connecting said one or more identified files; a first e-mail agent for said first connectivity driver to interface with an e-mail system, said first e-mail agent being used to post said designation of information to be extracted from said database to the mailbox of said inference engine; a second e-mail agent for the said inference engine to interface with said e-mail system, the said second e-mail agent being used to access said mailbox of said inference engine to obtain said designation of information to be extracted from said database; and a program generator which accesses the linkages obtained by said inference engine and generates a program to extract said desired information from said database. - View Dependent Claims (21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 66, 67, 68, 69, 70)
-
-
19. An end user query facility for accessing a database having a plurality of database files formed using a database model, comprising:
-
a knowledge base which stores a set of classes and a set of linkages of the database model, each said class represents a hierarchical grouping of a subset of said database files, each said linkage representing a relation between two of said database files in which a first file has a key that references an equivalent key of a second file; a class generator for reading said database model and generating said set of classes and said set of linkages of the database model and which stores in said knowledge base said set of classes and said set of linkages; a keyword library which stores a set of keywords of said set of classes including the names of said classes and their attributes; an application, which supports end-user query, to obtain from a user a designation of the information to be extracted from said database using said keyword library; a first connectivity driver for connecting said application to said keyword library; an inference engine which, based upon said designation of information to be extracted form said database, identifies one or more of said database files which contain the desired information and searches said knowledge base to determine the linkage(s) connecting said one or more identified files; a first e-mail agent for said first connectivity driver to interface with an e-mail system, said first e-mail agent being used to post said designation of information to be extracted from said database to the mailbox of said inference engine; a second e-mail agent for the said inference engine to interface with said e-mail system, the said second e-mail agent being used to access said mailbox of said inference engine to obtain said designation of information to be extracted from said database; a knowledge thread analyzer receiving as its input said linkage(s) determined by said inference engine, and which breaks down said linkage(s) into simple linkage(s); and a program generator which accesses said simple linkages obtained by said knowledge analyzer and generates programs, one for each said simple linkage, to extract said desired information from said database as a plurality of simple query results, one for each generated program.
-
-
71. An end user query facility for accessing an existing database having a plurality of database files formed using a database model, comprising:
-
an entity relationship (ER) model generator for reading said databases and deriving a plurality of entity-relationship models, said ER model generator comprising; an entity type classifier for classifying each said database file into one of a plurality of entity types, said entity types including a "kernel" entity type, a "subtype" entity type, a "characteristic" entity type, an "associative" entity type, and a "pure lookup" entity type; a binary relationship generator for generating a plurality of binary relationships between said database files, each said binary relationship associated with a linkage representing a relation between a first file having a key that references an equivalent key of a second file, said binary relationships including; a "has-- children" type that represents a first database file that is not classified as a "pure lookup" entity type and has a one-to-many relationship with a second database file, and said second database file does not have a unique key; a "has-- wards" type that represents a first database file that is not of a "pure lookup" entity type and has a one-to-many relationship with a second database file having a unique key; a "has-- subtype" type that represents a first database file having a one-to-one relationship with a second database file and said second database file is classified as a "subtype" entity type; and an "inverse-- of-- pure-- lookup" that represents a first database file is classified as a "pure-- lookup" entity type; a model constructor for constructing said entity-relationship models, each said entity-relationship model representing a tree having a root and a plurality of branches, said root associated with one of said database files classified as a "kernel" entity type, said model constructor utilizing said entity types and said binary relationships to associate one or more branches with each said entity-relationship model; a knowledge base that stores said ER models; an application for interfacing with a user to obtain from said user choices based on said entity-relationship model as a designation of the information to be extracted from said database; an inference engine that, based upon said designation of information to be extracted from said database, identifies one or more of said database files that contain the desired information and searches said knowledge base to determine one or more linkages connecting said identified files; a program generator that accesses said linkages obtained by said inference engine and generates a program to extract said desired information from said database; and a query facility connectivity driver that comprises; a first connectivity interface coupled to said application that conforms to Microsoft open database connectivity (ODBC) standard to interface with said inference engine and said knowledge base; and a second connectivity interface coupled to said inference engine and said knowledge base to interface with said existing database using Microsoft open database connectivity (ODBC) driver. - View Dependent Claims (72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82)
-
Specification