Efficient traversals over hierarchical data and indexing semistructured data
First Claim
1. In a storage medium used by a database file management system executed on data processing system, a data structure comprising:
- an index, partitioned into blocks, over keys representing hierarchical data;
leaf blocks of said index are associated with data records;
said hierarchical data is represented by keys of type K(i) as a parent and for each parent 0 or more children of the type K(i)+J(1) . . . K(i)+J(n);
in order to satisfy a query for parents data, it is possible to traverse from a link of a parent K(i) to a link of the sequentially next parent K(i+1), skipping over links to the children K(i)+J(1) . . . K(i)+J(n);
to satisfy a query for a parent and his children, the index further supports a traversal from K(i) to the children J(1) . . . J(n) of said K(i);
said index maintains the key order;
said index constitutes an essentially balanced structure of blocks.
3 Assignments
0 Petitions
Accused Products
Abstract
A method for encoding hierarchical data stored in an index, partitioned into blocks, over keys representing the data. For every key K representing a record R in the index, the key of the children records of record R are prefixed with K. The method includes traversing to a first R record represented in the index, traversing from the record R to the next sequential R such that the path in the index from the position representing R to the position representing the next sequential R does not include information relating to the children of R. Next, repeating the latter operation for 0 or more R records, and for any 0 or more particular R records, traversing from the particular R to its children. The index constitutes a balanced structure of blocks.
149 Citations
34 Claims
-
1. In a storage medium used by a database file management system executed on data processing system, a data structure comprising:
- an index, partitioned into blocks, over keys representing hierarchical data;
leaf blocks of said index are associated with data records;
said hierarchical data is represented by keys of type K(i) as a parent and for each parent 0 or more children of the type K(i)+J(1) . . . K(i)+J(n);
in order to satisfy a query for parents data, it is possible to traverse from a link of a parent K(i) to a link of the sequentially next parent K(i+1), skipping over links to the children K(i)+J(1) . . . K(i)+J(n);
to satisfy a query for a parent and his children, the index further supports a traversal from K(i) to the children J(1) . . . J(n) of said K(i);
said index maintains the key order;
said index constitutes an essentially balanced structure of blocks. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 30, 31, 32, 33, 34)
- an index, partitioned into blocks, over keys representing hierarchical data;
-
11. In a storage medium used by a database file management system executed on data processing system, that includes:
- a tree based index, partitioned into blocks, over keys representing hierarchical data;
said keys include keys of parent records;
one or more parent records have children such that a key of each child record is prefixed by the key of its parent;
said index includes a sub-index such that the sub-index is an index over the keys of the children of a parent;
said index maintains an essentially balanced structure of blocks;
a method for searching in the index by a key;
said key is the prefix of the key of one or more parents including;
retrieving a first parent;
said method is further capable, if the first parent has children, to retrieve the children of said first parent;
said method is further capable, if a next parent is available, to retrieve the next parent skipping over the children of the first parent. - View Dependent Claims (12, 13, 14, 15, 16, 17)
- a tree based index, partitioned into blocks, over keys representing hierarchical data;
-
18. A method for encoding hierarchical data using an index partitioned into blocks, over the keys representing the data;
-
for every key K representing a record R in said index, the key of the children records of R are prefixed with K;
the method comprising;
(i) traversing to a first R record represented in the index;
(ii) traversing from said R to the next sequential R such that the path in the index from the position representing R to the position representing the next sequential R does not include information relating to the children of R;
(iii) repeating step (ii) for 0 or more R records;
(iv) for any 0 or more particular R records, traversing from the particular R to its children;
said index constitutes a balanced structure of blocks. - View Dependent Claims (19, 20, 21, 22, 23, 24, 25)
-
-
26. A method for encoding semi-structured data and/or hierarchical data, comprising a layered index partitioned into blocks over keys representing the said data;
-
the leaf layer of the said layered index includes at least a sparse trie;
the method comprising performing a range search such that nodes are traversed depth first post order;
said range search process is capable to identify and ignore sub-tries that index keys not relevant to a search criterion. said index constitutes an essentially balanced structure of blocks. - View Dependent Claims (27, 28, 29)
-
Specification