Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 Composable XML Integration Grammars Xibei Jia Laboratory for Foundations of Computer Science Supervisor: Wenfei Fan 20 May 2004.

Similar presentations


Presentation on theme: "1 Composable XML Integration Grammars Xibei Jia Laboratory for Foundations of Computer Science Supervisor: Wenfei Fan 20 May 2004."— Presentation transcript:

1 1 Composable XML Integration Grammars Xibei Jia x.jia@sms.ed.ac.uk Laboratory for Foundations of Computer Science Supervisor: Wenfei Fan 20 May 2004

2 2 Schema-directed XML integration extract relevant data from distributed, multiple XML repositories construct an XML view conform to a predefined schema XML3 XML1 XML view XML2 middleware schema data exchange

3 3 Composable XML Integration A lightweight language: XML Integration Grammar (XIG) XML XIG middleware XML XIG middleware XML XIG middleware XML XIG middleware XML XIG middleware XML query result www

4 4 Our middleware for composable schema-directed integration XML data sources remote XIG XQuery engine remote XIG call execution query scheduling XQuery optimizer query merging optimizer parsing XIG XML document cost statistics data call result

5 5 XIG: XML Integration Grammar XIG: a novel specification language –Is not another query/transformation language –Rely solely on DTDs and XQuery –Provide a systematic mechanism and design tool to ensure DTD-conformance for XQuery –Can be defined using some specific XQuery fragment that allows for more optimizations than full-fledged XQuery –Composable: local/remote XIGs can be treated as functions returning XML trees and can be embedded A systematic framework for schema-directed XML integration

6 6 Example: car sale db  dealers, promotion Syn(db) = {Syn(dealers)} {Syn(promotion)} promotion  sale * Syn(promotion) = Vsale(X) dealers  dealer * Inh(dealer) =for $Y in R/dl return $Y; Syn(dealers) = { Syn(dealer) } dealer  name, address, cars Inh(name) = let $p := Inh(dealer)/Uv let $u := Inh(dealer)/U let $v = $p:Vdealer($u) return $v/dealer/name; Syn(dealer) = { Syn(name) } { Syn(address) } { Syn(cars) }

7 7 Example: car sale car  car * Inh(car)  let $s := Vsale(X) for $c in Inh(cars)/car $c1 in $s/promotion/sale where $c/make = $c1/make and $c/model = $c1/model return $c Syn(cars) = { Syn(car) } car  make, model, price, inStock Syn(car) = Inh(car) name  PCDATA /* similarly for address */ Syn(name) = Inh(name)/text();

8 8 XIG-Evaluation Algorithms Optimization techniques: nontrivial optimization problems –recursion: capture recursive DTDs and recursive XIGs –query scheduling: a cost-based algorithm for scheduling local XML queries/XIGs and remote XIGs to maximize parallelism –query merging: merge certain queries processed at the same source into a larger query to reduce communication costs –interaction between query merging and query scheduling: have to be dealt with together, a greedy heuristic algorithm –query dependency: XIGs support top-down, bottom-up and sideway information passing (implicit)


Download ppt "1 Composable XML Integration Grammars Xibei Jia Laboratory for Foundations of Computer Science Supervisor: Wenfei Fan 20 May 2004."

Similar presentations


Ads by Google