System and method for query processing of structured documents
First Claim
1. A method of processing a query for a textual document in a tagged-based language comprising:
- providing an abstract machine for searching a tree representation of the document, wherein the abstract machine has an instruction set having an ability to produce at least a portion of results;
obtaining a code for a particular node, wherein the code has been assigned by;
determining a subtree depth for the particular node within the tree representation;
determining a parent-child relationship for the particular node and for each node, if any, within the tree representation that lies between the particular node and a root node; and
determining a code for the particular node, wherein;
if the subtree depth of the particular node is less than two, the code for the particular node is a code for its closest parent node having a subtree depth of at least two; and
if the subtree depth of the particular node is at least two, the code for the particular node is selected such that when bitwise binary ANDed with a code of a parent node yields the code of the parent node, wherein the codes for the particular node and the parent node are different from each other;
using the code as part of a query;
compiling the query in a language into instructions for the abstract engine;
running the instructions on the abstract machine, wherein running is performed on the tree representation; and
receiving the at least a portion of results from the instructions that have been run.
12 Assignments
0 Petitions
Accused Products
Abstract
A computer-implemented method of retrieving information in a first markup language through a query engine and presenting the information in any required markup language. A user inputs a query and may invoke a number of transformative sequences. These sequences contain a markup language pattern and an action, which may include transforming the tags in the first markup language to tags in a different markup language. The appropriate transformative sequence is selected and the pattern from the transformative sequence is compiled. The compiled pattern is used to perform rapid and efficient searches of documents in the database. A predicate check using the binary coding of the node as well as ancestor information confirms the node. The leaf information associated with a confirmed node is then stored. If necessary, the action from the transformative sequence is applied to change the markup language of the leaf information to that of the user.
409 Citations
36 Claims
-
1. A method of processing a query for a textual document in a tagged-based language comprising:
-
providing an abstract machine for searching a tree representation of the document, wherein the abstract machine has an instruction set having an ability to produce at least a portion of results;
obtaining a code for a particular node, wherein the code has been assigned by;
determining a subtree depth for the particular node within the tree representation;
determining a parent-child relationship for the particular node and for each node, if any, within the tree representation that lies between the particular node and a root node; and
determining a code for the particular node, wherein;
if the subtree depth of the particular node is less than two, the code for the particular node is a code for its closest parent node having a subtree depth of at least two; and
if the subtree depth of the particular node is at least two, the code for the particular node is selected such that when bitwise binary ANDed with a code of a parent node yields the code of the parent node, wherein the codes for the particular node and the parent node are different from each other;
using the code as part of a query;
compiling the query in a language into instructions for the abstract engine;
running the instructions on the abstract machine, wherein running is performed on the tree representation; and
receiving the at least a portion of results from the instructions that have been run. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A computer program product for performing a method of processing a query for a textual document in a tagged-based language, the method comprising:
-
providing an abstract machine for searching a tree representation of the document, wherein the abstract machine has an instruction set having an ability to produce at least a portion of results;
obtaining a code for a particular node, wherein the code has been assigned by;
determining a subtree depth for the particular node within the tree representation;
determining parent-child relationships for the particular node and for each node if any within the tree representation that lies between the particular node and a root node, and using a code for the particular node, wherein;
if the subtree depth of the particular node is less than two, the code for the particular node is a code for its closest parent node having a subtree depth of at least two, and if the subtree depth of the particular node is at least two, the code for the particular node is selected such that when bitwise binary ANDed with a code of a parent node vields the code of the parent node, wherein the codes for the particular node and the parent node are different from each other; and
using the code as part of a query;
compiling the query in a language into instructions for the abstract engine;
running the instructions on the abstract machine, wherein running is performed on the tree representation; and
receiving the at least a portion of results from the instructions that have been run. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A method of establishing codes for nodes of a tree representation of a document comprising:
-
determining a subtree depth for each node within the tree representation;
determining parent-child relationships for each node within the tree representation; and
assigning a code for each node, wherein the code includes at least the following;
for a root node, assigning a first code; and
for all other nodes;
having a subtree depth of at least two, assigning at least a second code that is different from the first code; and
having a subtree depth of less than two, assigning a code for such node such that its code is a code of its closest parent node having a subtree depth of at least two. - View Dependent Claims (14, 15)
the tree representation includes a second node, a third node, and a fourth node, wherein;
the second node is an immediate parent of the third node; and
the third node is an immediate parent of the fourth node; and
the second node, the third node, and the fourth node have a same code.
-
-
15. The method of claim 13, wherein:
-
the all other nodes include a second node having a subtree depth of at least two;
the root node is a parent of the second node;
a code for the second node when bitwise binary ANDed with the first code yields the first code; and
the code of the second node and the first code are different from each other.
-
-
16. A computer program product for performing a method of establishing codes for nodes of a tree representation of a document, the method comprising:
-
determining a subtree depth for each node within the tree representation;
determining parent-child relationships for each node within the tree representation; and
assigning a code for each node, wherein the code includes at least the following;
for a root node, assigning a first code; and
for all other nodes;
having a subtree depth of at least two, assigning at least a second code that is different from the first code; and
having a subtree depth of less than two, assigning a code for such node such that its code is a code of its closest parent node having a subtree depth of at least two. - View Dependent Claims (17, 18)
the tree representation includes a second node, a third node, and a fourth node, wherein;
the second node is an immediate parent of the third node; and
the third node is an immediate parent of the fourth node; and
the second node, the third node, and the fourth node have a same code.
-
-
18. The computer program product of claim 16, wherein:
-
the all other nodes include a second node having a subtree depth of at least two;
the root node is a parent of the second node;
a code for the second node when bitwise binary ANDed with the first code yields the first code; and
the code of the second node and the first code are different from each other.
-
-
19. A method of processing a query of a tree representation of a document comprising:
-
obtaining a code for a particular node, wherein the code has been assigned by;
determining a subtree depth for the particular node within the tree representation;
determining parent-child relationships for the particular node and for each node, if any, within the tree representation that lies between the particular node and a root node; and
determining a code for the particular node, wherein;
if the subtree depth of the particular node is less than two, the code for the particular node is a code for its closest parent node having a subtree depth of at least two; and
if the subtree depth of the particular node is at least two, the code for the particular node is another code;
using the code as part of the query;
submitting the query; and
receiving at least a portion of results from the query. - View Dependent Claims (20, 21)
the tree representation includes a second node and a third node, wherein;
the second node is a parent of the third node; and
the third node is a parent of the particular node; and
the second node, the third node, and the particular node have a same code.
-
-
21. The method of claim 19, wherein:
-
the particular node has a subtree depth of at least two;
the particular node has a parent node; and
the another code is selected such that a bitwise binary ANDing of the another code with a code of the parent node yields the code of the parent node.
-
-
22. A computer program product for performing a method of processing a query for a document, the method comprising:
-
obtaining a code for a particular node, wherein the code has been assigned by;
determining a subtree depth for the particular node within the tree representation; and
determining a code for the particular node, wherein;
if the subtree depth of the particular node is less than two, the code for the particular node is a code for its closest parent node having a subtree depth of at least two; and
if the subtree depth of the particular node is at least two, the code for the particular node is another code;
using the code as part of the query; and
submitting the query. - View Dependent Claims (23, 24)
the tree representation includes a second node and a third node, wherein;
the second node is a parent of the third node; and
the third node is a parent of the particular node; and
the second node, the third node, and the particular node have a same code.
-
-
24. The computer program product of claim 22, wherein:
-
the particular node has a subtree depth of at least two;
the particular node has a parent node;
the another code is selected such that a bitwise binary ANDing of the another code with a code of the parent node yields the code of the parent node; and
the second node with the code of the root note yields the code of the root node.
-
-
25. A method of establishing codes for nodes of a tree representation of a document comprising:
-
determining parent-child relationships for each node within the tree representation; and
assigning a code for each node, wherein the code includes at least the following;
for a root node, assigning a first code; and
for all other nodes, assigning other codes, wherein;
if the each node has only one parent node, a code for the each node is selected such that when bitwise binary ANDed with a code for the parent node, yields the code for the parent node; and
if the each node has more than one parent node, a code for the each node is selected such that when bitwise binary ANDed with a code from each of codes for the parent nodes, yields the code from the each of codes for the parent nodes. - View Dependent Claims (26, 27)
the method further comprises determining subtree depths for the all other nodes; and
for each node of the all other nodes having a subtree depth of less than two, assigning a code of its closest parent node having a subtree depth of at least two as its code.
-
-
27. The method of claim 25, wherein:
-
the tree representation includes a first node, a second node, and a third node, wherein;
the first node is an immediate parent of the second node; and
the second node is an immediate parent of the third node; and
the first node, the second node, and the third node have a same code.
-
-
28. A computer program product for performing a method of establishing codes for nodes of a tree representation of a document, the method comprising:
-
determining parent-child relationships for each node within the tree representation; and
assigning a code for each node, wherein the code includes at least the following;
for a root node, assigning a first code; and
for all other nodes, assigning other codes, wherein;
if the each node has only one parent node, a code for the each node is selected such that when bitwise binary ANDed with a code for the parent node, yields the code for the parent node; and
if the each node has more than one parent node, a code for the each node is selected such that when bitwise binary ANDed with a code from each of codes for the parent nodes, yields the code from the each of codes for the parent nodes. - View Dependent Claims (29, 30)
the method further comprises determining subtree depths for the all other nodes; and
for each node of the all other nodes having a subtree depth of less than two, assigning a code of its closest parent node having a subtree depth of at least two as its code.
-
-
30. The computer program product of claim 28, wherein:
-
the tree representation includes a first node, a second node, and a third node, wherein;
the first node is an immediate parent of the second node; and
the second node is an immediate parent of the third node; and
the first node, the second node, and the third node have a same code.
-
-
31. A method of processing a query of a tree representation of a document comprising:
-
obtaining a code for a particular node, wherein the code has been assigned by;
determining parent-child relationships for the particular node and for each node, if any, within the tree representation that lies between the particular node and a root node; and
determining a code for the particular node, wherein;
if the particular node has only one parent node, a code for the particular node when bitwise binary ANDed with a code for the parent node, yields the code for the parent node; and
if the particular node has more than one parent node, a code for the particular node is selected such that when bitwise binary ANDed with a code from each of codes for the parent nodes, yields the code from the each of codes for the parent nodes;
using the code as part of the query;
submitting the query; and
receiving at least a portion of results from the query. - View Dependent Claims (32, 33)
the method further comprises determining a subtree depth of the particular node; and
determining the code for the particular node, wherein;
if the subtree depth of the particular node is less than two, the code for the particular node is a code the particular node'"'"'s closest parent node having a subtree depth of at least two;
if the subtree depth of the particular node is at least two, the code for the particular node is different from a code of its immediate parent node.
-
-
33. The method of claim 31, wherein:
-
the tree representation includes a second node and a third node, wherein;
the second node is a parent of the third node; and
the third node is a parent of the particular node; and
the second node, the third node, and the particular node have a same code.
-
-
34. A computer program product for performing a method of processing a query for a document, the method comprising:
-
obtaining a code for a particular node, wherein the code has been assigned by;
determining parent-child relationships for the particular node and for each node, if any, within the tree representation that lies between the particular node and a root node; and
determining a code for the particular node, wherein;
if the particular node has only one parent node, a code for the particular node when bitwise binary ANDed with a code for the parent node, yields the code for the parent node; and
if the particular node has more than one parent node, a code for the particular node is selected such that when bitwise binary ANDed with a code from each of codes for the parent nodes, yields the code from the each of codes for the parent nodes;
using the code as part of the query;
submitting the query; and
receiving at least a portion of results from the query. - View Dependent Claims (35, 36)
the method further comprises determining a subtree depth of the particular node; and
determining the code for the particular node, wherein;
if the subtree depth of the particular node is less than two, the code for the particular node is a code the particular node'"'"'s closest parent node having a subtree depth of at least two; and
if the subtree depth of the particular node is at least two, the code for the particular node is different from a code of its immediate parent node.
-
-
36. The computer program product of claim 34, wherein:
-
the tree representation includes a second node and a third node, wherein;
the second node is a parent of the third node; and
the third node is a parent of the particular node; and
the second node, the third node, and the particular node have a same code.
-
Specification