70 likes | 169 Views
A Storage System for D(k)-Index. Detail Design 19981239 Kim, Han-ok. Block Diagram. UI. Query. XML. XML Parser. Query Manager. Result. Label-Split Graph. Refined Query. Index Manager. Storage. User Interface. Input URI of XML Document Query Output Result Set Running Time.
E N D
A Storage System forD(k)-Index Detail Design 19981239 Kim, Han-ok
Block Diagram UI Query XML XML Parser Query Manager Result Label-Split Graph Refined Query Index Manager Storage
User Interface • Input • URI of XML Document • Query • Output • Result Set • Running Time
Index Manager • Local Similarity Broadcasting • Sort all local similarities in the Label-Split Graph G, k1 > k2 > … > kt, for each ki, attach a list of label nodes with local similarity requirement ki. • For each ki from k1 to kt repeat: • For each label node nj in the list for ki, update the local similarities of all parents of nj in G, so their new local similarities are no less than (ki– 1) • Update the local similarity list and their attached label nodes lists
Index Manager (Cont’d) • D(k)-Index Construction • Local Similarity Broadcasting -> G • Let X be a copy of G • For each index node ni in X, if the local similarity requirement ≥ k, • For each parent node nj in G with ni in X • Replace the node ni in G with ni ∩ Succ(nj) and ni- Succ(nj), where Succ(nj) is set of successors of nj • Update the edges in G • Set the local similarity requirements to newly created index nodes by inheritance • X = updated G
Index Manager (Cont’d) • Storing • Store the Structure of the Index Graph using Serialization • Store corresponding local similarity requirements and oids using Hash Function
Query Manager • Analyze Regular Path Expressions • Transform Regular Path Expressions into XMark Queries