Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 Converting Disjunctive Data to Disjunctive Graphs Lars Olson Data Extraction Group Funded by NSF.

Similar presentations


Presentation on theme: "1 Converting Disjunctive Data to Disjunctive Graphs Lars Olson Data Extraction Group Funded by NSF."— Presentation transcript:

1 1 Converting Disjunctive Data to Disjunctive Graphs Lars Olson Data Extraction Group Funded by NSF

2 2 Introduction Disjunctive databases –Needed to represent disjunctive data –Queries are CoNP-complete in general [Imielinski and Vadaparty, 1989] Transitive closure in disjunctive graphs –CoNP-complete in general –Polynomial time, under certain circumstances [Lobo et. al, 1995]

3 3 The Problem How do we convert the data into a disjunctive graph? What is the complexity of the conversion? –Time –Space / Memory

4 4 Implementation XML data repository –Shore / Niagara (Univ. of Wisconsin) –Xerces XML parser (Apache.org) How do we represent a disjunctive database in storage? –Needs to be easy to convert to disjunctive graph –Needs to minimize the changes to the DTD and thus, the existing data

5 5 XML → Graph Conversion XML → DOM tree... A B doc Node B EdgeTo Use primary key to distinguish doc→Node edges Use foreign key to perform join (EdgeTo.ref = Node.name) :A :B

6 6 Disjunctions in XML, 1 st Case... A B C D …but how do we represent a disjunctive tail?

7 7 Disjunctions in XML, 1 st Case... or… E F G H E F G doc H

8 8 Disjunctions in XML, 2 nd Case... E F G What if the disjunction isn’t the full cross-product? H

9 9 Disjunctions in XML, 3 rd Case... I J K L

10 10 Time and Space Complexity n = # of nodes in DOM tree –counts edges as well –not necessarily proportional to # of values in the database Ordinary XML: traverse tree, add edges. Distinguish records with primary keys, add edges for foreign keys. O(n) time, O(n) space.

11 11 Time and Space Complexity : same, except only one edge to all children. O(n), O(n). with and : traverse tree, add and elements to a list, add one edge, repeat for each Tail/Head pair. O(n), O(n).

12 12 Summary We need to introduce new XML constructs: – – Helper constructs and Three cases – simple tail, compound head – full cross-product – partial cross-product Time and space requirements consistent with the transitive closure algorithm

13 13 Future Work Solving path queries Adding XML constructs for more complicated disjunctions e.g. Tail (A or B), Head ((C and D) or E) Determining frequency of disjunctive data in real-world data Developing a normal form for disjunctive XML –Minimize redundancy –Minimize disjunctive tails


Download ppt "1 Converting Disjunctive Data to Disjunctive Graphs Lars Olson Data Extraction Group Funded by NSF."

Similar presentations


Ads by Google