1 / 18

Ιόνιο Πανεπιστήμιο ΠΜΣ Επιστήμη της Πληροφορίας

Ιόνιο Πανεπιστήμιο ΠΜΣ Επιστήμη της Πληροφορίας. Διατύπωση Ερωτημάτων σε XML τεκμήρια με τη γλώσσα XQuery Εργασία για το μάθημα Ηλεκτρονική Δημοσίευση. Υπεύθυνος καθηγητής: Σαράντος Καπιδάκης Φοιτήτρια: Αγγελίνα Λούβαρη. XML. Η XML είναι μία ιδιαίτερα εύκαμπτη διάταξη δεδομένων ,

audra-velez
Télécharger la présentation

Ιόνιο Πανεπιστήμιο ΠΜΣ Επιστήμη της Πληροφορίας

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Ιόνιο ΠανεπιστήμιοΠΜΣ Επιστήμη της Πληροφορίας Διατύπωση Ερωτημάτων σε XML τεκμήρια με τη γλώσσα XQuery Εργασία για το μάθημα Ηλεκτρονική Δημοσίευση Υπεύθυνος καθηγητής: Σαράντος Καπιδάκης Φοιτήτρια: Αγγελίνα Λούβαρη

  2. XML • Η XML είναι μία ιδιαίτερα εύκαμπτη διάταξη δεδομένων, • Έχει χρησιμοποιηθεί για να περιγράψει διαφορετικών ειδών δεδομένα. • Ανάγκη για την χρήση μιας γλώσσας επερωτήσεων XML • Ενδεικτικά, Lorel, Quilt, MnQL, Xduce, XMLQL, XPath, Xquery, XQL και YaTL

  3. X-Query • Βασίζεται στην γλώσσα XPath • Περιέχει κόμβους και τύπους κόμβων • Συμβατή με XML, XML Schema, XPath, XSLT • Δεν αποτελεί ακόμα πρότυπο.

  4. X-Query-Δεδομένα • Αντικείμενο (item): μοναδική τιμή ή ένας μεμονωμένος κόμβος • Μία σειρά αντικειμένων αποτελεί μία ακολουθία • Κόμβοι: τεκμηρίου (document nodes), στοιχείων (element nodes), γνωρισμάτων(attribute nodes), κειμένου (text nodes), χώρων ονομάτων (namespace nodes), οδηγιών επεξεργασίας (processing instruction nodes) και σχολίων (comment nodes)

  5. Σχόλια και σήμανση • Σχόλια (: Thanks, Jeni! :) • Συμβολοσειρές "a string” 'a string‘ "This is a string, isn't it?” 'This is a "string”'

  6. Εκφράσεις XQuery Οι εκφράσεις XQuery εμπίπτουν σε επτά ευρύς τύπους: • εκφράσεις μονοπατιού, • κατασκευαστές στοιχείων, • FLWOR εκφράσεις, • εκφράσεις που περιέχουν τελεστές και συναρτήσεις, • υποθετικές εκφράσεις, • ποσοτικές εκφράσεις και • εκφράσεις που δοκιμάζουν ή μετατρέπουν τύπους δεδομένων.

  7. 1.Εκφράσεις μονοπατιών Οι εκφράσεις μονοπατιών είναι βασισμένες στη σύνταξη του XPath, τα XML πρότυπα για τη διευκρίνιση "των πορειών" XML έγγραφου, παραδείγματος χάριν: Βρίσκει όλους τους τίτλους των κεφαλαίων στο έγγραφο books.xml: έγγραφο ("books.xml")/ chapter / title

  8. 2. Κατασκευαστές στοιχείων Αυτός ο τύπος έκφρασης χρησιμοποιείται όταν πρέπει να δημιουργήσει μια ερώτηση νέα στοιχεία, παραδείγματος χάριν: Παράγετε το στοιχείο <book> με τις ιδιότητες "year" και του οποίου η αξία είναι ο τίτλος του βιβλίου: <book> { $b/@year }{ $b/title } </book> <book year="1992"> <title>Advanced Programming in the Unix environment</title> </book>

  9. 3. FLWΟR εκφράσεις • Ο όρος “for” O όρος for εκχωρεί στο όνομα μιας μεταβλητής κάθε αντικείμενο ενός συγκεκριμένου στοιχείου. Ο όρος for έχει σαν αποτέλεσμα την επανάληψη. Μπορούν να χρησιμοποιηθούν πολλαπλοί όροι for μέσα στην ίδια έκφραση FLWOR. • Ο όρος let Ο όρος let επιτρέπει την εκχώρηση μιας μεταβλητής και αποτρέπει την επανάληψη μιας έκφρασης πολλές φορές. Ο όρος let δεν έχει σαν αποτέλεσμα την επανάληψη. • O όρος “where” Ο όρος where προσδιορίζει τα κριτήρια (ένα ή περισσότερα) για την εξαγωγή ενός αποτελέσματος της Xquery. • Ο όρος “order by” Ο όρος order by ταξινομεί τα εξαγόμενα αποτελέσματα. Π.χ. θέλουμε να ταξινομήσουμε τα αποτελέσματα κατά κατηγορία και τίτλο. • Ο όρος “return” Ο όρος return προσδιορίζει τι ακριβώς πρέπει να επιστρέψει σαν απάντηση η Xquery.

  10. 4. Εκφράσεις που περιέχουν τελεστές και συναρτήσεις Η XQuery παρέχει των περισσότερων από τους τελεστές και τις λειτουργίες που μπορούν επίσης να βρεθούν σε άλλες γλώσσες υπολογιστών, συμπεριλαμβανομένων: • των αριθμητικών τελεστών, • τελεστές σύγκρισης, • τελεστέςακολουθιών • Συναρτήσεις.

  11. Αριθμητικοί τελεστές Η XQuery υποστηρίζει, όπως είδαμε, αριθμητικούς τελεστές, όπως τα εξής: +/-,*, div, idiv και mod. Ο τελεστής div κάνει την πράξη της διαίρεσης. Ο τελεστής idiv απαιτεί ακεραίους τελεστές και δίνει σαν αποτέλεσμα ένα ακέραιο. Η χρήση τους φαίνεται στο ακόλουθο παράδειγμα το οποίο έχει ως αποτέλεσμα (4): 2 + <int>{ 2 }</int>

  12. τελεστές σύγκρισης

  13. τελεστέςακολουθιών • Union • Intersect • Except Π.χ. for $b in doc("books.xml")//book where $b/title ="TCP/IPIllustrated” return <book> { $b/@* } { $b/* except $b/price } </book>

  14. min(), max(), count(), avg(), sum(). distinct-values(), οι συναρτήσεις εισαγωγής doc() και collection() not() και empty() Συναρτήσεις for $b in doc("books.xml")//book where not(empty($b/author)) return $b

  15. 5. Υποθετικές εκφράσεις • Η XQuery επίσης επιτρέπει τη χρήση IF-THEN-ELSE εκφράσεων. for $b in doc("books.xml")//book return  <book> { $b/title } {  for $a at $i in $b/author where $i <= 2 return <author>{string($a/last), ", ", string($a/first)}</author> } { if (count($b/author) > 2) then <author>et al.</author> else () } </book>

  16. 6. Ποσοτικές εκφράσεις Οι SOME and EVERY είναι οι αποκαλούμενες ποσοτικές εκφράσεις. Μέσω της SOME έκφρασης είναι δυνατό να προσδιορίσει εάν τουλάχιστον ένας κόμβος ενός συνόλου κόμβων ικανοποιεί ένα κατηγόρημα. Η EVERY έκφραση χρησιμοποιείται για να εξετάσει εάν όλοι οι κόμβοι ενός συνόλου ικανοποιούν ένα κατηγόρημα. Π.χ: for $b in doc("books.xml")//book where every $a in $b/author satisfies ($a/last="Stevens" and $a/first="W.") return $b/title

  17. Συμπεράσματα • Σχετικά εύκολη γλώσσα • Προσφέρει δυνατότητα επεξεργασίας και διατύπωσης πολύπλοκων ερωτημάτων • Ομοιότητα με SQL και συμβατότητα με XML XML Schema

  18. ΚΑΛΟ ΚΑΛΟΚΑΙΡΙ !!!

More Related