Βάσεις Δεδομένων και Παγκόσμιος Ιστός

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
Κατηγορηματικός Λογισμός
Advertisements

ΜΑΘΗΜΑΤΙΚΑ ΚΑΤΕΥΘΥΝΣΗΣ
Κληρονομικότητα. Εισαγωγή  Κληρονομικότητα (Inheritance) καλείται ο μηχανισμός με τον οποίο μία νέα κλάση που ονομάζεται παράγωγη (derived class) δημιουργείται.
ΓΡΑΜΜΑΤΙΚΕΣ ΧΩΡΙΣ ΣΥΜΦΡΑΖΟΜΕΝΑ I
A Peer-to-peer Framework for Caching Range Queries O. D. Sahin A. Gupta D. Agrawal A. El Abbadi Παρουσίαση: Καραγιάννης Τάσος, Κρεμμυδάς Νίκος, Μαργαρίτη.
Ασκήσεις Συνδυαστικής
Εργαστήριο μαθήματος «Τεχνολογία Γνώσης» Σαντιπαντάκης Γιώργος
ΣΤΟΙΧΕΙΑ ΨΕΥΔΟΚΩΔΙΚΑ ΒΑΣΙΚΕΣ ΔΟΜΕΣ ΒΑΣΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ ΠΙΝΑΚΩΝ
ΕΠΛ 434 – Λογικός Προγραμματισμός και Τεχνητή Νοημοσύνη
 Αυδίκου Χριστίνα  Γιουμούκης Παναγιώτης  Κιντσάκης Θάνος  Πάπιστας Γιάννης.
ΘΠ06 - Μεταγλωττιστές Πίνακας Συμβόλων, Σημασιολογικές Ενέργειες.
Resource Description Framework
Εισαγωγικές Έννοιες Διδάσκοντες: Σ. Ζάχος, Δ. Φωτάκης Επιμέλεια διαφανειών: Δ. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο.
Κεφάλαιο 2ο Πεπερασμένα αυτόματα.
Στο λειτουργικό σύστημα Windows, υπάρχουν εικονίδια (icons) τα οποία αναπαριστούν τις διάφορες οντότητες (φυλαγμένες πληροφορίες, προγράμματα που κάνουν.
Γραφήματα & Επίπεδα Γραφήματα
Βάσεις Δεδομένων Ευαγγελία Πιτουρά1 Ορισμοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων.
ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ ΜΑΘΗΜΑ 3.
Κοντινότεροι Κοινοί Πρόγονοι α βγ θ δεζ η π ν ι κλμ ρσ τ κκπ(λ,ι)=α, κκπ(τ,σ)=ν, κκπ(λ,π)=η κκπ(π,σ)=γ, κκπ(ξ,ο)=κ ξο κκπ(ι,ξ)=β, κκπ(τ,θ)=θ, κκπ(ο,μ)=α.
Η ΓΛΩΣΣΑ C ΜΑΘΗΜΑ 2.
ΕΙΣΑΓΩΓΗ ΣΤΑ ΓΕΩΓΡΑΦΙΚΑ ΣΥΣΤΗΜΑΤΑ ΠΛΗΡΟΦΟΡΙΩΝ
ΕΠΛ 231 – Δομές Δεδομένων και Αλγόριθμοι12-1 Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Ο αλγόριθμος του Prim και ο αλγόριθμος του Kruskal.
ΘΕΩΡΙΑ ΠΟΛΥΠΛΟΚΟΤΗΤΑΣ ΠΑΡΟΥΣΙΑΣΗ ΣΤΑ ΚΕΦΑΛΑΙΑ 7.4 – 7.6 NP ΠΛΗΡΟΤΗΤΑ.
Σημασιολογική Ολοκλήρωση Δεδομένων με τη χρήση Οντολογιών Λίνα Μπουντούρη - Μανόλης Γεργατσούλης Ιόνιο Πανεπιστήμιο 15ο Πανελλήνιο Συνέδριο Ακαδημαϊκών.
31 Μαρτίου 2015 ΔΙΑΦΑΝΕΙΑ 1 ΤΥΠΙΚΕΣ ΜΕΘΟΔΟΙ ΑΝΑΛΥΣΗΣ ΣΥΣΤΗΜΑΤΩΝ ΤΜ. ΠΛΗΡΟΦΟΡΙΚΗΣ Α.Π.Θ. – ΔΙΔΑΣΚΩΝ: Π. ΚΑΤΣΑΡΟΣ ΚΑΤΗΓΟΡΗΜΑΤΙΚΟΣ ΛΟΓΙΣΜΟΣ Ι Για τον προτασιακό.
Distributed Systems 2 Multicast DNS. Τι είναι; Πρωτόκολλο αντίστοιχο του DNS για τοπικά δίκτυα. Κάθε Η/Υ έχει την δική του λίστα με DNS records.
Επικοινωνία Ανθρώπου Μηχανής HTML CGI JAVASCRIPT Κουμπούλης Χρήστος Α.Μ. 921 Χαλαβαζής Βασίλης Α.Μ. 988.
Εθνικό και Καποδιστριακό Πανεπιστήμιο Αθηνών – Τμήμα Πληροφορικής και Τηλεπικοινωνιών 1 Κεφάλαιο 3 Η Σημασιολογία των Γλωσσών Προγραμματισμού Προπτυχιακό.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Ορισμοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων.
Εθνικό και Καποδιστριακό Πανεπιστήμιο Αθηνών – Τμήμα Πληροφορικής και Τηλεπικοινωνιών 1 Κεφάλαιο 4 Σημασιολογία μιας Απλής Προστακτικής Γλώσσας Προπτυχιακό.
Σημασιολογική Ολοκλήρωση Ολοκλήρωση Πληροφορίας Το πρόβλημα της ολοκλήρωσης πληροφορίας (information integration) προκύπτει από την ύπαρξη ετερογενών.
Computational Imaging Laboratory ΤΜΗΥΠ ΕΡΓΑΣΤΗΡΙΟ ΕΠΕΞΕΡΓΑΣΙΑΣ ΣΗΜΑΤΩΝ & ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ Υπολογιστική Όραση.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά1 Συναρτησιακές Εξαρτήσεις.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά1 Σχεσιακή Άλγεβρα.
ΕΠΛ 231 – Δομές Δεδομένων και Αλγόριθμοι13-1 Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Ο αλγόριθμος Dijkstra για εύρεση βραχυτέρων μονοπατιών.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά1 Συναρτησιακές Εξαρτήσεις.
ΗΥ-340 Γλώσσες και Μεταφραστές Φροντιστήριο Syntax Directed Translation and alpha Language.
Τεχνολογία ΛογισμικούSlide 1 Εξειδίκευση Βασισμένη σε Μοντέλο u Τυπική εξειδίκευση λογισμικού με ανάπτυξη μαθηματικού μοντέλου για το σύστημα.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά1 Κανονικές Μορφές.
Βασικά στοιχεία της Java
Βάσεις Γνώσεων Άρνηση στην Datalog: Datalog  Πάνος Βασιλειάδης Μάιος 2003
On user-defined features Christoph M Hoffmann and Robert Joan-Arinyo Ανδρέας Φωτίου.
Εισαγωγή στην Έννοια του Αλγορίθμου και στον Προγραμματισμό
Κανονικοποίηση, συναρτησιακές εξαρτήσεις
 Στο προηγούμενο μάθημα έγινε μια εισαγωγή στην γενική μορφή ενός προγράμματος  Αυτή η μορφή ακολουθεί την λογική της απόδειξης θεωρημάτων μέσω προτάσεων.
ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΕΥΡΕΤΙΚΕΣ ΜΕΘΟΔΟΥΣ Άπληστη Αναζήτηση και Αναζήτηση Α* ΣΠΥΡΟΣ ΛΥΚΟΘΑΝΑΣΗΣ, ΚΑΘΗΓΗΤΗΣ.
ΥΠΟΛΟΓΙΣΤΙΚΕΣ ΤΕΧΝΙΚΕΣ ΓΙΑ ΣΥΣΤΗΜΑΤΑ ΜΕΤΑΔΟΣΗΣ ΠΛΗΡΟΦΟΡΙΑΣ Αντικειμενοστραφής προγραμματισμός Web Site: ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ.
Prolog Επεξεργασία και Αναπαράσταση Γνώσης ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολογίας Πληροφορικής και Τηλεπικοινωνιών Εργαστήριο: Τεχνητή Νοημοσύνη.
Καταιγισμός ιδεών Συνιστάται για την πολυεπίπεδη εξέταση ζητήματος ή κεντρικής έννοιας, μέσω της παρακίνησης των εκπαιδευόμενων να προβούν σε ελεύθερη,
ΣΗΜΑΤΑ ΚΑΙ ΣΥΣΤΗΜΑΤΑ II Καθ. Πέτρος Π. Γρουμπός Διάλεξη 8η Στοχαστικά Σήματα - 1.
ΜΕΤΑΒΛΗΤΕΣ-ΣΤΑΘΕΡΕΣ -ΕΚΦΡΑΣΕΙΣ
ΣΤΑΤΙΣΤΙΚΑ ΜΕΤΡΑ ΔΙΑΣΠΟΡΑΣ - ΑΣΥΜΜΕΤΡΙΑΣ - ΚΥΡΤΩΣΕΩΣ
Κεφάλαιο 8 Μέθοδοι ανάλυσης κυκλωμάτων
Το Σχεσιακό Μοντέλο Βάσεις Δεδομένων Ευαγγελία Πιτουρά.
ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ Διάλεξη 4: Απλοποίηση (βελτιστοποίηση) λογικών συναρτήσεων με την μέθοδο του χάρτη Karnaugh (1ο μέρος) και υλοποίηση με πύλες NAND -
Δυναμικός Κατακερματισμός
Ανάλυση κρίσιμου συμβάντος
ΑΛΓΟΡΙΘΜΟΣ ΠΡΟΒΛΗΜΑ ΑΛΓΟΡΙΘΜΟΣ ΛΥΣΗ
Λήμμα άντλησης Πως αποφασίζουμε αποδεικνύουμε ότι μία γλώσσα δεν είναι κανονική; Δυσκολότερο από την απόδειξη ότι μια γλώσσα είναι κανονική. Γενικότερο.
Αρχεσ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Η/Υ ΤΑξη Β΄
ΣΗΜΑΤΑ ΚΑΙ ΣΥΣΤΗΜΑΤΑ II
Prolog Επεξεργασία και Αναπαράσταση Γνώσης
Το Σχεσιακό Μοντέλο Βάσεις Δεδομένων Ευαγγελία Πιτουρά.
Συναρτησιακές Εξαρτήσεις
Κανονικοπηση(normalization)
ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΩΝ Η/Υ
Εννοιολογική Χαρτογράφηση
Το Σχεσιακό Μοντέλο Βάσεις Δεδομένων Ευαγγελία Πιτουρά.
Δυναμικός Κατακερματισμός
UNIT 1 Τα Πρώτα Προγράμματα.
Μεταγράφημα παρουσίασης:

Βάσεις Δεδομένων και Παγκόσμιος Ιστός Ολοκλήρωση ετερογενούς πληροφορίας στον Ιστό

Γενικά Θεωρητικό υπόβαθρο Ολοκλήρωση με χρήση όψεων και Ι.Μ. TSIMMIS Σύγκριση

Ολοκλήρωση πληροφορίας Ολοκλήρωση (integration) ετερογενών βάσεων δεδομένων Διαφορετικα μοντέλα δεδομένων και σχήματα μέσα στον ίδιο οργανισμό Ολοκλήρωση για πρόσβαση σε πληροφορία γενικά Ανεξάρτητα από το πως είναι αποθηκευμένη ή τι σύστημα την διαχειρίζεται Ο Ιστός παρέχει την υποδομή και τις πηγές Η ολοκλήρωση πληροφορίας στον Ιστό διαφέρει από την ολοκλήρωση συμβατικών βάσεων δεδομένων Αδόμητα ή ημιδομημένα δεδομένα, χωρίς έξωτερικό σχήμα Δυναμικό περιβάλλον, οι πηγές και το περιεχόμενο των πηγών αλλάζουν συχνά Η προσβαση στην πληροφορία και η ολοκλήρωση είναι συνυφασμένες, δεν υπάρχουν ξεχωριστά στάδια ολοκλήρωσης και ανάκτησης Βάσεις Δεδομένων και Παγκόσμιος Ιστός

Τι θα δούμε Μια κεντρική ιδέα στην ολοκλήρωση πληροφορίας: Οι δυνατότητες των πηγών δεδομένων αναπαρίστανται σαν όψεις Οι ερωτήσεις επαναδιατυπώνονται, και απαντώνται με χρήση των όψεων Θα εξετάσουμε την formal βάση των τεχνικών αυτών Conjunctive queries Datalog programs Containment Πως αυτή η formal βάση εφαρμόζεται σε πραγματικά συστήματα; (που έχουν τις δικές τους ιδιαίτερες γλώσσες και προσεγγίσεις) Information Manifold TSIMMIS Βάσεις Δεδομένων και Παγκόσμιος Ιστός

Γενικά Θεωρητικό υπόβαθρο Ολοκλήρωση με χρήση όψεων και Ι.Μ. TSIMMIS Σύγκριση

Κανόνες p(X,Z) :- a(X,Y) & a(Y,Z). Το a είναι EDB predicate Κανόνας (rule): ο Χ παππούς (p) του Ζ, αν ο Χ πατέρας (a) του Υ και ο Υ πατέρας του Ζ Το a είναι EDB predicate “extensional database” ή αλλιώς αποθηκευμένη σχέση Το p είναι IDB predicate “intensional database”, ή αλλιώς σχέση που ορίζεται από κανόνες Μπορούμε να δούμε τα a και p σαν γραμμές Το a σαν μια ακμή Το p σαν ένα μονοπάτι με μήκος 2 Βάσεις Δεδομένων και Παγκόσμιος Ιστός

Κανόνες (2) p(X,Z) :- a(X,Y) & a(Y,Z). Ορολογία Περιορισμοί Το :- σημαίνει εαν (if) Atoms αριστερά και δεξιά του :- Head: το atom αριστερά του :- Body: μηδέν ή περισσότερα atoms δεξιά του :- …λεγονται και subgoals Περιορισμοί Ενα atom αποτελείται από ένα predicate και κάποια arguments (μεταβλητές, ή σταθερές τιμές) Το head είναι πάντα κάποιο IDB predicate Τα subgoals είναι IDB ή EDB predicates Κάθε μεταβλητή στο head πρέπει να εμφανίζεται και στο body Βάσεις Δεδομένων και Παγκόσμιος Ιστός

Conjunctive queries Conjunctive query (CQ): όλα τα subgoals έχουν EDB predicates Το CQ εφαρμόζεται στις EDB σχέσεις, θεωρώντας όλες τις πιθανές αντικαταστάσεις τιμών για τις μεταβλητές στο body Αν μια αντικατάσταση επαληθεύει όλα τα subgoals, τότε η ίδια εφαρμοζόμενη στο head δίνει ένα inferred fact Παράδειγμα Τα εξης υπάρχουν στην extensional database (EDB) a(Yorgos, Costas), a(Costas, Marios) Τότε ένα inferred fact είναι το: p(Yorgos, Marios) Βάσεις Δεδομένων και Παγκόσμιος Ιστός

Containment Πότε μια CQ περιέχεται (“contained”) σε κάποια άλλη; Q1  Q2 εαν Q1(D)  Q2(D) …where Q1, Q2 are CQs, and D all truth assignments Δηλαδή, αν οι λύσεις της Q1 είναι και λύσεις της Q2 Πότε δύο CQs είναι ισοδύναμες; Αν κάθε μία περιέχεται στην άλλη Πάντως το containment ενδιαφέρει πιό πολύ από την ισοδυναμία στην ολοκλήρωση πληροφορίας Ενα test ελέγχου για το αν Q1  Q2 1. Αντικαθιστούμε τις μεταβλητές στο body της Q1 με διακριτές σταθερές τιμές, και θεωρούμε τα subgoals σαν τις μοναδικές πλειάδες στην βάση 2. Εφαρμόζουμε την Q2 στην βάση αυτή 3. Αν το head της Q1 εξαχθεί και από την Q2, τότε Q1  Q2. Διαφορετικά όχι! Βάσεις Δεδομένων και Παγκόσμιος Ιστός

Παράδειγμα containment Q1: p(X,Z) :- a(X,Y) & a(Y,Z). Q2: p(X,Z) :- a(X,U) & a(V,Z). Περιμένουμε ότι Q1  Q2 Χρησιμοποιούμε ακεράιους για σταθερές τιμές D = { a(0,1), a(1,2) } Το head της Q1 είναι τώρα p(0,2) Εφαρμόζουμε την Q2 πάνω στο D X0, U1, V1, Z2 Το head της Q2 είναι p(0,2) Συνεπώς Q1  Q2 Βάσεις Δεδομένων και Παγκόσμιος Ιστός

Προγράμματα datalog Πρόγραμμα datalog: μια συλλογή από rules Εχουν μια least-fixedpoint λύση Στην αρχή τα IDB predicates έχουν κενές σχέσεις Χρησιμοποιούμε τα rules για να εξάγουμε νέα IDB facts εως ότου δεν μπορούν να εξαχθούν άλλα facts Παράδειγμα: ένα πρόγραμμα datalog P 1. p(X,Z) :- q(X,Y) & b(Y,Z). 2. q(X,Y) :- a(X,Y). 3. q(X,Z) :- a(X,Y) & p(Y,Z). Επεξήγηση: γράφος με δύο τύπους ακμών, a και b Τα p και q αναπαριστούν συγκεκριμένα είδη μονοπατιών Μονοπάτια p: μια ή περισσότερες ακμές a, και μετά ίσος αριθμός ακμών b Μονοπάτια q: το ίδιο, όμως με μια ακμή b λιγότερη Βάσεις Δεδομένων και Παγκόσμιος Ιστός

Containment σε datalog Στην ολοκλήρωση πληροφορίας μας ενδιαφέρει το containment μιας CQ σε ένα πρόγραμμα datalog Ακριβώς όπως στην περίπτωση των 2 CQs... ...αλλά εδώ μπορούμε να εφαρμόζουμε τα datalog rules μέχρις ότου να μην είναι δυνατή η εξαγωγή άλλων IDB facts Παράδειγμα: το προηγούμενο πρόγραμμα datalog... ...και η CQ, Q: p(A,C) :- a(A,B) & b(B,C). D = { a(0,1), b(1,2) } Rule 2: q(0,1) Rule 1: p(0,2) Q  P Βάσεις Δεδομένων και Παγκόσμιος Ιστός

Γενικά Θεωρητικό υπόβαθρο Ολοκλήρωση με χρήση όψεων και Ι.Μ. TSIMMIS Σύγκριση

Σύνθεση ερωτημάτων από όψεις Η έννοια του containment συνδέεται με την ολοκλήρωση πληροφορίας μέσω της σύνθεσης ερωτημάτων από όψεις Η προσέγγιση αυτή λέγεται local as view Global predicates Υπάρχουν “EDB” predicates που όμως δεν αντιστοιχούν σε αποθηκευμένες σχέσεις Αντιπροσωπεύουν τις βασικές έννοιες που υποστηρίζει ο mediator, και που μπορούν να χρησιμοποιηθούν σε queries Θα τα συμβολίζουμε με p’s Local views Υπάρχουν επίσης όψεις που αναπαριστούν τις πηγές που χρησιμοποιούνται για την απάντηση των ερωτημάτων Κάθε όψη έχει έναν ορισμό ως προς τα EDB predicates (θεωρούμε τους ορισμούς σαν CQs) Θα τις συμβολίζουμε με v’s Βάσεις Δεδομένων και Παγκόσμιος Ιστός

Η προσέγγιση Ενα ερώτημα Q εκφράζεται ως προς τα global EDB predicates (τα p’s) Το πρόβλημα έγκειται στο να βρούμε μια «λύση» S για το ερώτημα Q Η λύση είναι μια έκφραση ως προς τις όψεις (τα v’s) Για να είναι έγκυρη η λύση: Αν αντικαταστήσουμε τις όψεις στο S με τους ορισμούς τους παίρνουμε ένα expansion query E... ...που πρέπει να είναι ισοδύναμο με το αρχικό ερώτημα Q Εναλλακτική έγκυρη λύση: Βρίσκουμε όλες τις λύσεις S των οποίων η επέκταση E περιέχεται (containment) στο Q Η «λύση» για το Q είναι τότε η ένωση όλων αυτών των μερικών λύσεων Βάσεις Δεδομένων και Παγκόσμιος Ιστός

Παράδειγμα Ενα μόνον global EDB predicate: Δύο όψεις: p(X,Y). Σημασία: ο Υ είναι γονιός του Χ Δύο όψεις: v1(Y,Z) :- p(X,Y) & p(Y,Z). v2(X,Z) :- p(X,Y) & p(Y,Z). Εχουν το ίδιο body, αλλά διαφορετικά heads Η v1 παράγει ένα υποσύνολο της σχέσης για το p Η v2 λέει ότι ο Ζ είναι παππούς του Χ Ερώτημα: ποιοί είναι οι προ-παππούδες του ατόμου 0; q(C) :- p(0,A) & p(A,B) & p(B,C). Βάσεις Δεδομένων και Παγκόσμιος Ιστός

Παράδειγμα (2) Το πρόβλημά μας είναι: Επιβεβαίωση της λύσης: Να βρούμε μια CQ με subgoals που χρησιμοποιούν μόνο τα predicates v1 και v2... ...και της οποίας το expansion είναι ισοδύναμο με το ερώτημα. Λύση: s1(C) :- v2(0,D) & v1(D,C). Επιβεβαίωση της λύσης: Αντικαθιστούμε κάθε subgoal της s1 με τον ορισμό των όψεων e1(C) :- p(0,E) & p(E,D) & p(F,D) & p(D,C). Χρησιμοποιούμε το τεστ για CQ containment και προς τις δύο κατευθύνσεις για να δείξουμε ότι e1  q Διαισθητικά, το p(F,D) στην e1 είναι πλεονάζον Βάσεις Δεδομένων και Παγκόσμιος Ιστός

Παράδειγμα (3) Αλλες εναλλακτικές λύσεις: s2(C) :- v1(0,D) & v2(D,C). s3(C) :- v1(0,D) & v1(D,E) & v1(E,C). s4(C) :- v2(0,D) & v1(D,C) & v2(C,E). Η επεκτεταμένη μορφή τους περιέχεται στο q, χωρις να είναι ισοδύναμη με το q Η s2 είναι ισοδύναμη με το q αν ο 0 έχει κάποιο παιδί, αλλιώς η σχέση είναι κενή Η s3 είναι ισοδύναμη με την s2 Η s4 δίνει τους προ-πάππους του 0 που είναι και αυτοί εγγόνια Βάσεις Δεδομένων και Παγκόσμιος Ιστός

Ανεύρεση λύσεων Στο παράδειγμα «μαντέψαμε» τις πιθανές λύσεις Και κατόπιν τις ελέγξαμε για CQ-containment Υπάρχουν όμως θεωρήματα και αλγόριθμοι που βοηθούν στην ανεύρεση των λύσεων Η βασική ιδέα είναι ότι κάθε subgoal στο query πρέπει να καλύπτεται από κάποια όψη. Ομως ενα subgoal μπορεί να καλύπτεται από πολλές όψεις Υπάρχουν αλγόριθμοι που βρίσκουν: Είτε μια μοναδική λύση ισοδύναμη με το ερώτημα Q Είτε ένα σύνολο λύσεων των οποίων η ένωση περιέχεται στο Q, και που περιέχει κάθε άλλο σύνολο λύσεων Ορίζουμε μια λύση S για το ερώτημα Q σαν ελάχιστη αν: S  Q Δεν υπάρχει λύση T για το Q τέτοια ώστε a) S  T  Q, και b) T έχει λιγότερα subgoals από το S Βάσεις Δεδομένων και Παγκόσμιος Ιστός

Information Manifold Είναι σύστημα ολοκλήρωσης πληροφορίας στον Ιστό Με δική του δηλωτική γλώσσα, την CARIN Ακολουθεί την προσέγγιση local as view Χαρακτηριστικά σημεία του Ι.Μ. Εχει μια συλλογή global predicates με βάση τα οποία εκφράζονται τα ερωτήματα Κάθε πηγη πληροφορίας συνδέεται με μια ή περισσότερες όψεις Οι όψεις εκφράζονται μέσω των global predicates Μια όψη δεν θεωρείται οτι δίνει όλα τα facts, αλλά μόνο μερικά Η λύση ενός ερωτήματος είναι η ένωση όλων των ελάχιστων CQs που περιέχονται στο ερώτημα Μια πηγή μπορεί να χαρακτηρίζεται και απο περιορισμούς (constraints), που δηλώνουν τι δεν περιέχει η πηγή Βάσεις Δεδομένων και Παγκόσμιος Ιστός

Παράδειγμα Ι.Μ. Σύστημα ολοκλήρωσης πληροφορίας για υπαλλήλους μιας εταιρίας Global predicates: emp(E), όπου Ε είναι υπάλληλος phone(E,P), όπου P είναι το τηλέφωνο του Ε office(E,O), όπου Ο είναι το γραφείο του Ε mgr(E,M), όπου Μ είναι ο διευθυντής του Ε dept(E,D), όπου D είναι το τμήμα που δουλεύει ο Ε Υπάρχουν τρείς πηγές, κάθε μια δίνει μια όψη: v1(E,P,M) :- emp(E) & phone(E,P) & mgr(E,M). v2(E,O,D) :- emp(E) & office(E,O) & dept(E,D). v3(E,P) :- emp(E) & phone(E,P) & dept(E,toy). Η v3 δεν μπαίνει σε καμμία ελάχιστη λύση εφόσον ξέρουμε ότι ρωτάμε υπάλληλο που δεν δουλεύει στα toy Τα τηλέφωνα που δίνουν οι v1 και v3 μπορεί να μην είναι consistent Επίσης η πληροφορία μπορεί να είναι incomplete Βάσεις Δεδομένων και Παγκόσμιος Ιστός

Λειτουργία Ι.Μ. Ερώτημα: ποιό είναι το τηλέφωνο και το γραφείο της Sally; q1(P,O) :- phone(sally,P) & office(sally,O). Ως προς τα global predicates Υπάρχουν δύο ελάχιστες λύσεις answer(P,O) :- v1(sally,P,M) & v2(sally,O,D). answer(P,O) :- v3(sally,P) & v2(sally,O,D). Διαφέρουν στο αν ανακτούν το τηλέφωνο μέσω της v1 ή της v3 Η πλήρης απάντηση είναι η ένωση των αποτελεσμάτων Η επέκταση των λύσεων είναι: answer(P,O) :- emp(sally) & phone(sally,P) & mgr(sally,M) & emp(sally) & office(sally,O) & dept(sally,D). answer(P,O) :- emp(sally) & phone(sally,P) & dept(sally,toy) Δεν είναι ισοδύναμες με την q1 Είναι όμως οι «κοντινότερες» στην q1, που εξακολουθούν και περιέχονται στην q1 Βάσεις Δεδομένων και Παγκόσμιος Ιστός

Γενικά Θεωρητικό υπόβαθρο Ολοκλήρωση με χρήση όψεων και Ι.Μ. TSIMMIS Σύγκριση

TSIMMIS “The Stanford-IBM Manager of Multiple Information Sources” Βασίζεται στην δημιουργία μιας ιεραρχίας από mediators και wrappers που μιλούν μεταξύ τους Κοινό μοντέλο: ΟΕΜ (Object-Exchange Model) MSL (Mediator Specification Language) για την δηλωτική περιγραφή των mediators και wrappers Που δημιουργούνται στην συνέχεια αυτόματα με βάση την περιγραφή αυτή Γλώσσα ερωτημάτων: Lorel (θα την δούμε στην συνέχεια) Μπορεί κατά βάση να χρησιμοποιηθεί και η MSL Βάσεις Δεδομένων και Παγκόσμιος Ιστός

ΟΕΜ Τα δεδομένα οργανώνονται σε αντικείμενα Το μοντέλο ΟΕΜ είναι «αντικειμενοστρεφές» Ενα αντικείμενο ΟΕΜ αποτελείται από: Ετικέτα (label), το όνομα της κλάσης του αντικειμένου Τύπο, για την τιμή του αντικειμένου. Ο τύπος είναι είτε κάποιος ατομικός τυπος (integer, string, image, κτλ), είτε ο σύνθετος τύπος «σύνολο αντικειμένων ΟΕΜ» Τιμή. Αν ο τύπος είναι ατομικός η τιμή είναι μια απλή τιμή, ενώ αν ο τύπος είναι σύνθετος η τιμή είναι ένα σύνολο αντικειμένων ΟΕΜ Ταυτότητα του αντικειμένου (προαιρετική). Διάφορες εκδοχές του ΟΕΜ Αναπαράσταση σαν κατευθυνόμενος γράφος με ρίζα Οι ετικέτες στους κόμβους ή στις ακμές; Βάσεις Δεδομένων και Παγκόσμιος Ιστός

Πρώτη εκδοχή ΟΕΜ Βάσεις Δεδομένων και Παγκόσμιος Ιστός

Δεύτερη εκδοχή ΟΕΜ Βάσεις Δεδομένων και Παγκόσμιος Ιστός

MSL Οι προτάσεις MSL είναι λογικοί κανόνες Σχηματισμός προτάσεων MSL Όχι ακριβώς datalog Αλλά πιο «αντικειμενοστρεφείς» Σχηματισμός προτάσεων MSL Ετικετες και τιμές συνδέονται με αγκιστρα <...> Είναι δυνατόν να υπάρχει και ταυτότητα σαν το πρώτο τμήμα μέσα στα άγκιστρα Η ταυτότητα μπορεί να κατασκευαστεί μέσω συναρτήσεων Σύνολα αντικειμένων περικλείονται σε αγκύλες {...} Προσέγγιση: global as view O mediator ορίζει το ολικό του σχήμα με βάση τις πηγές Βάσεις Δεδομένων και Παγκόσμιος Ιστός

Παράδειγμα MSL Τρείς πηγές: 1. employee – phone – manager 2. employee – office – department 3. employee – phone (για τα μέλη του τμήματος toy) Οι πηγές εξάγουν αντίστοιχα αντικείμενα ΟΕΜ Πχ. η πηγή 1 εξάγει τα ατομικά υποαντικείμενα name, phone, mgr Θέλουμε να ορίσουμε έναν mediator med που με βάση τις τρείς πηγές, εξάγει δύο τύπους αντικειμένων: Αντικείμενα epo: employee – phone – office Αντικείμενα edm: employee – department – manager Τα αντικείμενα αυτά θα έχουν υποαντικείμενα με τις κατάλληλες ετικέτες και τιμές Βάσεις Δεδομένων και Παγκόσμιος Ιστός

Παράδειγμα MSL (2) Οι κανόνες MSL που περιγράφουν τα δύο ειδών αντικείμενα που εξάγει ο mediator med 1. <f(E) epo {<name E> <phone P>}>@med :- <emp {<name E> <phone P>}>@source1 2. <f(E) epo {<name E> <phone P>}>@med :- <emp {<name E> <phone P>}>@source3 3. <f(E) epo {<name E> <office O>}>@med :- <emp {<name E> <office O>}>@source2 4. <edm {<name E> <dept D> <mgr M>}>@med :- <emp {<name E> <mgr M>}>@source1 AND <emp {<name E> <dept D>}>@source2 Βάσεις Δεδομένων και Παγκόσμιος Ιστός

Σχόλια στην MSL Το αντικείμενο epo συντίθεται και από τις 3 πηγές Θεωρούμε οτι τα employee names είναι μοναδικά Χρήση συνάρτησης f(E) για δημιουργία ταυτότητας αντικειμένου (Skolem function: ένα ενιαίο αντικείμενο για την ίδια ταυτότητα) Σημεία ενδιαφέροντος Ενα epo για κάποιον υπάλληλο έχει υπο-αντικείμενα που έρχονται από διάφορες πηγές... ...μπορεί να υπάρχουν 2 ή περισσότερα τηλέφωνα από τις πηγές source1 και source3 Ο κανόνας 1 δεν αναφέρει το mgr για το source1 γιατί δεν το χρειάζεται... ...το matching θα επιτύχει ακόμη και αν δεν υπάρχει mgr Μεταβλητές όπως οι Ε και P μπορεί να αντιστοιχούν σε ατομικές τιμές ή και σε σύνολα αντικειμένων Διαφορετικά αντικείμενα με την ιδια ετικέτα μπορούν να έχουν διαφορετικούς τύπους σε μια πηγή Βάσεις Δεδομένων και Παγκόσμιος Ιστός

Μετατροπή MSL σε datalog Μετατροπή απλά και μόνο για να συγκρίνουμε το TSIMMIS με το Ι.Μ. epo(E,P,O) :- v1(E,P,M) & v2(E,O,D). epo(E,P,O) :- v3(E,P) & v2(E,O,D). edm(E,D,M) :- v1(E,P,M) & v2(E,O,D). Σημαντική διαφορά Παίρνουμε epo facts μόνο για υπαλλήλους που κάπου στις όψεις υπάρχει μαζί και phone και office Αντίθετα, η MSL βάζει κάτω από το ίδιο αντικείμενο employee ότι βρίσκει για τον υπάλληλο αυτόν Η ευελιξία της MSL είναι σημαντική συνεισφορά για ολοκλήρωση ετερογενών και incomplete πηγών πληροφορίας Βάσεις Δεδομένων και Παγκόσμιος Ιστός

Ερωτήματα στους mediators του TSIMMIS Δεν υπάρχουν global predicates όπως στο Ι.Μ. Ερώτημα: ποιό είναι το τηλέφωνο και το γραφείο της Sally; Απευθύνεται στον mediator med Στην πραγματικότητα στην γλώσσα Lorel answer(P,O) :- epo(sally,P,O). O med απαντά το ερώτημα μετασχηματίζοντάς το για να εκφραστεί ως προς τις πηγές (query rewriting) Επεκτείνει το ερώτημα με βάση τους κανόνες που τον ορίζουν (τον med) Το rewriting γίνεται πιο εύκολα και φυσικά από οτι στο Ι.Μ. answer(P,O) :- v1(sally,P,M) & v2(sally,O,D). answer(P,O) :- v3(sally,P) & v2(sally,O,D). Βάσεις Δεδομένων και Παγκόσμιος Ιστός

Γενικά Θεωρητικό υπόβαθρο Ολοκλήρωση με χρήση όψεων και Ι.Μ. TSIMMIS Σύγκριση

Σύγκριση I.M. και TSIMMIS Επίπεδα mediation Το I.M. έχει δύο επίπεδα: global mediator και πηγές Το TSIMMIS έχει απροσδιόριστο αριθμό επιπέδων Προσθήκη πηγών Εύκολο στο Ι.Μ., απλά ορίζει κανείς τις όψεις της πηγής ως προς τα global predicates Στο TSIMMIS πρέπει να επανα-οριστούν οι mediators που χρησιμοποιούν τις πηγές αυτές Ημιδομημένα δεδομένα Το TSIMMIS μέσω της MSL υποστηρίζει την χαλαρή δομή ή τα ελλειπή δεδομένα που συναντά κανείς συχνά στον Ιστό Περιορισμοί Το Ι.Μ. έχει ειδικό μηχανισμο για την περιγραφή ιδιοτήτων της πληροφορίας μιας πηγής, και την χρήση τους κατά την επεξεργασία των ερωτημάτων Βάσεις Δεδομένων και Παγκόσμιος Ιστός