Template-Based Wrappers in the TSIMMIS System Joachim Hammer Hector Garcia-Molina Svetlozer Nestorov Ramana Yerneni Marcus Breunig Vasilia Vassalos SIGMOD97
Wrapper Problem: A lot of effort required to develop and write a wrapper Solution – Wrapper implementation toolkit – Template-based translation technology
Wrapper Architecture
OEM Every object has an OID, type, label, and value. OEM Object Example (omitting the type and OID)
MSL A rule-based language MSL rule – Head – Tail
Example Assumption – A relational database contains bibliographic information about books and papers – The database accepts SQL queries – The wrapper accepts MSL queries Parser Matcher Engine
MSL Query Find all publications labeled book which have subobjects year and author, and for which the author field has value “Jones” and the year field value is less than Parser
Template Rule “Parameterized MSL query” Matcher
Template Rule (Cont.) Action: // $$ = “select * from book Where author = ” $X “Jones” “Parameterized MSL query” “Parameterized SQL query”
Native SQL Query select * from book where author = “Jones”
Postprocessing B: -B: }> AND lt(Y, 1984) select * from book where author = “Jones” Engine
Demo A university-owned legacy system called FOLIO, which is accessible through an interactive front-end (called INSPEC) A Sybase relational DBMS which is accessible through SQL A collection of UNIX files which is accessible through a Perl script file A World-Wide Web source which is accessible through a WWW extraction utility
Conclusion Wrappers hide all source specific details from the application/end user Quickly enhance the query capabilities of a wrapper Change the resulting answer structures MOBIE