Βάσεις Δεδομένων και Παγκόσμιος Ιστός Τεχνολογίες XML.

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
ΕΡΩΤΗΜΑΤΑ ΕΠΙΛΟΓΗΣ ΜΑΘΗΜΑ 6. SELECTSELECT SELECT * FROM όνομα_πίνακα ; • Με τη εντολή SELECT ανασύρουμε δεδομένα από την βάση δεδομένων. • Το αστεράκι.
Advertisements

Τεχνολογίες Web Απαραίτητες γνώσεις για την υλοποίηση της άσκησης.
ΚΑΝΟΝΙΚΟΠΟΙΗΣΗ ΜΑΘΗΜΑ 5.
Τεχνικές Προγραμματισμού με την JavaScript Στυλιάδης Κων/νος Φλώρινα, Οκτώβριος 2004.
Εισαγωγή στην XML Μάρτιος 2005 Γ. Σ. Σακελλάρης Τ. Α. Κοντογιώργης
Να περιγράψετε τους 2 τρόπους οργάνωσης Ιστοσελίδων
Δ.Π.Θ. xml - 1 ΝΕΕΣ ΓΛΩΣΣΕΣ ΚΑΙ ΤΕΧΝΙΚΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ XML Η HTML αποτέλεσε την πρώτη και κύρια γλώσσα δημιουργίας ιστοσελίδων από την έναρξη λειτουργίας.
Η γλώσσα μορφοποίησης υπερκειμένου HTML
«Τι κρύβεται» πίσω από μια Επιχειρησιακή Αναφορά (report): XML& XSD για αρχάριους Document Modelling.
ΑΝΑΠΑΡΑΣΤΑΣΗ ΓΝΩΣΗΣ ΣΤΟΝ ΠΑΓΚΟΣΜΙΟ ΙΣΤΟ RDF – RDFS - SPARQL
Semantic Web Technologies
Η γλώσσα XHTML Επιμέλεια: Νικάκη Θεοδώρα Μάθημα: Εισαγωγικά θέματα WWW 2007.
Γλώσσες για ημι-δομημένα δεδομένα (ΗΔΔ)  XPath  XQuery  XSLT (eXtensible Stylesheet Language for Transformations)
Ακαδημαϊκό έτος Εργαστήριο Προγραμματισμού και Επεξεργασίας Πληροφοριών Εισαγωγή στη γλώσσα MathML Αλεξ Καράκος.
Δ.Π.Θ. Συνδέοντας έγγραφα - 1 Συνδέοντας έγγραφα Μια σύνδεση στο Web (link) αποτελείται από δύο μέρη : Aυτό που βλέπουμε στη σελίδα και λέγεται άγκυρα.
ΠΡΟΤΥΠΑ ΜΑΘΗΣΙΑΚΩΝ ΤΕΧΝΟΛΟΓΙΩΝ ΠΑΡΟΥΣΙΑΣΗ ΚΑΙ ΔΙΔΑΚΤΙΚΑ ΟΦΕΛΗ Ενότητα 3.7 – Β’ Μέρος.
Resource Description Framework
Θέματα Βάσεων Δεδομένων Αποθήκευση XML δεδομένων σε Σχεσιακή Βάση Δεδομένων Θέματα Βάσεων Δεδομένων Αποθήκευση XML δεδομένων σε Σχεσιακή Βάση Δεδομένων.
Entity-Relationship Παραδείγματα Πληροφοριακά Συστήματα και Βάσεις Δεδομένων Φροντιστήριο 1 Δαμιανός Χατζηαντωνίου.
1 ΕΝΤΟΛΕΣ ΠΛΗΡΟΦΟΡΙΩΝ ΓΕΝΙΚΕΣ ΠΛΗΡΟΦΟΡΙΕΣΓΕΝΙΚΕΣ ΠΛΗΡΟΦΟΡΙΕΣ ΘΕΣΗ ΣΗΜΕΙΟΥΘΕΣΗ ΣΗΜΕΙΟΥ ΑΠΟΣΤΑΣΗΑΠΟΣΤΑΣΗ ΕΜΒΑΔΟΝΕΜΒΑΔΟΝ.
ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ ΜΑΘΗΜΑ 3.
1 Υπηρεσίες Πληροφόρησης σε Ψηφιακό Περιβάλλον Ιόνιο Πανεπιστήμιο Τμήμα Αρχειονομίας & Βιβλιοθηκονομίας, Κέρκυρα Ηλεκτρονική Δημοσίευση Θέμα: Τεχνολογίες.
Ιόνιο Πανεπιστήμιο ΠΜΣ Επιστήμη της Πληροφορίας Διατύπωση Ερωτημάτων σε XML τεκμήρια με τη γλώσσα XQuery Εργασία για το μάθημα Ηλεκτρονική Δημοσίευση Υπεύθυνος.
E X a M p L e Αξιοποιώντας την τεχνολογία XML στη διαχείριση της πληροφορίας Λίνα Μπουντούρη Εθνικό Κέντρο Τεκμηρίωσης 13ο Πανελλήνιο Συνέδριο Ακαδημαϊκών.
Σημασιολογική Ολοκλήρωση Δεδομένων με τη χρήση Οντολογιών Λίνα Μπουντούρη - Μανόλης Γεργατσούλης Ιόνιο Πανεπιστήμιο 15ο Πανελλήνιο Συνέδριο Ακαδημαϊκών.
PHP/MYSQL ΠΑΡΟΥΣΙΑΣΗ ΣΤΑ ΠΛΑΙΣΙΑ ΤΟΥ ΜΑΘΗΜΑΤΟΣ ΕΠΟΙΚΟΙΝΩΝΙΑ ΑΝΘΡΩΠΟΥ-ΜΗΧΑΝΗΣ ΤΥΡΟΛΟΓΟΥ ΓΛΥΚΕΡΙΑ ΑΜ 875 ΡΙΖΟΥ ΔΕΣΠΟΙΝΑ ΑΜ 816.
ΔΙΑΧΕΙΡΙΣΗ ΠΕΡΙΕΧΟΜΕΝΟΥ ΠΑΓΚΟΣΜΙΟΥ ΙΣΤΟΥ ΚΑΙ ΓΛΩΣΣΙΚΑ ΕΡΓΑΛΕΙΑ Information Extraction.
Βάσεις Δεδομένων Εργαστήριο ΙΙI Τμήμα Πληροφορικής ΑΠΘ
Επικοινωνία Ανθρώπου Μηχανής HTML CGI JAVASCRIPT Κουμπούλης Χρήστος Α.Μ. 921 Χαλαβαζής Βασίλης Α.Μ. 988.
Βάσεις Δεδομένων Εργαστήριο ΙΙ Τμήμα Πληροφορικής ΑΠΘ
Βάσεις Δεδομένων Ευαγγελία Πιτουρά1 Σχεσιακός Λογισμός.
Η Γλώσσα Σήμανσης ΥπερΚειμένου HTML
ΠΜΣ ΕΡΓΑΣΙΑ ΣΤΟ ΜΑΘΗΜΑ ΨΗΦΙΑΚΕΣ ΒΙΒΛΙΟΘΗΚΕΣ The Digital Library and Computational Philology: The BAMBI Project Γόντικα Ειρήνη.
ΕΡΩΤΗΜΑΤΑ ΕΠΙΛΟΓΗΣ 2 ΜΑΘΗΜΑ 8. ΑΠΑΛΟΙΦΗ ΔΙΠΛΟΕΓΓΡΑΦΩΝ DISTINCT Μπορούμε να απαλείψουμε τις διπλοεγγραφές που μας επιστρέφονται και που οφείλονται στην.
Τεχνολογίες XML. XML και DTD Υποστηρικτικές τεχνολογίες Γλώσσες ερωτήσεων.
ΙΟΝΙΟ ΠΑΝΕΠΙΣΤΙΜΙΟ Τμήμα Αρχειονομίας-Βιβλιοθηκονομίας Εργασία στο μάθημα της Ηλεκτρονικής Δημοσίευσης ΘΕΜΑ:SGML και PDF-Γιατί χρειαζόμαστε και τα δύο;
9 Η Γλώσσα SQL  Εισαγωγή – Βασικές Έννοιες  Τύποι Δεδομένων  Ορισμός Δεδομένων (data definition)  Χειρισμός Δεδομένων (data manipulation)
Σημασιολογική Ολοκλήρωση Ολοκλήρωση Πληροφορίας Το πρόβλημα της ολοκλήρωσης πληροφορίας (information integration) προκύπτει από την ύπαρξη ετερογενών.
1 ΙΟΝΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΤΜΗΜΑ ΑΡΧΕΙΟΝΟΜΙΑΣ & ΒΙΒΛΙΟΘΗΚΟΝΟΜΙΑΣ ΜΠΣ: «Υπηρεσίες Πληροφόρησης σε Ψηφιακό Περιβάλλον» Εργασία στο Μάθημα «ΗΛΕΚΤΡΟΝΙΚΗ ΔΗΜΟΣΙΕΥΣΗ»
1 ΤΜΗΜΑ ΜΠΕΣ Αλγόριθμοι Αναζήτησης Εργασία 1 Τυφλή Αναζήτηση.
Εισαγωγή στην XML Μ. ΓΑΒΑΛΑΣ.
«Τι κρύβεται» πίσω από μια Επιχειρησιακή Αναφορά (report): XML& XSD για αρχάριους Κατανόηση της χρήσης και του ρόλου της γλώσσας XML στην επικοινωνία των.
EXtensible Markup Language (XML) και XML Schema Γιώργος Θάνος Παρασκευή 31 Οκτωβρίου 2008.
1Κεφάλαιο 4 Κανόνες Σύνταξης HTML Όλες οι ετικέτες εσωκλείονται μεταξύ των χαρακτήρων “ “. Κάθε τι που βρίσκεται μεταξύ των χαρακτήρων “ ”, αποτελεί σχόλιο.
Τεχνολογία ΛογισμικούSlide 1 Εξειδίκευση Βασισμένη σε Μοντέλο u Τυπική εξειδίκευση λογισμικού με ανάπτυξη μαθηματικού μοντέλου για το σύστημα.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Εισαγωγή Σχεδιασμός μιας ΒΔ ανάλυση ποιας πληροφορίας και της σχέσης ανάμεσα στα στοιχεία της περιγραφή.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Σχεσιακό Μοντέλο.
Βάσεις Δεδομένων ΙΙ Ευαγγελία Πιτουρά 1 Βάσεις Διαδικτύου.
Βασικά στοιχεία της Java
Εφαρμογές Πολυμέσων: Εισαγωγή στην HTML (1)
ΠΡΙΝ ΞΕΚΙΝΗΣΟΥΜΕ Πράγματα που αξιολογείτε θετικά σε σχέση με το μάθημα του προηγούμενου τετραμήνου Πράγματα που θα μπορούσαν να βελτιωθούν.
Βάσεις Δεδομένων και Παγκόσμιος Ιστός Ημιδομημένα δεδομένα.
 Στόχος της παρουσίασης αυτής είναι η εξοικείωση με τον Ηλεκτρονικό Κατάλογο της Βιβλιοθήκης προκειμένου να αναζητήσουμε ένα τεκμήριο από τη συλλογή.
Βάσεις Δεδομένων Ι 4η διάλεξη
Το Σχεσιακό Μοντέλο Βάσεις Δεδομένων Ευαγγελία Πιτουρά.
Προγραμματισμός Εφαρμογών Διαδικτύου
ΑΛΓΟΡΙΘΜΟΣ ΠΡΟΒΛΗΜΑ ΑΛΓΟΡΙΘΜΟΣ ΛΥΣΗ
Θερινό Σχολείο, 14 – 20 Ιουλίου 2014
ΕΡΓΑΣΤΗΡΙΟ Ηλεκτρονικού Εμπορίου Ε-Επιχειρείν
Java DataBase Connectivity
Εργασία στο μάθημα «Προγραμματισμός ΙΙ»
Το Σχεσιακό Μοντέλο Βάσεις Δεδομένων Ευαγγελία Πιτουρά.
Κεφαλαιο 11 ΕΙΣΑΓΩΓΗ ΣΤΗΝ HTML.
Εφαρμογές Πληροφορικής Κεφάλαιο 11
ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΩΝ Η/Υ
Ερωτήματα Επιλογής σε ACCESS
Microsoft Access Η Microsoft Access είναι ένα πρόγραμμα διαχείρισης σχεσιακών βάσεων δεδομένων (RDBMS). ‘Eχει τα παρακάτω χαρακτηριστικά : Είναι ένα σύστημα.
Φόρμες Φόρμες χρησιμοποιούνται για να δημιουργήσουμε ένα φιλικό περιβάλλον για την διαχείριση των δεδομένων της βάσης. Επίσης δίνεται η δυνατότητα δημιουργίας.
Εισαγωγή Για σχεδόν τέσσερις δεκαετίες, οι προσωπικοί υπολογιστές αποτελούνταν από ένα desktop system και ένα folder system metaphors για τη διαχείριση.
UNIT 1 Τα Πρώτα Προγράμματα.
Μεταγράφημα παρουσίασης:

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

XML και DTD Υποστηρικτικές τεχνολογίες Γλώσσες ερωτημάτων XML

Βάσεις Δεδομένων και Παγκόσμιος Ιστός3 HTML Χρησιμοποιεί tags ανάμεσα στο κείμενο......για να περιγράψει το layout της σελίδας Alan, 42 years, Δεν διευκολύνει άλλα προγράμματα να κατανοήσουν την δομή και το περιεχόμενο μιας σελίδας Ο wrapper «σπάει» αν το italic αλλάξει σε teletype Το πρόβλημα είναι οτι σχεδιάστηκε ειδικά για να περιγράψει την παρουσίαση και όχι το περιεχόμενο Καθένας θα ήθελε να υπάρχει «ένα ακόμη tag» στην HTML προκειμένου να βοηθηθεί η δική του εφαρμογή

Βάσεις Δεδομένων και Παγκόσμιος Ιστός4 XML Σχεδιάστηκε ειδικά για να περιγράψει το περιεχόμενο (content) και όχι την παρουσίαση μιας σελίδας Βασικές διαφορές από την HTML Μπορεί κανείς να ορίσει νέα tags κατά βούληση Τα tags μπορούν να εφωλιασθούν δομικά σε οποιοδήποτε βάθος Ενα έγγραφο XML μπορεί προαιρετικά να περιέχει μια περιγραφή της γραμματικής του Τα tags δομούν το περιεχόμενο Kostas … Το πως θα εμφανιστούν ορίζεται ξεχωριστά από κάποιο stylesheet (XSL)

Βάσεις Δεδομένων και Παγκόσμιος Ιστός5 XML (2) Ο ρόλος της XML Προτάθηκε σαν μια markup γλώσσα περιγραφής εγγράφων Καταγωγή απο την SGML (ψηφιακές βιβλιοθήκες) Εξελίσσεται όμως σε ένα παγκόσμιο πρότυπο για ανταλλαγή πληροφορίας Αυτό τράβηξε το ενδιαφέρον της κοινότητας των βάσεων δεδομένων Βασικό συστατικό της XML είναι το element Κείμενο που περικλείεται από ένα ζεύγος tags Start-tag και end-tag (markups) Εκτός από την λογική δομή (elements), τα tags περιγράφουν και την φυσική δομή (entities) που δεν ενδιαφέρει στα πλαίσια των βάσεων Alan 42

Βάσεις Δεδομένων και Παγκόσμιος Ιστός6 Εlements και tags Τι μπορεί να υπάρχει ανάμεσα στα start-tag και end-tag; Απλό κείμενο Αλλα elements Οποιοδήποτε μίγμα των δύο παραπάνω ! Τα tags στην XML: Ορίζονται από τους χρήστες, δεν υπάρχουν προκαθορισμένα tags όπως στην HTML Ανοίγουν και κλείνουν πάντα με την «σωστή» σειρά (σαν παρενθέσεις) Εξαίρεση: empty tag, πχ. (το / στο τέλος) = Element, element content, και subelement

Βάσεις Δεδομένων και Παγκόσμιος Ιστός7 XML attributes Ενα element μπορεί να περιέχει μηδέν ή περισσότερα attributes Δεν σχετίζονται με τα attributes στις σχεσιακές βάσεις Περιγράφουν ιδιότητες (properties) του element trompette no rue Croix-Bosset Οπως και τα elements, τα attributes ορίζονται από τον χρήστη

Βάσεις Δεδομένων και Παγκόσμιος Ιστός8 Attributes και elements Διαφορές με elements: Η τιμή του attribute είναι πάντα ένα string σε εισαγωγικά, ενώ το element μπορεί να περιέχει άλλα elements Ενα element μπορεί να έχει το πολύ ένα attribute με ένα όνομα, ενώ μπορεί να έχει πολλά subelements με το ίδιο όνομα Τα attributes: Φανερώνουν την καταγωγή της XML σαν document markup γλώσσας Εισάγουν κάποια δυσκολία στην ανταλλαγή πληροφορίας: αναπαράσταση σαν attribute ή σαν subelement; Alan

Βάσεις Δεδομένων και Παγκόσμιος Ιστός9 ΧML και ημιδομημένα δεδομένα Η XML είναι κατάλληλη για την αναπαράσταση ημιδομημένων δεδομένων ssd-expression: {person: {name: “Alan”, age: 42, Αντίστοιχο XML: Alan 42 Διαφορές με ημιδομημένα δεδομένα: Μοντέλο XML Graph, XML references, διάταξη (order), μίξη elements με κείμενο, επιπλέον στοιχεία της XML

Βάσεις Δεδομένων και Παγκόσμιος Ιστός10 XML Graph Ενα μοντέλο για XML data: XML Graph Οι κόμβοι αντιστοιχούν στα elements Διαφορά με SSD Graph: οι ετικέτες είναι στους κόμβους Εύκολη η μετατροπή, ιδίως αν έχουμε δένδρο Μπορούμε να έχουμε γράφο; - ΝΑΙ

Βάσεις Δεδομένων και Παγκόσμιος Ιστός11 XML References H XML έχει έναν μηχανισμό ώστε ένα element να μπορεί να «δείχνεται» από περισσότερους από έναν «πατέρες» Ορίζοντας έτσι γράφο αντί για δένδρο Ο μηχανισμός είναι attributes τύπου ID, IDREF, και IDREFS Τα ID αναθέτουν ταυτότητες στα elements Τα IDREF «δείχνουν» στα ID από άλλα elements, οπουδήποτε Nevada... Carson City Ποιά attributes είναι τύπου ID / IDREF; Πάντως όχι κατ’ ανάγκη αυτά που λέγονται id / idref Αλλά αυτά που ορίζονται από το DTD (στην συνέχεια)

Βάσεις Δεδομένων και Παγκόσμιος Ιστός12 Διάταξη Τα δύο SSD είναι ισοδύναμα: {person: {firstname: “John”, lastname: “Smith”}} {person: {lastname: “Smith”, firstname: “John”}} Ενώ τα δύο XML δεν είναι ισοδύναμα: John Smith John Τα XML attributes δεν είναι διατεταγμένα Τα παρακάτω είναι ισοδύναμα: Η απαίτηση για διάταξη δυσκολεύει την αποδοτική διαχείριση των δεδομένων XML Συχνά η διάταξη αγνοείται σε εφαρμογές ανταλλαγής πληροφορίας

Βάσεις Δεδομένων και Παγκόσμιος Ιστός13 Μίξη elements και κειμένου Το παρακάτω επιτρέπεται στην XML Λέμε ότι το person έχει mixed content This is my best friend Alan 42 I am not too sure about the following Δείχνει την εγγραφο-κεντρική καταγωγή της XML Κάπως «αφύσικο» από την πλευρά των βάσεων δεδομένων Προτιμούμε το element content

Βάσεις Δεδομένων και Παγκόσμιος Ιστός14 Επιπλέον στοιχεία της XML Εγγραφο-κεντρικά στοιχεία που δεν χρειάζονται στην ανταλλαγή δεδομένων Σχόλια Processing Instructions Αρχική γραμμή Προαιρετικό Document Type Definition (DTD) Ορίζει την γραμματική του κειμένου …  root element

Βάσεις Δεδομένων και Παγκόσμιος Ιστός15 DTD Document Type Definition (DTD): αναπόσπαστο μέρος της XML Προτάθηκε σαν μια γραμματική για τα XML έγγραφα Σε κάποιο βαθμό μπορεί να ιδωθεί σαν σχήμα για δεδομένα μορφοποιημένα σε XML Ενα DTD που περιγράφει δυαδικά δένδρα: Τα DTDs μοιάζουν να ορίζουν τύπους δεδομένων <!DOCTYPE db [...]>

Βάσεις Δεδομένων και Παγκόσμιος Ιστός16 Δήλωση attributes στο DTD Σύνδεση των attributes με τα elements στα οποία εμφανίζονται <name language=“French” department=“Music”>trompette <!ATTLIST name language CDATA #REQUIRED department CDATA #IMPLIED> Ορισμός των attributes #REQUIRED υποχρεωτικό, #IMPLIED προαιρετικό Τύπος CDATA = string Τύποι ID, IDREF, IDREFS

Βάσεις Δεδομένων και Παγκόσμιος Ιστός17 Well-formed και valid Well-formed XML έγγραφα Τα tags πρέπει να είναι σωστά εμφωλιασμένα Τα attributes ενός element πρέπει να είναι μοναδικά Valid XML έγγραφο Είναι well-formed Εχει κάποιο DTD Συμμορφώνεται με αυτό το DTD Περιορισμοί του DTD σαν σχήμα για δεδομένα XML Δεν υπάρχουν ατομικοί τύποι (πχ. integer) Δεν υπάρχουν περιορισμοί διαστήματος (πχ ) Ο τύπος ενος element είναι global (πχ. ίδιο name και σε person και σε course;) Δεν προσδιορίζει τον τυπο των IDREFs

XML και DTD Υποστηρικτικές τεχνολογίες Γλώσσες ερωτημάτων XML

Βάσεις Δεδομένων και Παγκόσμιος Ιστός19 XML Namespaces Πρόβλημα: ο τύπος των element είναι global Το ίδιο έγγραφο πρέπει να μπορεί να χρησιμοποιηθεί από πολλά προγράμματα που καταλαβαίνουν άλλα markups Συγκρούσεις στην ονοματολογία; Λύση: XML Namespaces = συλλογές ονομάτων Default namespace ( urn:loc.bla ) για το <book xmlns=“urn:loc.bla” xmlns:isbn=“urn:bla.bla”> the title Επίσης και για τα attibutes Baby food

Βάσεις Δεδομένων και Παγκόσμιος Ιστός20 XML Schema Αντιμετωπίζει τις ανεπάρκειες του DTD Ορίζει αυστηρότερα σύνθετους τύπους, με βασικούς τύπους και περιορισμούς Εκφράζεται και το ίδιο σε ΧΜL Ενα απόσπασμα:

Βάσεις Δεδομένων και Παγκόσμιος Ιστός21 XSL Αποτελείται από τρια ξεχωριστα τμήματα XSL Formating Objects Ορίζει το format παρουσίασης ενός εγγράφου XML XPath: XML Path Language Επιλέγει τμήματα ενός εγγράφου XML Απλοποιημένη μορφή, επιστρέφει τα βιβλία σε ένα XML (πίσω): database/biblio/book (ονόματα XML tags) Επιστρέφει τους πρώτους συγγραφείς των βιβλίων: root()/descendant::book/child::author[position()=first()] XSLT: XSL Transformation language Μετατρέπει ένα έγγραφο XML σε κάποιο άλλο έγγραφο

Βάσεις Δεδομένων και Παγκόσμιος Ιστός22 XSLT: παράδειγμα Roux Combalusier 1976 Database Systems Smith 1999 Database Systems... Book Titles Book Titles <xsl:for-each select=“database/biblio/book”> Μετατρέπει το XML σε έναν HTML κατάλογο των τίτλων των βιβλίων

XML και DTD Υποστηρικτικές τεχνολογίες Γλώσσες ερωτημάτων XML

Βάσεις Δεδομένων και Παγκόσμιος Ιστός24 XML-QL Η XML-QL μοιάζει με τις γλώσσες για SSD – προσαρμογή όμως σε XML Patterns και path expressions για να επιλέγει τμήματα από τα XML δεδομένα εισόδου Μεταβλητές στις οποίες δεσμεύονται δεδομένα Templates που υπαγορεύουν πως θα κατασκευαστούν τα XML δεδομένα του αποτελέσματος Θεωρεί ότι το μοντέλο γράφου έχει τις ετικέτες στις ακμές where Morgan Kaufmann $T $A in “ construct $A

Βάσεις Δεδομένων και Παγκόσμιος Ιστός25 ΧΜL-QL (2) Δομή ερωτήματος σε σχέση με Lorel: where  from + where, construct  select Τα patterns ορίζουν τι πρέπει να υπάρχει, και όχι τι δεν πρέπει να υπάρχει Το pattern θα ταιριάξει με κάθε δυνατό τρόπο στα δεδομένα, και οι μεταβλητές θα δεσμευτούν αντίστοιχα Στην πραγματικότητα δεσμεύονται στα oids των κόμβων (elements) Πχ. το pattern $X $Y $X $Y

Βάσεις Δεδομένων και Παγκόσμιος Ιστός26 Κατασκευή XML αποτελέσματος Μέσω templates στο construct clause Η συντομογραφία … σημαίνει … where Morgan Kaufmann $T $A in “ construct $A $T Αποτέλεσμα: ένα element για κάθε binding των $Α, $Τ... Όλα τα elements του αποτελέσματος μπαίνουν στο root Παραλείπουμε το root element στα ακόλουθα για ευκολία

Βάσεις Δεδομένων και Παγκόσμιος Ιστός27 Προαιρετικά elements Θέλουμε τους τίτλους όλων των βιβλίων και τις τιμές όπου υπάρχουν Τα elements στην XML μπορεί να είναι προαιρετικά Αν βάλουμε τo στο pattern, θα αποκλείσουμε από το αποτέλεσμα τα βιβλία χωρίς τιμή Λύση: εμφωλιασμένα ερωτήματα Μετά το «in» ακολουθεί URL κάποιου XML εγγράφου, ή μεταβλητή δεσμευμένη σε τμήμα ενός XML εγγράφου where $B in “ $T in $B construct $T where $P in $B construct $P

Βάσεις Δεδομένων και Παγκόσμιος Ιστός28 Grouping Παράδειγμα: η XML βάση έχει elements με πολλούς σε κάθε Ερώτημα: βρες όλους τους authors, και για κάθε έναν τους τίτλους των βιβλίων που έγραψε (regrouping) where $A in “ construct $A where $A $T in “ construct $T

Βάσεις Δεδομένων και Παγκόσμιος Ιστός29 Attributes, joins Ερωτήματα πάνω σε attributes Βρες τους τίτλους των βιβλίων στα γαλλικά where element_as $T in “abc.xml” construct $T Το element_as δεσμεύει μεταβλητη σε όλο το element αντί για το element content μόνον (default, καθώς και content_as) Βρες όλες τις γλώσσες των βιβλίων where in “abc.xml” construct $L Join: βρες συγγραφείς που έχουν τουλάχιστον δύο βιβλία where $A content_as $B1 in “abc.xml”, $A content_as $B2 in “abc.xml”, $B1 != $B2 construct $A

Βάσεις Δεδομένων και Παγκόσμιος Ιστός30 Regular path expressions DTD που ορίζει αναδρομικά το element Ερώτημα: το όνομα κάθε part που περιέχει άλλο part μάρκας “Ford” Ανεξάρτητα από το βάθος του εμφωλιασμού where $N Ford in “ construct $N Πιο πολύπλοκες εκφράσεις Επιπλέον, το wildcard ταιριάζει με κάθε tag where $R in “ construct $R

Βάσεις Δεδομένων και Παγκόσμιος Ιστός31 Quilt και ΧQuery Πολλές άλλες γλώσσες ερωτημάτων για XML H XQuery γίνεται το πρότυπο γλώσσας ερωτημάτων για XML Επηρεασμένη απο την XML-QL, και βασισμένη στην Quilt H Quilt δομείται πάνω σε FLWR (προφέρεται “flower”) expressions For: δεσμεύει μεταβλητές, let: εισάγει νέες μεταβλητές, where: θέτει συνθήκες, return: επιστρέφει αποτελέσματα Δώσε τους συγγραφείς των βιβλίων σε αλφαβητική σειρά, και για κάθε συγγραφέα τα βιβλία του ταξινομημένα με βάση την ημερομηνία έκδοσης FOR $a IN distinct(document(“biblio.xml”)//author) RETURN $a/text() FOR $b IN document(“biblio.xml”)//book[author=$a] RETURN $b/title, $b/date SORTBY date DESCENDING SORTBY name