Patent US6654734B1 successfully refreshed from Google Patents.
← Back to Patent Explorer
US6654734B1 Expired / Lapsed US ⏱️ 0.0 years remaining

System and method for query processing and optimization for XML repositories

Assignee: Google LLC
•
Filing: 2000-08-30
•
Granted: 2003-11-25
•
Expires: 2020-08-30
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A computer program product is provided as a system for querying a repository of XML documents. The data in the XML documents are viewed by a query system as a graph that allows queries on content, structure, inter-document links, and intra-document links. The query language uses XML syntax and is based on tree pattern match semantics. The features of the query language allow the query system to compute a DTD for the query language and to use it to validate the user query formulation. Query optimization is done using schema-based optimization and index based optimization. Optimization uses the schema for (a) minimizing the number of documents on which the query need to be executed; (b) eliminating redundant conditions specified in the query; and (c) simplifying expensive query constructs. The query system maintains three sets of indices for each XML document: (a) value indices corresponding to text; (b) structure indices corresponding to tree structure patterns; and (c) link indices corresponding to link relationships.

Inventors

  • 👤 Murali Mani
  • 👤 Neelakantan Sundaresan

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-09 10:51
CPC Classifications
G; G06; G06F; G06F16/00; G06F16/90; G06F16/95; Y; Y10; Y10S; Y10S707/00; Y10S707/99931; Y10S707/99932

Claims Analysis

Total Claims: 25
Claim 1
Independent Claim 159 words
A query processing method for querying a plurality of hierarchical documents having corresponding schemas and contents, comprising: extracting structural relationship sets from the schemes; comparing a query against the structural relationship sets to determine if the query is to be executed on the hierarchical documents; and optimizing the query processing by filtering documents from the plurality of hierarchical documents that will produce an empty result; wherein optimizing the query processing comprises maintaining an indexing structure for tree pattern matching; wherein, for each non-filtered document, the indexing structure comprises three indices: a value index that corresponds to a document content; a structure index that corresponds to a tree structure pattern of the non-filtered document; and a link index that corresponds to link relationships between the non-filtered document and the plurality of hierarchical documents; and wherein optimizing the query processing further comprises, for each non-filtered document: organizing the three indices as a trie; and querying the trie using tree pattern matching.
Claim 2
Dependent Claim 159 words
A query processing method for querying a plurality of hierarchical documents having corresponding schemas and contents, comprising: extracting structural relationship sets from the schemes; comparing a query against the structural relationship sets to determine if the query is to be executed on the hierarchical documents; and optimizing the query processing by filtering documents from the plurality of hierarchical documents that will produce an empty result; wherein optimizing the query processing comprises maintaining an indexing structure for tree pattern matching; wherein, for each non-filtered document, the indexing structure comprises three indices: a value index that corresponds to a document content; a structure index that corresponds to a tree structure pattern of the non-filtered document; and a link index that corresponds to link relationships between the non-filtered document and the plurality of hierarchical documents; and wherein optimizing the query processing further comprises, for each non-filtered document: organizing the three indices as a trie; and querying the trie using tree pattern matching.
Claim 3
Dependent Claim 25 words
The query processing method of claim 1 , wherein optimizing the query processing further further comprises eliminating the documents that will produce an empty result.
Claim 4
Dependent Claim 24 words
The query processing method of claim 1 , wherein optimizing the query processing comprises removing redundant query constraints, and simplifying complex constraints, if any.
Claim 5
Dependent Claim 27 words
The query processing method of claim 3 , wherein optimizing the query processing comprises determining if a query constraint will always be true, and removing such constraint.
Claim 6
Dependent Claim 23 words
The query processing method of claim 3 , wherein optimizing the query processing further comprises simplifying complex query constraints into simpler query constraints.
Claim 7
Dependent Claim 59 words
The query processing method of claim 5 , further comprising: precomputing results for tree structure patterns of the non-filtered documents; converting the tree structure patterns into strings; storing the strings as part of the trie; storing the precomputed results corresponding to each string as part of the indexing structure; and optimizing the query processing by querying the indexing structure.
Claim 8
Dependent Claim 17 words
The query processing method of claim 6 , further comprising precomputing results for common tree structure patterns.
Claim 9
Dependent Claim 28 words
The query processing method of claim 7 , wherein precomputing results comprising converting the tree structure patterns into strings, and maintaining a result for each tree structure pattern.
Claim 10
Dependent Claim 18 words
The query processing method of claim 7 , wherein optimizing the query processing the documents comprise XML documents.
Claim 11
Dependent Claim 228 words
A query system for querying a plurality of hierarchical documents having corresponding schemas and contents, comprising: a preprocessor comprising a relation set generator that computes structural relationship sets between elements and attributes of a schema, and an indexer that computes values and structure indices; and a query processor for performing a query and returning a result set, comprising: a query optimizer that builds an execution plan for a document; and a query executor that executes the execution plan; wherein the query processor compares the query against the structural relationship sets to determine if the query is to be executed on the documents; and wherein the query processor optimizes a query processing by filtering documents that will produce an empty result; wherein the query processor optimizes by using the indices instead of executing the query on the actual documents; wherein the query processor maintains an indexing structure for tree pattern matching; wherein, for each non-filtered document, the indexing structure comprises three indices: a value index that corresponds to a document content; a structure index that corresponds to a tree structure pattern of the non-filtered document; and a link index that corresponds to link relationships between the non-filtered document and the plurality of hierarchical documents; and wherein, for each non-filtered document, the query processor further organizes the three indices as a trie; and queries the trie using tree pattern matching.
Claim 12
Dependent Claim 228 words
A query system for querying a plurality of hierarchical documents having corresponding schemas and contents, comprising: a preprocessor comprising a relation set generator that computes structural relationship sets between elements and attributes of a schema, and an indexer that computes values and structure indices; and a query processor for performing a query and returning a result set, comprising: a query optimizer that builds an execution plan for a document; and a query executor that executes the execution plan; wherein the query processor compares the query against the structural relationship sets to determine if the query is to be executed on the documents; and wherein the query processor optimizes a query processing by filtering documents that will produce an empty result; wherein the query processor optimizes by using the indices instead of executing the query on the actual documents; wherein the query processor maintains an indexing structure for tree pattern matching; wherein, for each non-filtered document, the indexing structure comprises three indices: a value index that corresponds to a document content; a structure index that corresponds to a tree structure pattern of the non-filtered document; and a link index that corresponds to link relationships between the non-filtered document and the plurality of hierarchical documents; and wherein, for each non-filtered document, the query processor further organizes the three indices as a trie; and queries the trie using tree pattern matching.
Claim 13
Dependent Claim 16 words
The query system of claim 10 , wherein the query processor further comprises a result consolidator.
Claim 14
Dependent Claim 28 words
The query system of claim 11 , wherein the query processor further comprises: a schema extractor for extracting structural relationship sets from the schemas; and an indexing system.
Claim 15
Dependent Claim 48 words
The query system of claim 10 , wherein the query processor optimizes the query processing by determining if the query to be executed on the hierarchical documents will produce an empty result, and eliminating all the documents conforming to the common schema that will produce an empty result.
Claim 16
Dependent Claim 28 words
The query system of claim 10 , wherein the query processor further optimizes the query processing by removing redundant query constraints, and by simplifying complex constraints, if any.
Claim 17
Dependent Claim 55 words
The query system of claim 12 , wherein the preprocessor further optimizes the query processing by: precomputing results for tree structure patterns; converting the tree structure patterns into strings; storing the strings as a trie; storing the precomputed results corresponding to each string as an index; and optimizing the query processing by querying the index.
Claim 18
Dependent Claim 14 words
The query system of claim 15 , wherein the hierarchical documents comprise XML documents.
Claim 19
Dependent Claim 254 words
A query system having instruction codes for querying a plurality of hierarchical documents having corresponding schemas and contents, comprising: a preprocessor comprising a first set of instruction codes for computing structural relationship sets between elements and attributes of a schema, and a second set of instruction codes for computing values and structure indices; a query processor for performing a query and returning a result set, comprising: a third set of instruction codes for building an execution plan for a document; and a fourth set of instruction codes for executing the execution plan; a fifth set of instruction codes for comparing the query against the structural relationship sets to determine if the query is to be executed on the documents; and a sixth set of instruction codes for optimizing a query processing by filtering documents that will produce an empty result; a seventh set of instruction codes for optimizing by using the indices instead of executing the query on the actual documents; an eight set of instruction codes for maintaining an indexing structure for tree pattern matching; wherein, for each non-filtered document, the indexing structure comprises three indices: a value index that corresponds to a document content; a structure index that corresponds to a tree structure pattern of the non-filtered document; and a link index that corresponds to link relationships between the non-filtered document and the plurality of hierarchical documents; and wherein, for each non-filtered document, the query processor further organizes the three indices as a trie; and queries the trie using tree pattern matching.
Claim 20
Dependent Claim 254 words
A query system having instruction codes for querying a plurality of hierarchical documents having corresponding schemas and contents, comprising: a preprocessor comprising a first set of instruction codes for computing structural relationship sets between elements and attributes of a schema, and a second set of instruction codes for computing values and structure indices; a query processor for performing a query and returning a result set, comprising: a third set of instruction codes for building an execution plan for a document; and a fourth set of instruction codes for executing the execution plan; a fifth set of instruction codes for comparing the query against the structural relationship sets to determine if the query is to be executed on the documents; and a sixth set of instruction codes for optimizing a query processing by filtering documents that will produce an empty result; a seventh set of instruction codes for optimizing by using the indices instead of executing the query on the actual documents; an eight set of instruction codes for maintaining an indexing structure for tree pattern matching; wherein, for each non-filtered document, the indexing structure comprises three indices: a value index that corresponds to a document content; a structure index that corresponds to a tree structure pattern of the non-filtered document; and a link index that corresponds to link relationships between the non-filtered document and the plurality of hierarchical documents; and wherein, for each non-filtered document, the query processor further organizes the three indices as a trie; and queries the trie using tree pattern matching.
Claim 21
Dependent Claim 16 words
The query system of claim 17 , wherein the query processor further comprises a result consolidator.
Claim 22
Dependent Claim 28 words
The query system of claim 18 , wherein the query processor further comprises: a schema extractor for extracting structural relationship sets from the schemas; and an indexing system.
Claim 23
Dependent Claim 48 words
The query system of claim 17 , wherein the query processor optimizes the query processing by determining if the query to be executed on the hierarchical documents will produce an empty result, and eliminating all the documents conforming to the common schema that will produce an empty result.
Claim 24
Dependent Claim 28 words
The query system of claim 17 , wherein the query processor further optimizes the query processing by removing redundant query constraints, and by simplifying complex constraints, if any.
Claim 25
Dependent Claim 55 words
The query system of claim 19 , wherein the preprocessor further optimizes the query processing by: precomputing results for tree structure patterns; converting the tree structure patterns into strings; storing the strings as a trie; storing the precomputed results corresponding to each string as an index; and optimizing the query processing by querying the index.

References Cited (Backward Citations)

US6463440B1 Cited
US20020169788A1 Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2006-11-24 2007-05-26 2007-11-25 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2010-11-24 2011-05-26 2011-11-25 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2014-11-24 2015-05-26 2015-11-25 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag