ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΔΙΑΤΜΗΜΑΤΙΚΟ ΠΡΟΓΡΑΜΜΑ ΜΕΤΑΠΤΥΧΙΑΚΩΝ ΣΠΟΥΔΩΝ «ΠΛΗΡΟΦΟΡΙΚΗ ΚΑΙ ΔΙΟΙΚΗΣΗ» ΤΜΗΜΑΤΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΟΙΚΟΝΟΜΙΚΩΝ ΕΠΙΣΤΗΜΩΝ Σημασιολογική Επισημείωση Επιστημονικών Δημοσιεύσεων Διπλωματική Εργασία του Αθανασίου Μουλά (ΑΕΜ: 501) Εξεταστική Επιτροπή Επιβλέπων: Νικόλαος Βασιλειάδης Μέλη: Κουσενίδης Δημήτριος Αγγελής Ελευθέριος ΘΕΣΣΑΛΟΝΙΚΗ ΣΕΠΤΕΜΒΡΙΟΣ 2016 i
Πρόλογος Όσο οι δυνατότητες που μας δίνει το διαδίκτυο αυξάνονται, τόσο αυξάνονται και οι απαιτήσεις των χρηστών. Έχουμε περάσει σε μία εποχή που ο όγκος των πληροφοριών είναι τεράστιος και η ανάγκη τόσο για την σύνδεση των πληροφοριών αυτών, όσο και για την κατηγοριοποίηση τους, ώστε να αναζητούνται αποτελεσματικότερα από τους χρήστες του διαδικτύου είναι επιτακτική. Η παρούσα διπλωματική εργασία ασχολείται με μεθόδους διασύνδεσης και αναπαραγωγής πληροφοριών στον Σημασιολογικό Ιστό. Συγκεκριμένα, θα γίνει προσπάθεια της μετατροπής των δεδομένων που αφορούν σε επιστημονικές δημοσιεύσεις και βρίσκονται στην Ιστοσελίδα της ερευνητικής ομάδας LPIS. Τα δεδομένα αυτά θα μετατραπούν από τη γλώσσα XML στη γλώσσα RDF/XML, ώστε να επιτευχθεί η αναπαράσταση των επιστημονικών δημοσιεύσεων με σημασιολογική επισημείωση. Κλείνοντας θα ήθελα να ευχαριστήσω ιδιαίτερα τον καθηγητή του Διατμηματικού προγράμματος σπουδών «Πληροφορική και Διοίκηση» των τμημάτων Πληροφορικής και Οικονομικών Επιστημών του Αριστοτελείου Πανεπιστημίου Θεσσαλονίκης κ. Νικόλαο Βασιλειάδη για την πολύτιμη βοήθειά του κατά την εκπόνηση της εργασίας. Αθανάσιος Μουλάς 1/9/2016 i
Περιεχόμενα ΠΡΟΛΟΓΟΣ... I ΠΕΡΙΕΧΟΜΕΝΑ... III 1 ΕΙΣΑΓΩΓΗ... 1 2 ΘΕΩΡΗΤΙΚΕΣ ΈΝΝΟΙΕΣ... 2 2.1 ΠΑΓΚΟΣΜΙΟΣ ΙΣΤΟΣ (WORLD WIDE WEB)... 2 2.2 ΣΗΜΑΣΙΟΛΟΓΙΚΟΣ ΙΣΤΟΣ (SEMANTIC WEB)... 4 3 ΣΤΟΙΧΕΙΑ ΣΗΜΑΣΙΟΛΟΓΙΚΟΥ ΙΣΤΟΥ... 6 3.1 ΜΕΤΑΔΕΔΟΜΕΝΑ... 6 3.2 ΔΙΑΣΥΝΔΕΔΕΜΕΝΑ ΔΕΔΟΜΕΝΑ... 9 3.3 URL - URI - URN... 11 3.4 ΟΝΤΟΛΟΓΙΑ... 14 4 ΓΛΩΣΣΕΣ ΑΝΑΠΑΡΑΣΤΑΣΗΣ ΓΝΩΣΗΣ ΣΤΟΝ ΣΗΜΑΣΙΟΛΟΓΙΚΟ ΙΣΤΟ.. 17 4.1 Η ΓΛΩΣΣΑ ΚΑΙ ΟΙ ΕΠΕΚΤΑΣΕΙΣ ΤΗΣ XML... 17 4.1.1 Η XML... 17 4.1.2 XML Schema... 21 4.1.3 XSL και XSLT... 23 4.2 ΟΙ ΓΛΩΣΣΕΣ RDF ΚΑΙ RDF SCHEMA... 25 4.2.1 Εισαγωγή στη γλώσσα RDF... 25 4.2.2 Βασικά στοιχεία της RDF... 25 4.2.3 RDF Schema... 27 4.2.4 Λεξιλόγιο RDF και RDFS... 28 4.2.5 Τρόποι κωδικοποίησης της RDF... 34 4.3 Η ΓΛΩΣΣΑ OWL (WEB ONTOLOGY LANGUAGE)... 39 4.3.1 Οι τύποι της OWL... 40 4.3.2 Κλάσεις, Ιδιότητες και Στιγμιότυπα στην OWL... 41 4.3.3 Λεξιλόγιο της OWL... 43 iii
5 ΟΝΤΟΛΟΓΙΕΣ... 47 5.1 ΟΝΤΟΛΟΓΙΕΣ ΓΙΑ ΕΠΙΣΗΜΕΙΩΣΗ ΔΗΜΟΣΙΕΥΣΕΩΝ ΣΤΟ ΣΗΜΑΣΙΟΛΟΓΙΚΟ ΙΣΤΟ... 47 5.1.1 BIBO (Bibliographic Ontology)... 47 5.1.2 Dublin core (DC)... 49 5.1.3 FABIO (FRBR-aligned Bibliographic Ontology)... 50 5.1.4 CiTo (Citation Typing Ontology)... 52 5.1.5 C 40... 54 5.1.6 FOAF... 55 6 ΔΟΚΙΜΗ ΜΕΤΑΤΡΟΠΗΣ... 56 6.1 Η ΑΡΧΙΚΗ ΜΟΡΦΗ ΤΟΥ LPIS... 56 6.2 Η ΔΙΑΔΙΚΑΣΙΑ ΤΗΣ ΜΕΤΑΤΡΟΠΗΣ... 58 6.2.1 Ο κώδικας XSLT... 58 6.2.2 Μετατροπή με το εργαλείο Virtuoso Open-Source... 63 6.2.3 Αποτέλεσμα μετατροπής... 65 6.2.4 Απολογισμός... 67 7 ΣΥΜΠΕΡΑΣΜΑΤΑ... 68 ΒΙΒΛΙΟΓΡΑΦΙΑ... 69 iv
1 Εισαγωγή Ο Παγκόσμιος Ιστός έχει κατακλυστεί από πληροφορίες που αφορούν βιβλία άρθρα επιστημονικά δεδομένα, είναι όμως η ανάκτηση τους δυνατή, και πόσο αποτελεσματικά μπορούν να αναζητηθούν. Το πρόβλημα αυτό έρχεται να λύσει ο Σημασιολογικός Ιστός. Ο Σημασιολογικός Ιστός που είναι επέκταση του Παγκοσμίου Ιστού καλείται να παράσχει τα μέσα με τα οποία θα μπορέσουμε να κατηγοριοποιήσουμε και να συνδέσουμε πολλές μορφές δεδομένων ώστε να δημιουργήσουμε ένα δίκτυο διασυνδεδεμένων μεταξύ τους δεδομένων που θα είναι προσβάσιμο τόσο από τον άνθρωπο όσο και από εφαρμογές. Η παρούσα εργασία θα προσπαθήσει να αναλύσει την έννοια του σημασιολογικού ιστού και τον τρόπο με τον οποίο μπορούμε να αναπαράγουμε υπάρχοντα δεδομένα με σημασιολογική επισημείωση. Το δεύτερο κεφάλαιο πραγματεύεται τις έννοιες και τις διαφορές μεταξύ Παγκόσμιου και Σημασιολογικού Ιστού. Στο τρίτο κεφάλαιο θα αναλυθούν κάποια στοιχεία από τα οποία συγκροτείται ο Σημασιολογικός Ιστός όπως τα διασυνδεδεμένα δεδομένα και οι οντολογίες. Στο τέταρτο κεφάλαιο θα εξεταστούν αναλυτικά οι γλώσσες με τις οποίες μπορεί να γίνει αναπαράσταση δεδομένων στο σημασιολογικό ιστό. Θα περιγραφεί ο τρόπος σύνταξης, οι λειτουργίες και το λεξιλόγιο των γλωσσών αυτών καθώς και παραδείγματα με κύριο αντικείμενο την αναπαράσταση βιβλιογραφικών οντοτήτων. Στο πέμπτο κεφάλαιο θα αναλυθεί ένα βασικό στοιχείο του σημασιολογικού ιστού που είναι οι οντολογίες. Θα εξεταστούν οντολογίες που αφορούν στην αναπαράσταση επιστημονικών δημοσιεύσεων και οι οποίες θα μας επιτρέψουν να αναπαράγουμε τέτοιου είδους δημοσιεύσεις στο σημασιολογικό ιστό. Τέλος στο έκτο και τελευταίο κεφάλαιο θα γίνει μία δοκιμή μετατροπής των δεδομένων που βρίσκονται στην ιστοσελίδα της ερευνητικής ομάδας του LPIS. Θα γίνει προσπάθεια να μετατραπούν οι επιστημονικές δημοσιεύσεις από τη γλώσσα XML στην οποία βρίσκονται, σε γλώσσα RDF/XML ώστε να μπορέσει να γίνει επιτυχώς η αναπαράστασή τους στο Σημασιολογικό Ιστό. 1
2 Θεωρητικές Έννοιες Σε αυτό το κεφάλαιο θα αναλυθούν βασικές θεωρητικές έννοιες όπως ο Παγκόσμιος Ιστός και η διαφορά του με το διαδίκτυο, καθώς και το πέρασμα από τον Παγκόσμιο Ιστό στο Σημασιολογικό Ιστό και οι καινοτομίες που προωθεί. 2.1 ΠΑΓΚΟΣΜΙΟΣ ΙΣΤΟΣ (WORLD WIDE WEB) Ο παγκόσμιος ιστός 1 (World Wide Web) είναι ένας χώρος πληροφοριών ο οποίος μας δίνει πρόσβαση σε αρχεία και διάφορες άλλες πηγές πληροφοριών. Στις πληροφορίες αυτές αντιστοιχούν διευθύνσεις δικτύου (web addresses) που διασυνδέονται με συνδέσμους υπερκειμένου 2 (hypertext links) και είναι προσβάσιμες μέσω του διαδικτύου. Η ιδέα του παγκόσμιου ιστού ξεκίνησε το 1989 στο ινστιτούτο πυρηνικών ερευνών του Σέρν (CERN) από τον Tim Berners-Lee. Η αρχική του λειτουργία ήταν ο διαμοιρασμός πληροφοριών σχετικά με έρευνες στην πυρηνική φυσική. Συχνά κάνουμε το λάθος να συγχέουμε την έννοια του παγκοσμίου ιστού με το διαδίκτυο, είναι όμως δύο διαφορετικές έννοιες και στην ουσία ο παγκόσμιος ιστός είναι ένα υποσύνολο του διαδικτύου (Christensson, 2016). Το διαδίκτυο είναι ένα σύνολο δικτύων που περιέχει το σύνολο των πληροφοριών. Υπάρχουν για παράδειγμα λειτουργίες όπως η αποστολή ενός μηνύματος ηλεκτρονικού ταχυδρομείου (e-mail) που ενώ περιλαμβάνονται στο διαδίκτυο δεν ανήκουν στον παγκόσμιο ιστό. Ο παγκόσμιος ιστός αποτελείται από πλήθος διακομιστών δικτύου (web servers), οι οποίοι είναι ηλεκτρονικοί υπολογιστές που αποθηκεύουν και προωθούν ιστοσελίδες (webpages) σε οποιονδήποτε έχει μία σύνδεση δικτύου. Οι ιστοσελίδες 3 είναι αλληλεπιδραστικά αρχεία που περιέχουν κείμενο, γραφικά και πολυμέσα. Συχνά δε ενσωματώνουν λειτουργίες εφαρμογών που εκτελούνται κατά την διάρκεια της 1 https://en.wikipedia.org/wiki/world_wide_web 2 https://en.wikipedia.org/wiki/hypertext 3 https://en.wikipedia.org/wiki/web_page 2
πρόσβασης στην ιστοσελίδα, όπως ακριβώς θα εκτελούνταν αν ήταν εγκατεστημένες στον ηλεκτρονικό υπολογιστή ή σε κάποια φορητή συσκευή. Ο πυρήνας του παγκοσμίου ιστού είναι οι υπερσυνδέσεις 4 (hyperlinks) που επιτρέπουν την σύνδεση μεταξύ ιστοσελίδων είτε βρίσκονται αποθηκευμένες στο ίδιο δίκτυο, είτε βρίσκονται στην άλλη άκρη του κόσμου. Η διεύθυνση που οδηγεί σε μία ιστοσελίδα ονομάζεται URL (uniform resource locator). Η εφαρμογή που είναι υπεύθυνη ώστε να παρουσιάζονται τα δεδομένα του παγκοσμίου ιστού στον εκάστοτε χρήστη ονομάζεται περιηγητής Ιστού 5 (web browser). Ο περιηγητής Ιστού μπορεί να εμφανίσει, να μεταφέρει και να ανακτήσει δεδομένα από τον παγκόσμιο ιστό. Παραδείγματα τέτοιων εφαρμογών, οι οποίες χρησιμοποιούνται ευρέως είναι το mozilla firefox 6 και google chrome 7. Για τον καθορισμό της λειτουργίας της επικοινωνίας στον παγκόσμιο ιστό χρησιμοποιείται το πρωτόκολλο Hypertext Transfer Protocol 8 (HTTP). Το πρωτόκολλο HTTP χρησιμοποιείται από τον παγκόσμιο ιστό για να καθορίζει πως σχηματοποιούνται και πως αποστέλλονται τα μηνύματα, καθώς και πως αντιδρούν οι διακομιστές δικτύου (web servers) και οι περιηγητές ιστού (web browsers) στις εντολές που τους δίνει ο χρήστης. Για παράδειγμα όταν πληκτρολογούμε μία URL στο περιηγητή ιστού, στην ουσία δίνουμε μία εντολή μέσω του πρωτοκόλλου HTTP σε έναν εξυπηρετητή δικτύου να εντοπίσει και να μας αποστείλει την ιστοσελίδα που αντιστοιχεί στην URL που πληκτρολογήσαμε. Το μέγεθος του παγκοσμίου ιστού αυξάνεται ραγδαία με το πέρασμα των ετών. Το 1994 υπήρχαν μόλις 500 ιστοσελίδες, μέχρι το τέλος του 1995 υπήρχαν περίπου 10,000 και σύμφωνα με αναφορές της εταιρείας Google 9 σε έλεγχο που πραγματοποίησε το 2010 υπήρχαν ένα τρισεκατομμύριο μοναδικές διευθύνσεις (URLs). Ο τεράστιος αυτός όγκος πληροφοριών επέβαλε την ανάγκη για εργαλεία με τα οποία ο χρήστης θα 4 http://www.webopedia.com/term/h/hyperlink.html 5 https://en.wikipedia.org/wiki/web_browser 6 https://www.mozilla.org/el/firefox/new/ 7 https://www.google.com/intl/el_gr/chrome/browser/desktop/index.html 8 http://www.webopedia.com/term/h/http.html 9 https://el.wikipedia.org/wiki/google 3
μπορούσε να αναζητήσει πληροφορίες, διευθύνσεις ιστοσελίδων και δεδομένα καθώς περιηγείται στον παγκόσμιο ιστό. Τέτοια εργαλεία είναι οι μηχανές αναζήτησης 10 (search engines), οι οποίες είναι εφαρμογές που επιτρέπουν στο χρήστη να αναζητήσει οποιαδήποτε πληροφορία μέσα στον παγκόσμιο ιστό. Χαρακτηριστικά παραδείγματα μηχανών αναζήτησης είναι των εταιρειών Google και Yahoo. Οι μηχανές αναζήτησης όμως έχουν ελαττώματα όσον αφορά την ακρίβεια της αναζήτησης και των αποτελεσμάτων γιατί βασίζονται στην αναζήτηση με λέξεις κλειδιά. Η αδυναμία τους να συνδέσουν τα δεδομένα και να καταλάβουν νοήματα, κυρίως από ιστοσελίδες με πολύπλοκο λεξιλόγιο, τις καθιστά αναποτελεσματικές σε πολλές περιπτώσεις αναζητήσεων. 2.2 ΣΗΜΑΣΙΟΛΟΓΙΚΟΣ ΙΣΤΟΣ (SEMANTIC WEB) Η αποτυχία αυτή των μηχανών αναζήτησης έφερε την ανάγκη για την εξέλιξη του παγκοσμίου ιστού στον Σημασιολογικό Ιστό. Ο Σημασιολογικός Ιστός 11 (SEMANTIC WEB) που συναντάται και με τα ονόματα WEB 3.0 ή Web of Data είναι η επέκταση του Παγκόσμιου Ιστού μέσω της οποίας δίνεται σε κάθε πληροφορία μία καθορισμένη έννοια η οποία επιτρέπει την συνεργασία μεταξύ ανθρώπου και ηλεκτρονικών υπολογιστών ( Berners-Lee et al, 2001).Δίνεται η δυνατότητα να συνδέονται δεδομένα από μία πηγή σε μία άλλη πηγή, να δημιουργούνται κατά κάποιο τρόπο έννοιες η οποίες είναι «κατανοητές» από τους ηλεκτρονικούς υπολογιστές ώστε να μπορούν να πραγματοποιήσουν πιο εξειδικευμένες εργασίες εκ μέρους του χρήστη 12. Σύμφωνα με τον Spivack (2007) η γενικότερη ιδέα είναι η μετατροπή του παγκοσμίου ιστού από ένα δίκτυο διανομής αρχείων που είναι η τωρινή του μορφή, σε ένα δίκτυο διανομής βάσεων δεδομένων. Αναλυτικότερα ενώ τα βασικά αντικείμενα του Παγκοσμίου Ιστού είναι οι ιστοσελίδες, τα βασικά αντικείμενα στον σημασιολογικό ιστό είναι κομμάτια δεδομένων που 10 https://en.wikipedia.org/wiki/web_search_engine 11 http://novaspivack.typepad.com/nova_spivacks_weblog/2007/09/hyperdata.html 12 http://www.cambridgesemantics.com/semantic-university/introduction-semantic-web 4
αποκαλούνται τριπλέτες 13 (triples) και διάφορες καταγραφές αυτών όπως για παράδειγμα δένδρα δεδομένων 14 ( trees) ή γράφοι 15 (graphs). Μπορεί να υπάρξει πλήθος τριπλετών στην ίδια ιστοσελίδα, αλλά μπορούν να υπάρξουν και τριπλέτες που βρίσκονται εκτός ιστοσελίδων και προέρχονται απευθείας από μία βάση δεδομένων. Στο σημασιολογικό ιστό λοιπόν περνάμε σε έναν γράφο από προτάσεις 16 (statements) διασυνδεδεμένων δεδομένων που μπορεί να είναι γενικευμένος ή εξειδικευμένος. Σε μία καταγραφή δεδομένων μπορούν να υπάρχουν πολλές προτάσεις (statements) που περιγράφουν το ίδιο θέμα και είναι διασκορπισμένες σε διάφορες θέσεις του δικτύου. Για παράδειγμα έχουμε την πρόταση «Ο Θανάσης κατοικεί στη Θεσσαλονίκη». Αυτή η πρόταση μπορεί να υπάρχει σε μία ιστοσελίδα Χ και να γίνονται αναφορές σε URI τα οποία θα αναλύσουμε σε επόμενο κεφάλαιο σε μία πρόταση στην ιστοσελίδα Α που θα προσδιορίζει την έννοια «Θανάσης», σε μία πρόταση στην ιστοσελίδα Β που θα προσδιορίζει την έννοια «κατοικεί» και σε μία πρόταση στην ιστοσελίδα Γ η οποία θα προσδιορίζει την έννοια «Θεσσαλονίκη». Ο σημασιολογικός ιστός επίσης επιτρέπει σε διάφορους χρήστες να συμπληρώσουν ή να βελτιώσουν αυτές τις προτάσεις το οποίο θα οδηγήσει και στη διεύρυνσή του. Αυτό μπορεί να γίνει με τη χρήση εφαρμογών αλλά και χειροκίνητα συμπληρώνοντας μία ηλεκτρονική φόρμα (web forms) 17, απαντώντας σε ερωτηματολόγια ή παράθυρα διαλόγου (dialog boxes) 18. Στο επόμενο κεφάλαιο λοιπόν θα δούμε ποιες δομές, έννοιες και εργαλεία χρησιμοποιούμε ώστε να αναπτύξουμε τον σημασιολογικό ιστό και την σύνδεση πολλών δεδομένων μεταξύ τους όπως έχει αναφερθεί παραπάνω. 13 https://en.wikipedia.org/wiki/semantic_triple 14 https://en.wikipedia.org/wiki/tree_(data_structure) 15 https://en.wikipedia.org/wiki/graph 16 https://en.wikipedia.org/wiki/statement_(computer_science) 17 https://en.wikipedia.org/wiki/form_(html) 18 https://en.wikipedia.org/wiki/dialog_box 5
3 Στοιχεία Σημασιολογικού Ιστού Προηγούμενα αναφερθήκαμε στον Σημασιολογικό Ιστό και την ανάγκη για την διασύνδεση των δεδομένων μεταξύ τους. Σε αυτό το κεφάλαιο θα δούμε ποία είναι τα στοιχεία αυτά που επιτρέπουν την διασύνδεση των δεδομένων. 3.1 Μεταδεδομένα Τα μεταδεδομένα 19 (metadata) είναι δεδομένα που δίνουν πληροφορίες για άλλα δεδομένα. Αναλυτικότερα τα μεταδεδομένα είναι δομημένες πληροφορίες που περιγράφουν, εξηγούν, υποδεικνύουν και κάνουν ευκολότερη την ανάκτηση μίας πηγής πληροφοριών 20. O Turner (2002) αναφέρει ότι τα μεταδεδομένα παρέχουν στο χρήστη, είτε αυτός είναι άνθρωπος ή μηχανή, τα μέσα να αναγνωρίσουν ότι μία πηγή πληροφοριών υπάρχει και πως θα την ανακτήσουν και θα αποκτήσουν πρόσβαση σε αυτή. Τα μεταδεδομένα λοιπόν συνοψίζουν πληροφορίες για άλλα δεδομένα που δίνουν στο χρήστη την ευκολία να τα αναζητήσει ή να τα επεξεργαστεί. Για παράδειγμα για ένα αρχείο ο συντάκτης, η ημερομηνία δημιουργίας, η ημερομηνία τροποποίησης και το μέγεθος του αρχείου είναι πολύ βασικά μεταδεδομένα. Δίνεται έτσι με αυτά τα χαρακτηριστικά η δυνατότητα στο χρήστη να αναζητήσει και να φιλτράρει τα αρχεία που χρειάζεται. Τα μεταδεδομένα χωρίζονται σε τέσσερις κατηγορίες με βάση το περιεχόμενό τους, τη μεταβλητότητά τους και τη λογική συνάρτησή τους. Οι κατηγορίες τους είναι οι ακόλουθες: Περιγραφικά (Descriptive) Μεταδεδομένα που περιγράφουν το περιεχόμενο της πηγής πληροφοριών και χρησιμοποιούνται κυρίως για την εύρεση και αναγνώρισή της. Τέτοιες πληροφορίες είναι ο τίτλος, ο δημιουργός, λέξεις κλειδιά κ.α. 19 http://whatis.techtarget.com/definition/metadata 20 http://www.niso.org/publications/press/understandingmetadata.pdf 6
Δομικά (Structural) Μεταδεδομένα που χρησιμοποιούνται για να περιγράψουν το πώς δομείται μία πηγή πληροφοριών και πως συνδέεται με άλλες ώστε να αποτεθούν λογικές μονάδες.για παράδειγμα με ποια σειρά δομούνται σελίδες ώστε να αποτελέσουν το κεφάλαιο ενός βιβλίου. Διοικητικά (Administrative) Αυτά τα μεταδεδομένα χρησιμοποιούνται για να περιγράψουν τη διαχείριση της πηγής πληροφοριών, όπως το ποιος χρήστης έχει πρόσβαση ή αν υπόκεινται σε πνευματικά δικαιώματα. Τεχνικά (Technical) Μεταδεδομένα που χρησιμοποιούνται για να περιγράψουν τα τεχνικά χαρακτηριστικά μίας πηγής πληροφοριών, όπως για παράδειγμα τι τύπος αρχείου είναι εικόνας, κειμένου κλπ. Τα μεταδεδομένα χρησιμοποιούνται για διάφορους τύπους αρχείων, όπως αρχεία κειμένου, φωτογραφίες αρχεία πολυμέσων και ιστοσελίδες. Η χρησιμοποίησή τους σε ιστοσελίδες είναι πολύ σημαντική διότι περιέχουν πληροφορίες για το περιεχόμενο ης ιστοσελίδας, καθώς και λέξεις κλειδιά 21 (keywords) που συνδέονται με το περιεχόμενό της. Αυτές οι πληροφορίες ονομάζονται metatags 22. Τα meta tags είναι στοιχεία της HTML και η χρήση τους αποσκοπεί στην παροχή των πληροφοριών που προαναφέρθηκαν για μία ιστοσελίδα. Τα meta tags τοποθετούνται στον κώδικα της ιστοσελίδας, στην επικεφαλιδα (head) και οι πληροφορίες που περιέχουν παρέχονται από τον webmaster. Τα μεταδεδομένα που περιέχουν την σύνοψη και το περιεχόμενο μίας ιστοσελίδας συχνά εμφανίζονται μετά από μία αναζήτηση χρησιμοποιώντας μία μηχανή αναζήτησης και μία λέξη κλειδί. Τα μεταδεδομένα μπορούν να δημιουργηθούν χειροκίνητα από τον χρήστη ή μέσω μίας αυτοματοποιημένης επεξεργασίας πληροφοριών. Η χειροκίνητη δημιουργία είναι ακριβέστερη, καθώς επιτρέπει στο χρήστη να αποφασίσει ποιες πληροφορίες είναι σημαντικότερες και ακριβέστερες για την αποτελεσματική περιγραφή ενός αρχείου. Η αυτοματοποιημένη διαδικασία δημιουργίας μεταδεδομένων αφορά κυρίως σε πιο βασικά στοιχεία όπως το μέγεθος, ημερομηνία δημιουργίας και τύπο αρχείου. Παρακάτω δίνονται δύο παραδείγματα δημιουργίας μεταδεδομένων. Το πρώτο παράδειγμα που φαίνεται στην εικόνα [1] αφορά στην απλή δημιουργία μεταδεδομένων 21 https://en.wikipedia.org/wiki/keyword 22 http://whatis.techtarget.com/definition/metadata 7
με χρήση του παραθύρου διαλόγου για τις ιδιότητες ενός αρχείου και το δεύτερο παράδειγμα αφορά στην δημιουργία ματαδεδομένων σε γλώσσα HTML 23. Παράδειγμα [1] Εικόνα 1: Εισαγωγή μεταδεδομένων σε αρχείο κειμένου 24 Παράδειγμα [2] <HTML> <HEAD> <META name="title" content=" Thanasis Moulas: PUBLISHING WEB SITE INFORMATION WITH SEMANTIC ANNOTATION"/> <META name="description" content=" Thanasis Moulas writing his thesis about the semantic web and publication of articles, books, journals using semantic annotation"/> <META name="keywords" content=" Semantic Web, WEB 3.0, bibliographic ontologies, linked data"/> <\HEAD> <\HTML> Στο παραπάνω παράδειγμα δημιουργούμε μεταδεδομένα για δημοσίευση στον ιστό με βάση την διπλωματική εργασία, με στόχο να περιγράψουμε το περιεχόμενο αλλά και λέξεις κλειδιά που αφορούν σε αυτή. 23 https://en.wikipedia.org/wiki/html 24 http://blog.information-xs.com/2013/08/need-more-info-about-your-ms-word-doc.html 8
3.2 Διασυνδεδεμένα Δεδομένα Τα διασυνδεδεμένα δεδομένα 25 (Linked data) είναι ένας τρόπος να χρησιμοποιήσουμε τον παγκόσμιο ιστό ώστε να δημιουργήσουμε συνδέσεις ανάμεσα σε δεδομένα από διαφορετικές πηγές (Bizer et al, 2008). Αυτή η διασύνδεση μπορεί να ποικίλει και να αφορά δεδομένα που υπάρχουν είτε σε βάσεις δεδομένων οργανισμών σε διαφορετικές γεωγραφικές τοποθεσίες ή σε δεδομένα που βρίσκονται στον ίδιο οργανισμό αλλά δεν είχαν καμία αλληλεπίδραση - σε επίπεδο δεδομένων - μεταξύ τους (Sheth, 2011). Τα διασυνδεδεμένα δεδομένα αφορούν στην δημοσίευση πληροφοριών στον παγκόσμιο ιστό με τρόπο τέτοιο ώστε να είναι «κατανοητά» από τους ηλεκτρονικούς υπολογιστές, το νόημά τους να έχει προσδιοριστεί και να είναι αμφίδρομα συνδεδεμένα με άλλα δεδομένα (Bizer et al, 2008). Ενώ στον παγκόσμιο ιστό οι βασικοί τύποι δεδομένων είναι αρχεία σε HTML ((HyperText Markup Language) που συνδέονται μεταξύ τους με υπερσυνδέσμους, τα διασυνδεδεμένα δεδομένα χρησιμοποιούν προτάσεις σε γλώσσα RDF 26 (Resource Description Framework) την οποία θα εξετάσουμε σε επόμενο κεφάλαιο. Μέσω της RDF δημιουργούνται προτάσεις που περιγράφουν τη σύνδεση ανάμεσα στις διάφορες οντότητες που υπάρχουν στον κόσμο, και με αυτόν τον τρόπο περιγράφεται σημασιολογικά η σύνδεση μεταξύ των δεδομένων του παγκοσμίου ιστού. Σύμφωνα με τον Yu (2010), συνοπτικά οι βασικές αρχές των συνδεδεμένων δεδομένων είναι η χρησιμοποίηση μοντέλων RDF για τη δημοσίευση καλά δομημένων δεδομένων στον Ιστό και η χρησιμοποίηση συνδέσμων για την διασύνδεση δεδομένων που προέρχονται από διαφορετικές πηγές. Ο Berners-Lee καθόρισε τους κανόνες με τους οποίους θα δημοσιεύονται τα δεδομένα στον Ιστό ώστε να αποτελούν μέρος μίας μοναδικής παγκόσμιας αποθήκης δεδομένων. Οι κανόνες είναι οι εξής: Η χρησιμοποίηση URI ως ονόματα για την περιγραφή μίας οντότητας. Χρησιμοποίηση των HTTP URI ώστε οι χρήστες να μπορούν να αναζητήσουν τα ονόματα που αναφέρθηκαν παραπάνω. 25 https://en.wikipedia.org/wiki/linked_data 26 https://en.wikipedia.org/wiki/rdf 9
Όταν κάποιος αναζητά ένα URI, να παρέχονται επαρκείς πληροφορίες χρησιμοποιώντας τα πρότυπα RDF (Resource Description Framework) και SPARQL 27 (γλώσσα διατύπωσης ερωτημάτων στο σημασιολογικό ιστό). Συμπερίληψη συνδέσμων σε πολλά URI ώστε να επιτυγχάνεται η διασύνδεση και ανακάλυψη περισσότερων αντικειμένων. Εύκολα καταλαβαίνει κανείς ότι τα διασυνδεδεμένα δεδομένα και ο σημασιολογικός ιστός φέρνουν αρκετές αλλαγές στη χρησιμοποίηση του παγκοσμίου ιστού. Παρακάτω παραθέτω μερικές ομοιότητες και διαφορές των δεδομένων και διασυνδεδεμένων δεδομένων: Στον παραδοσιακό ιστό ο καθένας, οποιαδήποτε στιγμή μπορεί να δημοσιεύσει τα δεδομένα που θέλει. Το ίδιο συμβαίνει και με τα διασυνδεδεμένα δεδομένα, πρέπει όμως απαραίτητα να είναι δημοσιευμένα σε μορφή RDF γιατί προορίζονται κυρίως για ανάγνωση από εφαρμογές και όχι από το ανθρώπινο μάτι. Για να έχουμε πρόσβαση στον παγκόσμιο ιστό χρησιμοποιούμε τους περιηγητές (web browsers) και για να κάνουμε αναζητήσεις πληροφοριών χρησιμοποιούμε τις μηχανές αναζήτησης.οι ίδιες εφαρμογές μπορούν να χρησιμοποιηθούν και για την πρόσβαση στα διασυνδεδεμένα δεδομένα με τη διάφορα ότι θα ήταν αρκετά πιο αναποτελεσματικές και αυτό γιατί στον «παραδοσιακό» ιστό οι ιστοσελίδες είναι στην ουσία αρχεία HTML ενώ στο ιστό των διασυνδεδεμένων δεδομένων τα δεδομένα μας είναι σε μορφή RDF. Οπότε θα πρέπει να χρησιμοποιήσουμε περιηγητές ιστού και μηχανές αναζήτησης που να μπορούν να χειριστούν τα δεδομένα αυτά. Στην εικόνα [2] εμφανίζεται το νέφος των διασυνδεδεμένων δεδομένων (Linked data Cloud 28 ). Είναι στην ουσία ένα διάγραμμα που απεικονίζει τα σύνολα δεδομένων που έχουν δημοσιεύσει χρηστές σε μορφή Linked data. 27 https://en.wikipedia.org/wiki/sparql 10
Εικόνα 2: Νέφος Διασυνδεδεμένων Δεδομένων 29 3.3 URL - URI - URN Σε αυτό το σημείο θα αναλύσουμε τους όρους URL 30 (Uniform Resource Locator), URI 31 (Uniform Resource Identifier), και URN (Uniform Resource Namespace) 32 : Σύμφωνα με τους Berners-Lee et al (2006) ένα URI είναι μία συμπαγής ακολουθία χαρακτήρων που προσδιορίζει έναν πόρο που βρίσκεται στον παγκόσμιο ιστό. Το URL είναι κατά μία έννοια ένα URI που δεν χρησιμοποιείται για να περιγράψει έναν πόρο του παγκοσμίου ιστού, αλλά προσδιορίζει τον τρόπο 28 http://www.cosasbuenas.es/blog/how-o-is-lod-2015 29 http://www.striim.com/blog/2015/01/webaction-big-data-stream-analytics-for-hp-nonstop/ 30 https://en.wikipedia.org/wiki/uniform_resource_locator 31 https://en.wikipedia.org/wiki/uniform_resource_identifier 32 https://en.wikipedia.org/wiki/uniform_resource_name 11
που θα ανακτηθεί αυτός ο πόρος καθορίζοντας τον μηχανισμό που θα χρησιμοποιηθεί ώστε να επιτευχθεί αυτό, καθώς και την διεύθυνση του δικτύου στην οποία βρίσκεται. Το URN είναι ένα URI που αναγνωρίζει το όνομα ενός συγκεκριμένου πόρου μέσα σε έναν χώρο ονομάτων 33 (namespace). Το URN μπορεί να χρησιμοποιηθεί για να αναφερθούμε σε έναν πόρο χωρίς να αναφέρουμε σε ποια τοποθεσία βρίσκεται ή με ποιον τρόπο θα αποκτήσουμε πρόσβαση σε αυτόν. Τα URN έχουν ένα συγκεκριμένο τρόπο σύνταξης που αποτελείται από φράσεις που περικλείονται σε εισαγωγικά και φαίνεται παρακάτω: < URN > ::= "urn:" < NID > ":" < NSS > Όπου NID είναι ένας προσδιοριστής του χώρου ονομάτων (Namespace Identifier) 34 και NSS μία μεταβλητή τύπου String 35 που καθορίζει το συγκεκριμένο Namespace. Όπως φαίνεται και στην εικόνα [3] τα URL και URN είναι υποσύνολα του URI, δηλαδή τα URL και URN ανήκουν πάντα σε ένα URI αλλά δεν συμβαίνει το αντίθετο. Εικόνα 3:Τα URL και URN ως υποσύνολα του URI 36 Παρακάτω θα αναλυθεί το παράδειγμα [3] μίας διεύθυνσης ιστοσελίδας στην οποία θα εξετάσουμε τα κομμάτια από τα οποία αποτελείται. 33 https://en.wikipedia.org/wiki/namespace 34 http://bitpoetry.io/difference-between-url-uri-and-urn/ 35 https://en.wikipedia.org/wiki/string_(computer_science) 36 http://stackoverflow.com/ 12
Παράδειγμα [3] Το URI είναι: http://publications/posts/article.html#index Το κομμάτι που αποτελεί το URL της διεύθυνσης αυτής είναι: http://publications/posts/article.html Το κομμάτι που αποτελεί το URN είναι: publications/posts/article.html#index Επίσης το τμήμα http:// είναι μία μέθοδος 37 (method) που μας δείχνει πως θα αποκτήσουμε πρόσβαση στον συγκεκριμένο πόρο. Το τμήμα publications/posts/article.html προσδιορίζει τον χώρο στον οποίο βρίσκεται ο συγκεκριμένος πόρος. Τέλος το τμήμα index είναι ο πόρος στον οποίο θέλουμε να αποκτήσουμε πρόσβαση. Συνοψίζοντας για το διαχωρισμό μεταξύ URL και URN και URI θα ορίσουμε τέσσερις κανόνες: Κάθε URL είναι ένα URI. Κάθε URN είναι ένα URI. Η σχέση των URL είναι ένα URI δεν είναι αμφίδρομη, δηλαδή Κάθε URL είναι ένα URI, αλλά κάθε URI δεν είναι πάντα ένα URL. Μία URL περιλαμβάνει πάντα ένα μηχανισμό πρόσβασης 38 (access mechanism), για παράδειγμα HTTP (HyperText Transfer Protocol) ή FTP (File Transfer Protocol) 39 37 https://en.wikipedia.org/wiki/method_(computer_programming) 38 https://www.ietf.org/rfc/rfc2577.txt 39 https://blog.udemy.com/url-vs-uri/ 13
3.4 Οντολογία H οντολογία (Ontology) είναι σύμφωνα με τον Gruber (1993) ένας τυπικός και σαφής ορισμός μιας κοινής και συμφωνημένης εννοιολογικής μορφοποίησης που αφορά σε ένα πεδίο ενδιαφέροντος. Αυτή η τυπική αναπαράσταση γνώσης ως ένα σύνολο εννοιών, σχέσεων και ιδιοτήτων μπορεί να χρησιμοποιηθεί για συλλογιστική εξαγωγή συμπερασμάτων και για την δομημένη περιγραφή γνώσης ενός πεδίου ενδιαφέροντος. Ο χαρακτηρισμός σαφής αναφέρεται στο γεγονός ότι η οντολογία θα πρέπει να περιγράφεται από ακριβή μοντέλα και περιορισμούς. Ο χαρακτηρισμός τυπικός αναφέρεται στη δυνατότητα της κατανόησης της οντολογίας από ηλεκτρονικούς υπολογιστές. Σύμφωνα με τον Fensel (2001) οι οντολογίες αναπτύχτηκαν στην τεχνητή νοημοσύνη 40 (Artificial Intelligence) ώστε να αποθηκεύουν γνώση η οποία διαμοιράζεται και επαναχρησιμοποιείται. Οι οντολογίες στις μέρες μας χρησιμοποιούνται ευρέως σε εφαρμογές για την ανάκτηση γνώσης, το ηλεκτρονικό εμπόριο και τη διαχείριση γνώσης. Οι οντολογίες έχουν αναπτυχθεί έτσι ώστε να παρέχουν σημασιολογικές πληροφορίες που είναι εύκολα επεξεργάσιμες από ηλεκτρονικούς υπολογιστές και μπορούν να προσπελαστούν τόσο από τον άνθρωπο, όσο και από κάποιο εξειδικευμένο λογισμικό. Για την ανάπτυξη των οντολογιών χρησιμοποιείται μία διαδικασία συνεργασίας μεταξύ πολλών διαφορετικών ανθρώπων που συχνά βρίσκονται και σε διαφορετική τοποθεσία. Σύμφωνα με το πόσο εξειδικευμένη ή γενικευμένη είναι μία οντολογία χωρίζεται στις παρακάτω κατηγορίες: Οντολογίες πεδίου ορισμού (Domain Ontologies) : Οντολογίες που χρησιμοποιούνται για την περιγραφή ενός συγκεκριμένου πεδίου, για παράδειγμα Ιατρική. Οντολογίες μεταδεδομένων (Metadata Ontologies) : Παρέχουν ένα συγκεκριμένο λεξιλόγιο που περιγράφει το περιεχόμενο μίας πηγής πληροφοριών που βρίσκεται στον παγκόσμιο ιστό. 40 https://en.wikipedia.org/wiki/artificial_intelligence 14
Γενικές ή κοινές οντολογίες (Generic Ontologies) : Στοχεύουν στην ενσωμάτωση πολύ γενικευμένων γνώσεων σχετικά με τον κόσμο. Παρέχουν ένα γενικό πλάνο για αφηρημένες έννοιες όπως ο χρόνος ή ο χώρος. Οντολογίες αναπαράστασης (Representational Ontologies) : Αυτό το είδος των οντολογιών είναι πολύ γενικευμένο και δεν ασχολείται με κάποιο συγκριμένο πεδίο. Στόχος είναι να παρέχει κάποιες οντότητες που χρησιμοποιούνται για την αναπαράσταση δεδομένων χωρίς να καθορίζει τι ακριβώς αναπαριστούν. Οι οντολογίες αποτελούνται από πέντε βασικά χαρακτηριστικά: τις κλάσεις, τις συναρτήσεις, τα στιγμιότυπα,τα αξιώματα και τις σχέσεις. Παρακάτω αναλύονται τα χαρακτηριστικά των οντολογιών: Κλάση 41 (Class): Είναι έννοιες που σχετίζονται με ένα συγκεκριμένο πεδίο και είναι δομημένες συνήθως με ιεραρχική μορφή. Στην κλάση ανήκει και η υπερκλάση (Superclass) καθώς και η υποκλάση (Subclass) οι οποίες χρησιμοποιούνται για να περιγράψουν πιο γενικές και πιο ειδικές έννοιες αντίστοιχα. Για παράδειγμα σε μια οντολογία που αφορά μία εταιρία κλάση θα μπορούσε να ήταν ο «εργαζόμενος». Σχέσεις (Relations): Καθορίζουν τον τύπο της αλληλεπίδρασης μεταξύ δύο εννοιών. Συναρτήσεις (functions): 42 μια ειδική περίπτωση σχέσης στην οποία το ν-οστό στοιχείο της σχέσης προσδιορίζεται μοναδικά από τα ν-1 προηγούμενα στοιχεία. Για παράδειγμα η τιμή ενός μεταχειρισμένου οχήματος μπορεί να εκφράζεται σε σχέση με την αρχική του τιμή, την ηλικία του και την απόσταση που έχει διανύσει. Στιγμιότυπα (instances): Αναπαριστούν πολύ συγκεκριμένα στοιχεία, για παράδειγμα ο εργαζόμενος με το όνομα «Θανάσης» είναι ένα στιγμιότυπο της κλάσης «εργαζόμενος». Αξιώματα (axioms): αναπαριστούν προτάσεις που ισχύουν πάντα, για παράδειγμα ο «Θανάσης» είναι «εργαζόμενος» άρα «λαμβάνει μισθό». 41 http://protege.stanford.edu/publications/ontology_development/ontology101-noy-mcguinness.html 42 http://users.ionio.gr/~papatheodor/lessons/ionio-km-ontology.ppt 15
Ο Gruber (1995) αναφέρει ότι εξαιτίας του στόχου των οντολογιών που είναι ο διαμοιρασμός της γνώσης και η αλληλεπίδραση μεταξύ εφαρμογών, πρέπει να πληρούν συγκεκριμένα κριτήρια. Το πρώτο κριτήριο είναι η Σαφήνεια (clarity), θα πρέπει οι ορισμοί των όρων της οντολογίας να είναι κατανοητοί προς τον αναγνώστη. Το δεύτερο χαρακτηριστικό είναι η συνοχή (coherence).η οντολογία θα πρέπει να είναι εσωτερικά συνεπής, οι όροι που περιγράφει να έχουν μία λογική συνέχεια και συνέπεια. Ένα ακόμη χαρακτηριστικό είναι η Επεκτασιμότητα (Extendibility), η δυνατότητα δηλαδή να μπορεί να επεκτείνεται και να εξειδικεύεται από οποιονδήποτε χρήστη. Ακόμη ένα χαρακτηριστικό είναι η Ελάχιστη εξειδίκευση κωδικοποίησης (minimal encoding bias), που σημαίνει πως το μοντέλο που δημιουργείται και μοντελοποιεί ένα φαινόμενο, πρέπει να εξαρτάται μόνο από το επίπεδο της γνώσης και όχι από το επίπεδο συμβόλων κάποιας κωδικοποίησης. Τέλος το τελευταίο χαρακτηριστικό είναι η Ελάχιστη οντολογική αφοσίωση (minimal ontological commitment), αφού η αφοσίωση στην οντολογία βασίζεται στη συνεπή χρήση του λεξικού, η οντολογική αφοσίωση μπορεί να ελαχιστοποιηθεί ορίζοντας την πιο αδύναμη θεωρία και μόνο τους όρους που είναι βασικοί για την επικοινωνία της γνώσης με συνέπεια στη θεωρία. 16
4 Γλώσσες αναπαράστασης γνώσης στον Σημασιολογικό Ιστό Σε αυτό το κεφάλαιο εξετάζονται οι γλώσσες που χρησιμοποιούνται για την αναπαράσταση δεδομένων στο Σημασιολογικό Ιστό. Στην αρχή του κεφαλαίου θα εξεταστεί η γλώσσα XML 43 (Extensible Markup Language) καθώς και τις επεκτάσεις της XSL Schema 44 και XSLT 45 (EXtensible Stylesheet Language Transformations) που θα χρησιμοποιήσουμε για τη μετατροπή των δεδομένων. Στη συνέχεια θα δούμε τις γλώσσες RDF (Resource Description Framework), RDFS 46 OWL 47 (Web Ontology Language). 4.1 Η γλώσσα και οι επεκτάσεις της XML 4.1.1 Η XML Σύμφωνα με τον ορισμό που δίνει η Wikipedia 48 η γλώσσα XML (Extensible Markup Language) είναι μία γλώσσα σήμανσης 49 (Markup Language) που περιέχει ένα σύνολο κανόνων και χρησιμοποιείται για την ηλεκτρονική κωδικοποίηση κειμένων. Δημιουργήθηκε από τον Διεθνή Οργανισμό Προτύπων W3C (World Wide Web Consortium) ώστε να προσφέρει απλότητα, γενικότητα και χρηστικότητα κατά τη χρήση του διαδικτύου. Μορφοποιεί τόσο δεδομένα κειμένου, όσο και κάποιες αυθαίρετες δομές δεδομένων και παρέχει στήριξη για πολλές γλώσσες του κόσμου. Κάποιες από τις εφαρμογές της XML είναι η ανταλλαγή δεδομένων μεταξύ ασύμβατων συστημάτων, η δυνατότητα διαμοιρασμού δεδομένων από διάφορες 43 http://www.w3schools.com/xml/ 44 http://www.w3schools.com/xml/xml_schema.asp 45 http://www.w3schools.com/xsl/ 46 https://www.w3.org/tr/rdf-schema/ 47 https://www.w3.org/owl/ 48 https://el.wikipedia.org/wiki/xml 49 https://en.wikipedia.org/wiki/markup_language 17
εφαρμογές, η τροποποίηση των δεδομένων με διαφορετικούς τρόπους ανάλογα με την προοριζόμενη χρήση και η δημιουργία εντελώς νέων γλωσσών, για παράδειγμα η RSS. Κατά τον Myer (2005) τα αρχικά XML περιγράφουν τρείς ιδιότητες τις οποίες περιλαμβάνει η συγκεκριμένη γλώσσα και αναλύονται: Extensible Είναι δηλαδή γλώσσα επεκτάσιμη. Επιτρέπει στον χρήστη να δημιουργήσει τις δικές του ετικέτες (tags), την σειρά με την οποία εμφανίζονται και τον τρόπο με τον οποίο εμφανίζονται. Markup Σήμανση Η γλώσσα επιτρέπει στον συντάκτη να καθορίσει τα δικά του σύνολα από στοιχεία (elements) και ετικέτες (tags). Language Η XML δεν είναι γλώσσα προγραμματισμού, αλλά γλώσσα απεικόνισης. Είναι επίσης μία μετα γλώσσα 50 (meta-language), δηλαδή μία γλώσσα που μας επιτρέπει να καθορίσουμε ή να δημιουργήσουμε άλλες γλώσσες. Η XML έχει αρκετές ομοιότητες με την HTML αλλά έχει μία πολύ σημαντική διαφορά, ότι είναι μία πολύ καλά δομημένη γλώσσα. Σύμφωνα με τον Αντωνίου (2008) τόσο η XML όσο και ή HTML είναι γλώσσες που χρησιμοποιούν ετικέτες (tags) και είναι σχετικά εύκολα αναγνώσιμες από το ανθρώπινο μάτι, η διαφορά τους όμως έγκειται στο πόσο αναγνώσιμες είναι από τις μηχανές. Η HTML δεν προσφέρει δομικές πληροφορίες σχετικά με τα στοιχεία που περιλαμβάνει το έγγραφο και των συσχετίσεων μεταξύ τους. Σε αντίθεση, επειδή όπως αναφέρθηκε προηγούμενα, η XML είναι μία πολύ καλά δομημένη γλώσσα κάθε κομμάτι του έγγραφου περιγράφεται, καθώς και οι συσχετίσεις που προκύπτουν μεταξύ των αντικειμένων. Αυτό την καθιστά αρκούντως προσβάσιμη και αναγνώσιμη, από τους ανθρώπους και κυρίως από τις μηχανές. Παρακάτω αναλύονται τα βασικά στοιχεία από τα οποία αποτελείται ένα XML έγγραφο: Ο Πρόλογος: Είναι το σημείο εκείνο στο οποίο γίνεται αναφορά σε όλες τις δηλώσεις της XML καθώς και σε τυχόν εξωτερικά έγγραφα που περιέχουν 50 https://en.wikipedia.org/wiki/metalanguage 18
δομικά στοιχεία για το έγγραφό μας. Για παράδειγμα μια δήλωση θα μπορούσε να έχει τη μορφή: <?xml version="1.0"? encoding="utf-8> <!DOCTYPE article SYSTEM " article.dtd"> Στην πρώτη δηλώνεται ότι το αρχείο είναι της μορφής XML, έκδοση «1» και χρησιμοποιεί κωδικοποίηση χαρακτήρων τύπου UTF-8 51.Στη δεύτερη γραμμή δηλώνεται η σύνδεση σε ένα εξωτερικό δομικό αρχείο με όνομα article.dtd. Τα στοιχεία (elements): Αναπαριστούν οντότητες οι οποίες αναφέρονται στο αρχείο μας. Για παράδειγμα συγγραφές,άρθρο κλπ. Τα στοιχεία συντάσσονται στην XML περικλείοντας ένα περιεχόμενο ανάμεσα σε δύο ετικέτες, μία που ανοίγει και μία που κλείνει. Το παρακάτω παράδειγμα δείχνει αναλυτικά τον τρόπο σύνταξης: <Author>Thanasis Moulas</Author> <Article>Semantic Web</Article> Ιδιότητες (Atributes): Είναι ένα ζεύγος που περιλαμβάνει ένα όνομα που αντιστοιχεί σε μία τιμή και προσθέτει κάποια χαρακτηριστικά σε ένα στοιχείο. Ακολουθεί παράδειγμα για τους δύο τρόπους με τους οποίους μπορεί να συνταχθεί: 1. Ανάμεσα από ετικέτες που καθορίζουν ένα στοιχείο: <Article Title= Semantic Web Author= Thanasis Moulas date= 2016 > </Article> 2. Αντικαθιστώντας τις ιδιότητες (Atributes) με εμφωλευμένα στοιχεία (nested elements): <Article> <Title> Semantic Web </Title> <Author> Thanasis Moulas </Author> <Date> 2016 </Date> </Article> 51 https://el.wikipedia.org/wiki/utf-8 19
Σχόλια (coments) :Είναι απλά ένα κομματι κειμένου και έχουν την μορφή: <! place your text here--> Εντολές Επεξεργασίας: 52 (Processing Instructions): Παρέχουν έναν μηχανισμό που δίνει πληροφορίες σε μία εφαρμογή για το πώς θα διαχειριστεί τα στοιχεία (elements) που περιλαμβάνονται στο αρχείο. Για παράδειγμα: <?xml-stylesheet type="text/xsl" href="example.xsl"?> Στο παράδειγμα [4] που ακολουθεί φαίνεται ένα αρχείο XML που περιγράφει μία ηλεκτρονική βιβλιοθήκη που περιλαμβάνει τα elements book και paper. Στο συγκεκριμένο παράδειγμα έχουν συνταχθεί οι ιδιότητες τον στοιχείων και με τους δύο τρόπους που περιγράφηκαν προηγούμενα. <?xml version="1.0"? encoding="utf-8> <e_library> <!-Hletroniki Vivlio8hkh-> <book id="bk101"> <author>grigoris Antoniou</author> <author>frank van Harmelen</author> <title>a Semantic Web Primer</title> <genre>computer science</genre> <publish_date>2004</publish_date> <description>a guide to semantic web</description> </book> <paper id="ppr102"> <author>nick Bassiliades</author> <author>grigoris Antoniou</author> <author>ioannis Vlahavas</author> <title>dr-device: A Defeasible Logic System for the Semantic Web</title> <publish_date>2004</publish_date> <description>this paper presents DR-DEVICE, a system for defeasible reasoning on the Web.</description> </paper> </e_library> 52 https://en.wikipedia.org/wiki/processing_instruction 20
4.1.2 XML Schema Το XML Schema 53 είναι ένα λεξιλόγιο της XML για την έκφραση διαφόρων κανόνων που διέπουν τα δεδομένα της.h XML δεν παρέχει συγκεκριμένη ερμηνεία για τα δεδομένα της, μπορεί τα περιεχόμενα της να είναι κατανοητά από τον άνθρωπο αλλά δεν έχουν καθοριστεί με μία τυπική μορφή ώστε να είναι πλήρως αναγνώσιμα από τις μηχανές. Δηλαδή δεν καθορίζει με συγκεκριμένο τρόπο τη χρήση των δεδομένων και την σημασιολογική τους έννοια, οι χρήστες που χρησιμοποιούν την XML πρέπει να έχουν προαποφασίσει το λεξιλόγιο, τη χρήση και το νόημα των δεδομένων. Αυτό το πρόβλημα λύνει σε κάποιο βαθμό η XML Schema. Αν και δεν καθορίζει εντελώς το νόημα, μπορεί να καθορίσει τα ονόματα (names), τα στοιχεία (elements) και τις ιδιότητες (attributes),δηλαδή το λεξιλόγιο, με το οποίο δομείται ένα XML έγγραφο (Klein, 2001). Οι στόχοι του XML Schema είναι να μπορέσουν να εκφράσουν μέσα στο πρότυπο αρχές αντικειμενοστραφούς σχεδιασμού, οι οποίες μπορούν να βρεθούν σε όλες τις αντικειμενοστραφείς γλώσσες προγραμματισμού και να παρέχουν υποστήριξη για σύνθετους τύπους δεδομένων, παρόμοια με την υποστήριξη που υπάρχει στις περισσότερες σχεσιακές βάσεις δεδομένων. Μας δίνει πολλές δυνατότητες, όπως για παράδειγμα να προσδώσουμε στα έγγραφα κληρονομικότητα ώστε να μπορούν να παραχθούν νέοι τύποι αρχείων με βάση τους παλιούς. Ακόμη παρέχει υποστήριξη για namespaces χρησιμοποιώντας URI, που έχουν αναλυθεί σε προηγούμενο κεφάλαιο, δηλαδή παρέχεται σε κάθε στοιχείο ένα μοναδικό αναγνωριστικό για να αποφεύγονται συγκρούσεις μεταξύ αρχείων. Για παράδειγμα, έστω ότι υπάρχει ένα αρχείο στο οποίο αναφέρεται το στοιχείο «διεύθυνση» ως διεύθυνση μίας κατοικίας και ένα αρχείο στο οποίο το στοιχείο «διεύθυνση» αφορά σε διεύθυνση μίας ιστοσελίδας, με τη συγχώνευση των αρχείων θα προκαλούνταν σύγχυση. Παρακάτω ακολουθεί το παράδειγμα [5] που δείχνει την χρησιμοποίηση ενός XML Schema αρχείου για τη δόμηση ενός XML αρχείου. Αρχικά γίνεται χρήση μιας namespace δήλωσης ότι όλα τα στοιχεία (elements) στο συγκεκριμένο έγγραφο προέρχονται από το URI http://www.bibontology.org.ακολουθεί η δήλωση 53 http://pdplab.it.uom.gr/project/soap/theory/xml.html 21
schemalocation που δηλώνει ότι το namespace http://www.bibontology.org ορίζεται στο αρχείο library.xsd. Τέλος η δήλωση http://www.w3.org/2001/xmlschemainstance υποδεικνύει ότι η ιδιότητα schemalocation προέρχεται από το XMLSchemainstance namespace. Παράδειγμα [5] <?xml version="1.0"?> <library xmlns ="http://www.bibontology.org" xmlns:xsi= http://www.w3.org/2001/xmlschema-instance xsi:schemalocation="http://www. bibontology.org library.xsd"> <Book> <Title>Semantic Web</Title> <Author>Tim Burners-Lee</Author> <Date>July, 2000</Date> <ISBN>45455-65895-65484</ISBN> <Publisher>Sematic Publishing</Publisher> </Book> </library> Ακολουθεί η εικόνα [4] η οποία αναπαριστά γραφικά την λειτουργία που περιγράφηκε στο προηγούμενο παράδειγμα. Library.xml Library.xsd Εικόνα 4:Χρήση αρχείου XML Schema από αρχείο XML 54 54 https://eclass.unipi.gr/ 22
4.1.3 XSL και XSLT Η γλώσσα XML που αναλύθηκε στην αρχή του κεφαλαίου, περιλαμβάνει ένα σύνολο ειδικών προδιαγραφών και επεκτάσεων, μία από αυτές είναι και η XSL 55 (EXtensible Stylesheet Language). Η XSL χρησιμοποιείται για τη μορφοποίηση ενός εγγράφου XML σε σχέση με τις τιμές των δεδομένων του, μετασχηματισμό σε κάποια άλλη μορφή αρχείου ή επεξεργασία μεμονωμένων περιοχών του εγγράφου. Η XSL αποτελείται στην ουσία από τρείς ξεχωριστές γλώσσες. Την XSL Formating Objects που αφορά στον καθορισμό του τρόπου εμφάνισης του αρχείου XML, την XSLT που είναι υπεύθυνη για την μετατροπή του αρχείου XML σε άλλου τύπου αρχεία και την XPATH 56 πού χρησιμοποιείται από την XSLT για τον καθορισμό των ιδιοτήτων ενός τμήματος του αρχείου. Σύμφωνα με τον Tigwell (2008) η XSLT είναι μία ευέλικτη και «ισχυρή» γλώσσα για τη μετατροπή ενός αρχείου XML σε κάποιας άλλης μορφής αρχείο, όπως για παράδειγμα XHTML 57, PDF 58, RDF. Η μετατροπή γίνεται καθορίζοντας τους κανόνες σε ένα αρχείο.xslt και ένας επεξεργαστής XSL 59 (XSL Processor) πραγματοποιεί την μετατροπή, όπως φαίνεται και στην εικόνα [5]. Εικόνα 5:Επεξεργασία XSLT Η XSLT λειτουργεί χρησιμοποιώντας την τεχνολογία XPATH για να καθορίσει ποιά μέρη του XML εγγράφου, συσχετίζονται με τα καθορισμένα περιγράμματα 55 https://www.w3.org/tr/xslt-30/ 56 https://en.wikipedia.org/wiki/xpath 57 http://www.w3schools.com/html/html_xhtml.asp 58 https://el.wikipedia.org/wiki/portable_document_format 59 http://saxon.sourceforge.net/ 23
60 (templates) που ορίζονται στο XSLT αρχείο, και πρόκειται να μετατραπούν. Όταν βρεθεί κάποιο μόρφωμα (pattern) που να ταιριάζει στα καθορισμένα templates τότε μετατρέπονται τα στοιχεία (elements) σύμφωνα με τους κανόνες που έχουν τεθεί στο αρχείο XSLT. Τα elements στα οποία δεν γίνεται καθόλου αναφορά στο αρχείο XSLT, παραμένουν αυτούσια στο αρχείο εξόδου. Παρακάτω παρατίθεται ένα παράδειγμα με ένα αρχείο XML τη μετατροπή του με ένα αρχείο XSLT σε μορφή κειμένου και το αποτέλεσμα που εμφανίζεται. Παράδειγμα [6] Ακολουθεί ένα αρχείο XML που περιγράφει ένα επιστημονικό άρθρο. <?xml version="1.0"?> <Article> <Title>Semantic WEb</Title> <Authors> <Author>Thanasis Moulas</Author> <Author>Dimitris Moulas</Author> </Authors> <Date>2016</Date> <Body>Article about Semantic Web</Body> </Article> Το επόμενο αρχείο είναι ένα XSLT αρχείο που θα υλοποιήσει τη μετατροπή σε ένα αρχείο κειμένου: <?xml version="1.0"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/xsl/transform"> <xsl:output method="text"/> <xsl:template match="/"> <xsl:value-of select="/article/title"/> Authors: <xsl:apply-templates select="/article/authors/author"/> Containt: <xsl:apply-templates select="/article/body"/> Year: <xsl:apply-templates select="/article/date"/> </xsl:template> <xsl:template match="author"> - <xsl:value-of select="." /> </xsl:template> </xsl:stylesheet> Η μορφή εξόδου μετά τη μετατροπή φαίνεται στην εικόνα [6]. 60 https://www.w3.org/tr/xslt#section-introduction 24
Εικόνα 6:Μορφή αρχείου μετά την μετατροπή 4.2 Οι Γλώσσες RDF και RDF Schema 4.2.1 Εισαγωγή στη γλώσσα RDF Η γλώσσα RDF (Resource Description Framework) είναι μία γλώσσα αναπαράστασης στο Σημασιολογικό Ιστό. Όπως υποδηλώνει και το όνομά της είναι ένα πλαίσιο περιγραφής πόρων που μπορεί να περιγράψει οποιονδήποτε πόρο. Ο πόρος πρέπει να καθορίζεται από κάποιο είδος δείκτη 61 (pointer), μία αναφορά σε ένα αντικείμενο (object) ή απλά μία λεκτική τιμή 62 (literal value). Η περιγραφή γίνεται με τον ορισμό σχέσεων μεταξύ δύο ή περισσοτέρων πόρων. Το πλαίσιο (Framework) περιγραφής της RDF είναι ένας συνδυασμός πρωτοκόλλων που χρησιμοποιούνται στον Παγκόσμιο Ιστό, όπως για παράδειγμα HTTP ή XML και ενός τυπικά καθορισμένου μοντέλου βασισμένο στο σημασιολογικό ιστό που ορίζει τις επιτρεπόμενες σχέσεις που μπορούν να σχηματιστούν μεταξύ αντικειμένων. Η ιδέα δηλαδή στην οποία βασίζεται η RDF είναι η χρησιμοποίηση της για την περιγραφή μίας οντότητας σχηματίζοντας δηλώσεις για τις ιδιότητές της. 4.2.2 Βασικά στοιχεία της RDF Τα βασικά στοιχεία της RDF είναι οι πόροι (resources), οι ιδιότητες (properties), οι προτάσεις 63 (statements) και οι γράφοι 64 (graphs). Ο πόρος είναι το ζητούμενο της περιγραφής και μπορεί να είναι οτιδήποτε όπως για παράδειγμα συγγραφέας, βιβλίο, άρθρο. Κάθε πόρος διαθέτει ένα URI το οποίο το καθορίζει μοναδικά ώστε να μην συγχέεται με άλλους πόρους (Pollock, 2009). 61 https://en.wikipedia.org/wiki/pointer_(computer_programming) 62 https://en.wikipedia.org/wiki/literal_(computer_programming) 63 https://en.wikipedia.org/wiki/statement_(computer_science) 64 https://en.wikipedia.org/wiki/conceptual_graph 25
Οι ιδιότητες είναι ένα είδος πόρου, που περιγράφει τις σχέσεις μεταξύ άλλων πόρων, για παράδειγμα γράφτηκε από ή βρίσκεται σε. Επειδή οι ιδιότητες είναι ένα είδος πόρου διαθέτουν και αυτές ένα μοναδικό URI ( Jupp, 2010). Οι προτάσεις ή ολοκληρωμένες τριπλέτες (complete triples) είναι το βασικότερο στοιχείο στην RDF και χρησιμοποιούνται για να δημιουργήσουμε ισχυρισμούς για έναν πόρο. Οι προτάσεις ή τριπλέτες πρέπει πάντα να αποτελούνται από την οντότητα που περιγράφεται, τις ιδιότητες της οντότητας που περιγράφεται και μία τιμή των ιδιοτήτων που περιγράφονται. Με πιο απλά λόγια πρέπει να περιλαμβάνουν ένα υποκείμενο, ένα κατηγόρημα και ένα αντικείμενο. Το υποκείμενο σε μία πρόταση πρέπει πάντοτε να είναι ένας πόρος, ενώ το αντικείμενο μπορεί να είναι ένας πόρος ή ένα λεκτικό (literal). Τα λεκτικά παίρνουν κάποιες συγκεκριμένες τιμές δεδομένων για παράδειγμα ένα αλφαριθμητικό 65 (string) ή έναν ακέραιο αριθμό 66 (integer). Οι γράφοι μας βοηθούν να αναπαραστήσουμε μία πρόταση γραφικά μέσω κόμβων 67 (nodes) και ακμών 68 (arcs) που περιέχουν ταμπέλες (labels). Οι ακμές σε μία πρόταση (statement) έχουν πάντα κατεύθυνση από το υποκείμενο στο αντικείμενο ενώ η ταμπέλα της ακμής δηλώνει το κατηγόρημα Στην εικόνα [7] που ακολουθεί απεικονίζεται η πρόταση Semantic Web is authored by Tim-Berners Lee με τη μορφή γράφου. Εικόνα 7:Πρόταση Παράδειγμα 65 https://en.wikipedia.org/wiki/string_(computer_science) 66 https://en.wikipedia.org/wiki/integer 67 https://en.wikipedia.org/wiki/node 68 http://www.pmknowledgecenter.com/dynamic_scheduling/baseline/ 26
Όπως αναφέρθηκε προηγούμενα η RDF είναι ένα πλαίσιο περιγραφής που βασίζεται στον Ιστό, οπότε και χρησιμοποιεί URI (Universal Resource Identifiers) ώστε να προσδιορίσει ένα μοναδικό όνομα για κάθε πόρο. Στο παράδειγμα [7] που ακολουθεί θα απεικονίσουμε την πρόταση «Tim Berners-Lee is the creator of WEB» Παράδειγμα [7] <RDF xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:s="http://description.org/schema/"> <Description about="http://www.w3.org/entities/theweb"> <s:creator> Tim Berners-Lee </s:creator> </Description> </RDF> 4.2.3 RDF Schema Η RDF Schema (RDFS) αποτελεί την επέκταση της RDF και χρησιμοποιείται ως μία γλώσσα λεξιλογίων της. Η RDF Schema χρησιμοποιείται για να υποδείξει ότι περιγράφουμε συγκεκριμένες κλάσεις 69 (class) πόρων και ότι θα χρησιμοποιήσουμε συγκεκριμένες ιδιότητες για την περιγραφή αυτών των πόρων. Παρέχει τις μεθόδους για να εκφράσουμε συγκεκριμένες δηλώσεις που να αφορούν πόρους, χρησιμοποιώντας ιδιότητες στις οποίες έχουν δοθεί ονόματα και τιμές (Pollock, 2009). Δηλαδή παρέχει ένα καθορισμένο σύστημα τύπων 70 για την RDF. Τα σύνολα της RDF Schema παρέχονται στη μορφή RDF λεξιλογίου, ως ένα σύνολο προκαθορισμένων πόρων που ο καθένας έχει ένα προκαθορισμένο νόημα. Οι πόροι για το λεξιλόγιο της RDF Schema παρέχονται από των χώρο ονομάτων https://www.w3.org/2000/01/rdf-schema# H RDF Schema παρέχει ένα είδος αντικειμενοστρέφιας, δηλαδή είναι μία γλώσσα που επιτρέπει την ιεραρχική δομή καθώς και την δήλωση πόρων ως στιγμιότυπα μίας κλάσης. Οι κλάσεις είναι ομάδες κάποιου συγκεκριμένου είδους πόρων. Τα μέλη που απαρτίζουν μία κλάση λέγονται στιγμιότυπα (instances). Στην RDF Schema χρησιμοποιούνται και οι όροι υποκλάση (subclass) και υπερκλάση (superclass) που δείχνουν την ιεραρχία (hierarchy) των κλάσεων. Όταν μία κλάση Χ είναι υποκλάση 69 https://eclass.aueb.gr/modules/document/file.php/inf180/lectures/kos-5.3-rdfs.pdf 70 https://en.wikipedia.org/wiki/type_system 27
μίας κλάσης Ζ τότε όλα τα στιγμιότυπα της κλάσεις Χ είναι και στιγμιότυπα της κλάσης Ζ. Αντίστροφα όταν μία κλάση Χ είναι υπερκλάση της κλάσης Ζ τότε ισχύει επίσης ότι τα στιγμιότυπα της κλάσης χ είναι και στιγμιότυπα της κλάσης Ζ. 4.2.4 Λεξιλόγιο RDF και RDFS Σε αυτή την υποενότητα θα αναλύσουμε το λεξιλόγιο της RDF και RDF Schema όπως ορίζεται από το W3C World Wide Web Consortium 71. 4.2.4.1 Κλάσεις rdfs:resource : Η συγκεκριμένη κλάση περιλαμβάνει όλες τις οντότητες που περιγράφονται από RDF, δηλαδή όλους τους πόρους. Όλες οι υπόλοιπες κλάσεις αποτελούν υποκλάσεις της κλάσης αυτής. rdfs:class : Χρησιμοποιείται για να περιγράψει όλους τους πόρους που είναι κλάσεις της RDF. rdfs:literal : Είναι η κλάση που περιλαμβάνει όλες τις λεκτικές τιμές όπως αλφαριθμητικά (strings) ή ακέραιους αριθμούς (integers). rdfs:datatype : Είναι η κλάση που περιλαμβάνει όλους τους τύπους δεδομένων 72 (datatypes). Είναι Στιγμιότυπο και υποκλάση της κλάσης rdfs:class. Κάθε στιγμιότυπο της rdfs:datatype είναι και υποκλάση της rdfs:literal. rdf:property : Είναι οι κλάση όλων των RDF ιδιοτήτων και αποτελεί στιγμιότυπο της κλάσης rdfs:class 4.2.4.2 Ιδιότητες rdfs:range : Είναι ένα στιγμιότυπο της rdf:property και χρησιμοποιείται για να δηλώσει ότι οι τιμές μίας ιδιότητας Χ, είναι στιγμιότυπα κάποιων κλάσεων. Έστω ότι έχουμε την ολοκληρωμένη πρόταση (statement) με υποκείμενο το «Χ», κατηγόρημα την rdfs:range και αντικείμενο το «Ζ». Τότε η κλάση rdf:property έχει ως στιγμιότυπο το Χ, η κλάση rdfs:class έχει στιγμιότυπο το 71 https://www.w3.org/tr/2004/rec-rdf-schema-20040210/ 72 https://en.wikipedia.org/wiki/data_type 28
«Ζ» και οι πόροι που αντιστοιχούν στα αντικείμενα της προηγούμενης πρότασης πρέπει να είναι στιγμιότυπα της κλάσης «Ζ». rdf:type : Χρησιμοποιείται για να δηλώσει ότι κάποιος πόρος είναι στιγμιότυπο κάποιας κλάσης. Επίσης η rdf:type είναι στιγμιότυπο της rdf:property. rdfs:subclassof : Η συγκεκριμένη ιδιότητα χρησιμοποιείται στη δήλωση που περιγράφει ότι τα στιγμιότυπα μίας κλάσης, είναι και στιγμιότυπα μίας άλλης κλάσης. Η ίδια η κλάση είναι στιγμιότυπο της κλάσης rdf:property. rdfs:subpropertyof : Χρησιμοποιείται για να δηλώσει ότι όλοι οι πόροι που σχετίζονται με μία ιδιότητα, σχετίζονται και με μία άλλη ιδιότητα. Η rdfs:subpropertyof είναι στιγμιότυπο της κλάσης rdf:property. rdfs:domain : Η συγκεκριμένη κλάση είναι ένα στιγμιότυπο της κλάσης rdf:property, που χρησιμοποιείται για να δηλώσει ότι αν σε κάποιο πόρο έχει δοθεί μία ιδιότητα, τότε ο πόρος αυτός είναι στιγμιότυπο μίας ή περισσοτέρων κλάσεων. rdfs:label : Η κλάση αυτή είναι ένα στιγμιότυπο της κλάσης rdf:property και μπορεί να χρησιμοποιηθεί, για να παρέχει μία εύκολα αναγνώσιμη για τον άνθρωπο εκδοχή του ονόματος ενός πόρου. Μία ολοκληρωμένη πρόταση της μορφής Χ rdfs:label Z δηλώνει ότι το Ζ είναι μία ευανάγνωστη για τον άνθρωπο ταμπέλα που περιγράφει τον πόρο Χ. rdfs:comment : Παρέχει μία ευανάγνωστη για τον άνθρωπο περιγραφή ενός πόρου και είναι στιγμιότυπο της κλάσης rdf:property. Μία ολοκληρωμένη πρόταση της μορφής Χ rdfs:comment Ζ, δηλώνει ότι το Ζ είναι μία ευανάγνωστη περιγραφή για τον πόρο Χ. 4.2.4.3 Δοχεία RDF (RDF Containers) 73 Τα δοχεία RDF (RDF Containers) είναι πόροι που χρησιμοποιούνται για να αναπαραστήσουν συλλογές. Ο ίδιος πόρος μπορεί να κάνει την εμφάνισή του σε ένα δοχείο περισσότερο από μία φορά. 73 https://www.w3.org/tr/2004/rec-rdf-schema-20040210/ 29