1

I'm working on a data integration project that makes use of Talend through a first logical formalization step of the global schema.

I choose to exploit the GAV mapping properties to connect my source schema (the tables and csv files from which I start ) to the global schema (the final dbs rendered in a more immediate and user-readable form).

Here is an example (simplified) of what I am trying to do:

Source Schema:

  • BookData1(isbn,name,author,year,publisher)
  • BookData2(index,name,average_rating,isbn)
  • BookData3(name,author,category) _ BookReview3(isbn,name,userid,score)

Global Schema:

  • BookName(isbn,name)

Is it okay for the global variable (BookName) to appear in multiple expressions?

  1. ∀isbn,name.(∃ author,year,publisher.BookData1(isbn,name,author,year,publisher) ) → BookName(isbn,name)
  2. ∀isbn,name.(∃ index,average_rating.BookData2(index,name,average_rating,isbn) → BookName(isbn,name)

Is it correct to insert a logical operator (in this case the ∧) in the first term? In this way it will become a conjunctive query.

∀isbn,name.(∃a,cat.BookData3(name,author,category) ∧ ∃ userid,score.BookReview3(isbn,name,userid,score)) → BookName(isbn,name)

Here I attach an image of the previous mapping for a better reading and abstraction: enter image description here

Here instead the image of the job of talent that takes care of this process in a practical way:

enter image description here

Any help is greatly appreciated!

0 Answers0