Method and apparatus for specifying a query to an information system using natural language-like constructs
First Claim
1. Apparatus including a general purpose programmable digital computer, said computer having central processing means, bus means, display means, data entry means, memory means, data storage means, and graphical user interface for describing in a natural language a query to a database, said apparatus further comprising:
- diagram means for producing a diagram on said display means;
cursor control means for moving a cursor over said diagram;
repository means further comprising relational database means implemented on said computer;
fact tree formation means for forming a fact tree based on said query; and
fact tree description means for describing said fact tree in said natural language, said fact tree description means including(a) first variable assignment means for assigning variables based on said fact tree, said variables comprising root, parent, child and node, wherein said root is the root of said fact tree, said parent is the parent of said root, said child is the child of the root and said node is the number of the child,(b) parent test means for testing if a value of said parent is null,(c) root text creation means, responsive to a determination by said parent test means that said value of said parent is null, for creating text for said root,(d) node text creation means, responsive to a determination by said parent test means that a value of said parent is not null, for creating text for said node,(e) print means for printing, on said display means, said text created by said root text creation means and said node text creation means,(f) counter means for counting an iteration as an iteration value,(g) node test means for determining if said iteration value is equal to a value of said node, and(h) recursive means for recursively invoking said fact tree description means using depth-first search means.
5 Assignments
0 Petitions
Accused Products
Abstract
Computerized tools for modeling database designs and specifying queries of the data contained therein. Once it is determined that an information system needs to be created, the Fact Compiler of the present invention is invoked to create it. After creating the information system, the user creates a fact-tree as a prelude to generating queries to the system. After creating the fact-tree, the user verifies that it is correct using the Tree Interpreter of the present invention. Once the fact tree has been verified, the Query Mapper of the present invention is used to generate information system queries.
-
Citations
12 Claims
-
1. Apparatus including a general purpose programmable digital computer, said computer having central processing means, bus means, display means, data entry means, memory means, data storage means, and graphical user interface for describing in a natural language a query to a database, said apparatus further comprising:
-
diagram means for producing a diagram on said display means; cursor control means for moving a cursor over said diagram; repository means further comprising relational database means implemented on said computer; fact tree formation means for forming a fact tree based on said query; and fact tree description means for describing said fact tree in said natural language, said fact tree description means including (a) first variable assignment means for assigning variables based on said fact tree, said variables comprising root, parent, child and node, wherein said root is the root of said fact tree, said parent is the parent of said root, said child is the child of the root and said node is the number of the child, (b) parent test means for testing if a value of said parent is null, (c) root text creation means, responsive to a determination by said parent test means that said value of said parent is null, for creating text for said root, (d) node text creation means, responsive to a determination by said parent test means that a value of said parent is not null, for creating text for said node, (e) print means for printing, on said display means, said text created by said root text creation means and said node text creation means, (f) counter means for counting an iteration as an iteration value, (g) node test means for determining if said iteration value is equal to a value of said node, and (h) recursive means for recursively invoking said fact tree description means using depth-first search means. - View Dependent Claims (2, 3)
-
-
4. Method for describing, in a natural language, a query to a database previously implemented on a general purpose programmable digital computer, said computer comprising central processing means, bus means, display means, data entry means, memory means, data storage means, graphical user interface and repository means further comprising relational database means implemented on said computer, said description method further comprising the steps of:
-
producing a diagram on said display means; moving a cursor over said diagram; forming a fact tree based on said query; and describing said fact tree in said natural language, said step of describing said fact tree further comprising the steps of (a) assigning variables based on said fact tree, said variables comprising root, parent, child and node, wherein said root is the root of said fact tree, said parent is the parent of said root, said child is the child of the root and said node is the number of the child using a first variable assignment method, (b) testing if a value of said parent is null using a parent test method, (c) creating text for said root using a root text creation method, responsive to a determination by said parent test method that said value of said parent is null, (d) creating text for said node using a node text creation method, responsive to a determination by said parent test method that a value of said parent is not null, (e) printing, on said display means, said text created by said root text creation method and said node text creation method using a print method, (f) counter method for counting an iteration as an iteration value, (g) determining if said iteration value is equal to a value of said node using a node test method, and (h) recursively invoking said fact tree description method using a depth-first recursive search method. - View Dependent Claims (5, 6)
-
-
7. A method for defining a query of an information system, the information system having been created using drag-and-drop information system specification means utilizing a computer language having both textual and graphical forms for translating the natural language-like constructs into object-role modeling symbology, the specification means further for entering text onto the display device utilizing the textual form of the computer language, for parsing the text into at least one of object, fact and constraint into the repository, and for forming a conceptual schema diagram representing the information system on the display device utilizing the graphical form of the computer language, and for mapping the conceptual schema to a database, the apparatus implemented on a programmable computer including memory, data entry means, data display means, a graphical user interface, and having a repository implemented thereon, the apparatus using natural language-like constructs for querying the information system and further comprising:
-
means for displaying the conceptual schema utilizing the graphical form of the computer language; drag and drop cursor control means for moving a cursor over the conceptual schema diagram, and for selecting a first object therefrom; fact tree formation means for forming a fact tree from a first object stored in the repository and displayed on the conceptual schema diagram, the first object forming the root node of a fact tree; and fact tree description means for describing the fact tree with natural language-like constructs on the data display means, utilizing the textual form of the computer language. - View Dependent Claims (8, 9)
-
-
10. Method for defining a query of an information system, the information system having been created using drag-and-drop information system specification means utilizing a computer language having both textual and graphical forms for translating the natural language-like constructs into object-role modeling symbology, the specification means further for entering text onto the display device utilizing the textual form of the computer language, for parsing the text into at least one of object, fact and constraint into the repository, and for forming a conceptual schema diagram representing the information system on the display device utilizing the graphical form of the computer language, and for mapping the conceptual schema to a database, the apparatus implemented on a programmable computer including memory, data entry means, data display means, a graphical user interface, and having a repository implemented thereon, the apparatus using natural language-like constructs for querying the information system and further comprising the steps of:
-
displaying the conceptual schema the display device utilizing the graphical form of the computer language; moving a cursor over the conceptual schema diagram with a drag and drop cursor control means, and selecting a first object from the diagram; forming a fact tree from a first object stored in the repository and displayed on the conceptual schema diagram, the first object forming the root node of a fact tree; and describing the fact tree with natural language-like constructs on the data display means utilizing the textual form of the computer language. - View Dependent Claims (11, 12)
-
Specification