' $ Y our Mediators Need Data Con v ersion! SIGMOD'98, Seattle, W ashington Y our Mediators Need Data Con v ersion! Sophie Cluet, Claude Delob el, J � er^ ome Sim � eon and Katarzyna Smaga V erso Datab ase Gr oup LRI INRIA R o c quenc ourt Universit � e Paris XI, Orsay & % Y A T T eam 1
' $ Y our Mediators Need Data Con v ersion! SIGMOD'98, Seattle, W ashington Con text More and more applications require: to use the same data in di�eren t formats (e.g. � rtf2L T X, L T X2HTML etc); A A E E to in tegrate existing data from legacy sources (with � W rapp ers and Mediators); to o�er W eb in terfaces (e.g. O W eb, Strudel, � 2 A raneus etc). = all this requires con v ersion capabilities b et w een ) heterogeneous sources. & % Y A T T eam 2
' $ Y our Mediators Need Data Con v ersion! SIGMOD'98, Seattle, W ashington Con text Abiteb oulCluetMilo (ICDT'97) presen t a language to de�ne corresp ondences and translations. But on real application (e.g. O W eb) w e w an t: 2 p o w erful manipulation of collections (lists, ); : : : � adaptable t yping; � customization! � = W e prop ose a complete system to design and implemen t ) con v ersion-based soft w are. & % Y A T T eam 3
' $ Y our Mediators Need Data Con v ersion! SIGMOD'98, Seattle, W ashington Outline The Y A T System for data con v ersion � Y A T data mo del . A Con v ersion Language: Y A TL . Reusing Y A TL programs . Protot yp e . Conclusion and future w ork � & % Y A T T eam 4
' $ Y our Mediators Need Data Con v ersion! SIGMOD'98, Seattle, W ashington Scenario RDBMS YAT/relationnal OODBMS import wrapper (1) YATL translation rel+XML −> odmg YAT/ODMG import/export wrapper XML files HTML files YATL translation odmg −> html (2) YAT/XML import wrapper YAT/HTML export YAT patterns wrapper (middleware) & % Y A T T eam 5
' $ Y our Mediators Need Data Con v ersion! SIGMOD'98, Seattle, W ashington Outline The Y A T System for data con v ersion � Y A T data mo del I A Con v ersion Language: Y A TL . Reusing Y A TL programs . Protot yp e . Conclusion and future w ork � & % Y A T T eam 6
' $ Y our Mediators Need Data Con v ersion! SIGMOD'98, Seattle, W ashington The Y A T mo del semistructured data mo del lik e in [A CM97 ]: ordered lab eled � trees, with names (= iden tit y) that w e call p atterns . new constructs to allo w represen tation of abstract lev els: � { lab els for t yp es; edges' annotations to describ e m ultiple c hildren; { union. { instantiation mec hanism to describ e the link b et w een di�eren t � represen tation lev els. = a semistructured data mo del with �exible t yping. ) & % Y A T T eam 7
' $ Y our Mediators Need Data Con v ersion! SIGMOD'98, Seattle, W ashington Example 1: F rom general to sp eci�c Any Any class Yat: &Yat Pclass : * Symbol * Yat Symbol Ptype Ptype : {set, list, tuple Int v String &Pclass bag, array} * * Symbol Ptype The YAT model The ODMG model Ptype class ......... class ........ Pcar : c1: car car name desc suppliers name desc suppliers String String set set "Golf" "The 1995 Volkswagen Golf GTI ..." * & &Psup % &s1 &s2 The Car Schema model The Golf GTI model Y A T T eam 8
' $ Y our Mediators Need Data Con v ersion! SIGMOD'98, Seattle, W ashington Example 2: Mixing structure and less structure Pbr: brochure Pfield: Symbol Symbol * * Pfield number title model desc suppliers String Pfield * Int String Int String supplier name address String String The XML publication model HtmlPage: HtmlElement: String html h1 ul a * head body content href li String * * title HtmlElement HtmlElement &HtmlPage String String & A subset of the HTML model % Y A T T eam 9
' $ Y our Mediators Need Data Con v ersion! SIGMOD'98, Seattle, W ashington Adv an tages Allo ws t yp e-c hec king; � Allo ws to write programs at v arious lev els of � represen tation; Base of the customization pro cess; � allo ws to coheren tly com bine (in parallel) or comp ose � (in sequence) con v ersion programs. & % Y A T T eam 10
' $ Y our Mediators Need Data Con v ersion! SIGMOD'98, Seattle, W ashington Outline The Y A T System for data con v ersion � Y A T data mo del . A Con v ersion Language: Y A TL I Reusing Y A TL programs . Protot yp e . Conclusion and future w ork � & % Y A T T eam 11
' $ Y our Mediators Need Data Con v ersion! SIGMOD'98, Seattle, W ashington The Y A T con v ersion language (Y A TL) rule-based, declarativ e language with � pattern-matc hing; explicit Sk olem functions (for id creation); � managemen t of collections t yp es (set, bag, list); � abilit y to represen t rules graphically; � mak es use of the Y A T mo del t yping abilities (through � t yp e c hec king and sev eral customization mec hanisms). & % Y A T T eam 12
' $ Y our Mediators Need Data Con v ersion! SIGMOD'98, Seattle, W ashington Y A TL examples (1) F r om XML br o chur es to c ar obje cts P br : e h ! ! br ochur number N um; ( P ) ! ! P car br : titl e T ; ! h ! ! ! ! cl ass car name N ; model Y ear ; ! ! ( = ! ! desc D ; desc D ; ? ! ! ! suppl ier s suppl s suppl ier fg ! set ! & P sup ( S N ) i h ! name ! S N ; ! ! Add i ; addr ess ? ! ield i ; P f Y ear > 1980, getname( T ) N is & % Y A T T eam 13
' $ Y our Mediators Need Data Con v ersion! SIGMOD'98, Seattle, W ashington Y A TL examples (2) b1: brochure c1: class car number title model desc suppliers options name desc suppliers 1 "Golf" 1995 "The Golf ..." supplier fun security set "radio" "ABS" "Golf" "The Golf ..." name address "VW "Bd Lenoir, &s1 Center" 75005 Paris" c2: class b2: brochure car number title model desc suppliers option name desc suppliers 2 "Golf 1997 "The new supplier supplier "TV" GTI" Golf GTI..." "Golf GTI" "The new set Golf GTI..." name address name address "VW2" "Bd Leblanc, &s2 &s1 "VW "Bd Lenoir, 78000 Center" 75005 Paris" & % Input Brochures Output Cars Versailles" Y A T T eam 14
' $ Y our Mediators Need Data Con v ersion! SIGMOD'98, Seattle, W ashington Y A TL examples: Collection managemen t Matrix T r ansp osition (r e quir es or dering and gr ouping) [] [] I J J I ( I d ) ! ! ! ( = ! ! ! N ew : M at Y X A I d : M at X Y A sales sales paris nice caen Polo Golf paris nice caen paris nice caen Polo Golf Polo Golf Polo Golf 100 110 20 22 300 330 100 20 300 110 22 330 & % Y A T T eam 15
' $ Y our Mediators Need Data Con v ersion! SIGMOD'98, Seattle, W ashington T yp e c hec king p ossibilities in Y A TL A con v ersion program has input/output mo dels. It is p ossible to statically infer the input/output mo dels of a con v ersion program. Sev eral w a ys to use this information: c hec k generated data with regards to output wrapp er(s); � v erify the coherence when com bining/comp osing programs; � turning t yp e/c hec king on/o� at run time. � & % Y A T T eam 16
' $ Y our Mediators Need Data Con v ersion! SIGMOD'98, Seattle, W ashington Outline The Y A T System for data con v ersion � Y A T data mo del . A Con v ersion Language: Y A TL . Reusing Y A TL programs I Protot yp e . Conclusion and future w ork � & % Y A T T eam 17
' $ Y our Mediators Need Data Con v ersion! SIGMOD'98, Seattle, W ashington Customization b y instan tiation Input Model Conversion program Output Model prg ODMG HTML model Model Program Model Instantiation Instantiation Instantiation prg’ (equivalent) ODMG HTML schema & % Y A T T eam 18
' $ Y our Mediators Need Data Con v ersion! SIGMOD'98, Seattle, W ashington Com bining programs Com bination allo ws to use the generic program and the sp eci�c one at the same time. Input Model Conversion program Output Model prg1 ODMG HTML model prg2 ODMG HTML schema prg3 = prg1 + prg2 ODMG HTML (= if prg2 then prg2 else prg1) & % Y A T T eam 19
Recommend
More recommend