Efficient queribility and manageability of an XML index with path subsetting
First Claim
1. A method for determining whether an input path matches a path subsetting rule used to create a path-based index for a set of XML documents, wherein the path subsetting rule includes a set of path expressions, said set of path expressions represented by a finite state machine, said finite state machine including a plurality of states and a start state, said method comprising the computer-implemented steps of:
- (a) receiving an input path comprised of a sequence of location step components;
(b) setting a current state of the finite state machine to the start state;
(c) setting a current location step component to a first location step component of the input path;
d) setting the current state of the finite state machine to a state determined by traversing the finite state machine for the current location step component;
(e) if the current state of the finite state machine is an accepting state, determining that the received input path matches the path subsetting rule, and if the current state of the finite state machine is not an accepting state, performing the steps of;
(i) if there is a next location step component in the input path, then setting the current path expression component to the next location step component and repeating steps (d) and (e); and
(ii) if there is not a next location step component in the input path, then determining that the input path does not match the path subsetting rule.
1 Assignment
0 Petitions
Accused Products
Abstract
A method and system are provided for determining whether a given path is an indexed path of XML documents stored in a database management system. A finite state machine is built using the path subsetting rules specified by a user. The finite state machine is traversed using the given path. If any accepting states are reached during the traversal of the finite state machine, the given path is determined to matching the path subsetting rules.
-
Citations
38 Claims
-
1. A method for determining whether an input path matches a path subsetting rule used to create a path-based index for a set of XML documents, wherein the path subsetting rule includes a set of path expressions, said set of path expressions represented by a finite state machine, said finite state machine including a plurality of states and a start state, said method comprising the computer-implemented steps of:
-
(a) receiving an input path comprised of a sequence of location step components; (b) setting a current state of the finite state machine to the start state; (c) setting a current location step component to a first location step component of the input path; d) setting the current state of the finite state machine to a state determined by traversing the finite state machine for the current location step component; (e) if the current state of the finite state machine is an accepting state, determining that the received input path matches the path subsetting rule, and if the current state of the finite state machine is not an accepting state, performing the steps of; (i) if there is a next location step component in the input path, then setting the current path expression component to the next location step component and repeating steps (d) and (e); and (ii) if there is not a next location step component in the input path, then determining that the input path does not match the path subsetting rule. - View Dependent Claims (2, 3, 4, 5, 6, 19, 20, 21, 22, 23, 24)
-
-
7. A method of determining whether an input path matches a path subsetting rule that is used to create a path-based index for a set of XML documents, said method comprising the computer-implemented steps of:
-
receiving, from a user, a command that includes the path subsetting rule, wherein the path subsetting rule specifies a set of paths that identify a set of nodes, in the set of XML documents, that are to be indexed; creating the path-based index for the set of XML documents based on the path subsetting rule, wherein creating the path-based index comprises creating a finite state machine that represents the path subsetting rule; traversing the finite state machine using the input path; and if an accepting state of the finite state machine is reached while traversing the finite state machine, then determining that the input path matches the path subsetting rule. - View Dependent Claims (8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38)
-
Specification