ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΠΡΟΓΡΑΜΜΑ ΜΕΤΑΠΤΥΧΙΑΚΩΝ ΣΠΟΥΔΩΝ «ΠΛΗΡΟΦΟΡΙΚΗ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΕΣ» Διασύνδεση Βιβλιογραφικών Αναφορών της DBpedia σε άλλες Βιβλιογραφικές Βάσεις Διπλωματική Εργασία του Δαβίδ Ναζαριάν (ΑΕΜ: 637) Εξεταστική Επιτροπή Επιβλέπων: Νικόλαος Βασιλειάδης Μέλη: Γρηγόριος Τσουμάκας Απόστολος Παπαδόπουλος ΘΕΣΣΑΛΟΝΙΚΗ ΦΕΒΡΟΥΑΡΙΟΣ 2017
Πρόλογος Η ευρεία χρήση των πόρων του Σημασιολογικού Ιστού όπως είναι τα RDF σύνολα δεδομένων και τα τελικά σημεία SPARQL από ολοένα αυξανόμενο αριθμό χρηστών, απαιτεί τις κατάλληλες ενέργειες ώστε να διασφαλιστεί η ακεραιότητα των παρεχόμενων δεδομένων. Η DBpedia, ένας από τους κεντρικούς κόμβους του νέφους των Ανοιχτά Διασυνδεδεμένων Δεδομένων παρέχει και τα δύο είδη αυτών των πόρων με τα περιεχόμενά της να προέρχονται από την Wikipedia. Σκοπός αυτής της διπλωματικής εργασίας είναι η δημιουργία εναλλακτικών βιβλιογραφικών αναφορών για την DBpedia, διασυνδέοντάς την σε άλλες βιβλιογραφικές βάσεις, με το θέμα της εργασίας να είναι εμπνευσμένο από τον διαγωνισμό "DBpedia citations & references challenge". Θα παρουσιαστεί η διαδικασία δημιουργίας των συνδέσεων αξιοποιώντας την Java βιβλιοθήκη BibLinkCreator που αναπτύχθηκε για τον σκοπό αυτό, η οποία εξάγει δεδομένα από ένα RDF σύνολο που περιέχει τις αναφορές της DBpedia και από άλλα RDF σύνολα (διαθέσιμα για κατέβασμα ή έχοντας συλλεγεί από διεπαφές) σχετιζόμενα με τη βιβλιογραφία, με βάση αναγνωριστικά όπως το ISBN και διασυνδέει τα URI των αναφορών ύστερα από αντιστοίχιση αναγνωριστικών και τη διασφάλιση της ομοιότητας άλλων ιδιοτήτων. Η εργασία αυτή εκπονήθηκε υπό την επίβλεψη του Αναπληρωτή Καθηγητή κ. Νικόλαο Βασιλειάδη, τον οποίο θα ήθελα να ευχαριστήσω για τις πολύτιμες κατευθύνσεις και την βοήθεια που μου προσέφερε και για την άψογη συνεργασία μας. Θα ήθελα επίσης να ευχαριστήσω την οικογένειά μου και τα άτομα του περιβάλλοντός μου για την υποστήριξή τους και τη δημιουργία των κατάλληλων συνθηκών για την πραγματοποίηση των σπουδών και των στόχων μου. Δαβίδ Ναζαριάν 01/02/2017 Σελίδα i
Περιεχόμενα ΠΡΟΛΟΓΟΣ... I ΠΕΡΙΕΧΟΜΕΝΑ... III 1 ΕΙΣΑΓΩΓΗ... 5 2 ΑΠΑΡΑΙΤΗΤΟ ΥΠΟΒΑΘΡΟ... 9 2.1 ΓΕΝΙΚΗ ΠΕΡΙΓΡΑΦΗ ΤΟΥ ΕΓΧΕΙΡΗΜΑΤΟΣ... 9 2.2 ΣΗΜΑΣΙΟΛΟΓΙΚΟΣ ΙΣΤΟΣ... 10 2.2.1 Μεταδεδομένα... 13 2.2.2 Οντολογίες / Λεξιλόγια... 21 2.2.3 Η γλώσσα ερωτημάτων SPARQL... 32 2.2.4 Σημασιολογικές βάσεις δεδομένων... 36 2.2.5 Το triplestore Ontotext GraphDB 7 Free... 38 2.3 ΔΙΑΣΥΝΔΕΔΕΜΕΝΑ ΔΕΔΟΜΕΝΑ... 43 2.3.1 Το νέφος των Ανοιχτά Διασυνδεδεμένων Δεδομένων... 44 2.3.2 Τελικά σημεία SPARQL... 47 2.3.3 DBpedia... 48 2.4 ΔΙΑΣΥΝΔΕΣΗ ΔΕΔΟΜΕΝΩΝ... 50 2.4.1 Τρόπος διασύνδεσης RDF συνόλων... 51 2.4.2 Προγράμματα διασύνδεσης... 53 2.5 ΒΙΒΛΙΟΓΡΑΦΙΚΑ ΑΝΑΓΝΩΡΙΣΤΙΚΑ... 54 2.5.1 Το αναγνωριστικό arxiv... 55 2.5.2 Το αναγνωριστικό DOI... 56 2.5.3 Το αναγνωριστικό ISBN... 58 2.5.4 Το αναγνωριστικό ISSN... 60 2.5.5 Το αναγνωριστικό LCCN... 61 2.6 ΟΜΟΙΟΤΗΤΑ ΣΥΜΒΟΛΟΣΕΙΡΩΝ... 64 2.6.1 Συντελεστές ομοιότητας συμβολοσειρών... 66 2.6.2 Εφαρμογή συντελεστών ομοιότητας... 67 Σελίδα iii
3 ΒΙΒΛΙΟΓΡΑΦΙΚΟΙ ΠΟΡΟΙ... 71 3.1 ΠΗΓΗ ΣΥΝΔΕΣΜΩΝ... 72 3.2 ΠΡΟΟΡΙΣΜΟΙ ΣΥΝΔΕΣΜΩΝ... 76 3.2.1 Βιβλιογραφικά σύνολα δεδομένων... 77 3.2.2 Βιβλιογραφικές διεπαφές... 83 4 Η ΒΙΒΛΙΟΘΗΚΗ BIBLINKCREATOR... 91 4.1 Η ΔΙΑΔΙΚΑΣΙΑ ΔΗΜΙΟΥΡΓΙΑΣ ΣΥΝΔΕΣΕΩΝ... 92 4.2 ΔΟΜΙΚΑ ΣΤΟΙΧΕΙΑ ΤΗΣ ΒΙΒΛΙΟΘΗΚΗΣ... 94 4.2.1 Η κλάση DataExtractor... 95 4.2.2 Η κλάση DataLinker... 98 4.2.3 Η κλάση DataDownloader... 101 4.3 ΧΡΗΣΗ ΤΗΣ ΒΙΒΛΙΟΘΗΚΗΣ... 102 4.4 ΑΠΟΤΕΛΕΣΜΑΤΑ... 104 5 ΣΥΜΠΕΡΑΣΜΑΤΑ... 107 ΒΙΒΛΙΟΓΡΑΦΙΑ... 109 ΠΑΡΑΡΤΗΜΑ... 114 Σελίδα iv
1 Εισαγωγή Η ραγδαία εξέλιξη του Παγκοσμίου Ιστού (Π.Ι.) έχει επιφέρει μεγάλες αλλαγές στην κοινωνία και στον τρόπο με τον οποίο επικοινωνούν οι άνθρωποι. Η πρώτη του γενιά (Web 1.0), είχε ως βασικό συστατικό το περιεχόμενο (έγγραφα) το οποίο προσφερόταν στους χρήστες για πληροφόρηση χωρίς όμως να υπάρχει διαδραστικότητα [1]. Σε αντίθεση, η δεύτερη γενιά (Web 2.0), επικεντρώνεται στις κοινωνικές αλληλεπιδράσεις των ανθρώπων μέσω των κοινωνικών δικτύων [1, 2], προσφέροντας μεγάλη διαδραστικότητα και τη δυνατότητα στους χρήστες να είναι συν-δημιουργοί του περιεχομένου. Οι χρήστες δημιουργούν και διαμοιράζονται κείμενο, εικόνες, ήχους, βίντεο και άλλες μορφές πληροφορίας διαμέσου ιστοσελίδων όπως είναι η YouTube, η SoundCloud, η Flickr, κ.ά. Βασικός παράγοντας για τις ιστοσελίδες της γενιάς αυτής είναι οι Βάσεις Δεδομένων (Β.Δ.) όπου αποθηκεύονται τα δεδομένα και ανακτώνται για τη δόμηση του περιεχομένου των ιστοσελίδων οι οποίες είναι δυναμικές. Αν και είναι εύκολα αντιληπτό στον άνθρωπο αυτό που προσφέρεται σε μια ιστοσελίδα, υπάρχει αδυναμία κατανόησης από λογισμικά, με αποτέλεσμα να υπάρχει δυσκολία ενοποιημένης αναπαράστασης πληροφορίας από διάφορες πηγές. Αυτό είναι το βασικό πρόβλημα που καλείται να λύσει η τρίτη γενιά (Web 3.0) του Π.Ι. που έχει αρχίσει να κάνει την εμφάνισή της στηριζόμενη στα δεδομένα και τη σημασιολογία. Ο Σημασιολογικός Ιστός (Σ.Ι.) είναι αυτό που ξεκινάει να αναδύεται ως η επόμενη μεγάλη αλλαγή μετά τα κοινωνικά δίκτυα. Ο βασικός μηχανισμός αναπαράστασης των δεδομένων του Σ.Ι. αποτελεί το μοντέλο μεταδεδομένων Resource Description Framework (RDF). Σταδιακά οι ιστοσελίδες αρχίζουν να το αξιοποιούν για να προσφέρουν το περιεχόμενό τους συμπεριλαμβάνοντας σημασιολογία. Περιεχόμενο RDF, προσφέρεται επίσης με τη μορφή αρχείων (σύνολα δεδομένων) και μέσω σημείων πρόσβασης (endpoint) σε σημασιολογικές Β.Δ. που φιλοξενούν ανάλογα RDF σύνολα δεδομένων, με χρήση της γλώσσας ερωτημάτων Simple Protocol and RDF Query Language (SPARQL). Η διασύνδεση αυτού του είδους σημασιολογικών πόρων δημιουργεί έναν Παγκόσμιο Χώρο Δεδομένων [3, 4], όπου η πληροφορία γίνεται προσβάσιμη και από ανθρώπους και από λογισμικά πράκτορες. Σελίδα 5
Μεγάλο πλήθος από διασυνδεδεμένα RDF σύνολα δεδομένων είναι ήδη διαθέσιμα για ελεύθερη χρήση σχηματίζοντας ένα νέφος που είναι γνωστό ως Ανοιχτά Διασυνδεδεμένα Δεδομένα (ΑΔΔ). Ο κάθε κόμβος του αποτελεί συνεισφορά RDF περιεχομένου από χρήστες του διαδικτύου ή από οργανισμούς και διασυνδέεται με άλλους μέσω RDF συνδέσεων. Ένας από τους βασικούς του κόμβους αποτελεί η DBpedia, η οποία διαθέτει πληθώρα από εισερχόμενες και εξερχόμενες συνδέσεις [5, 6]. Είναι ένα έργο που βασίζεται στην συλλογική προσπάθεια της κοινότητας, με το περιεχόμενό της να προέρχεται από την Wikipedia. Πολλά από τα σύνολα δεδομένων του νέφους προέρχονται από βιβλιοθήκες από όλο τον κόσμο, παρέχοντας μεταδεδομένα σχετικά με ψηφιοποιημένο περιεχόμενο από βιβλία, περιοδικά, χάρτες, έντυπη μουσική, κ.ά. [7, 8]. Τα βιβλιογραφικά RDF σύνολα δεδομένων παράγονται βάσει αντιστοίχισης από υπάρχοντα πρότυπα μεταδεδομένων που χρησιμοποιούνται στις βιβλιοθήκες, όπως είναι το Machine-Readable Cataloging (MARC) και το Encoded Archival Description (EAD) [8]. Οι διασυνδέσεις μεταξύ των κόμβων των ΑΔΔ αποτελούν σημαντικό παράγοντα για την επίτευξη των στόχων του Σ.Ι. [9]. Όσο περισσότερες είναι οι διασυνδέσεις αυτές, τόσο διευκολύνεται η πρόσβαση στην πληροφορία. Υπάρχει συνεχής προσπάθεια από την κοινότητα για τη δημιουργία νέων συνδέσεων και τη συντήρηση των ήδη υπαρχόντων. Η συντήρηση είναι απαραίτητη για την αποφυγή αιτημάτων HTTP σε πόρους που δεν υφίστανται πλέον [3] και επίσης για την διασφάλιση της ακεραιότητας των παρεχόμενων δεδομένων. Βασικός στόχος αυτής της διπλωματικής εργασίας είναι η δημιουργία εναλλακτικών συνδέσεων για τις βιβλιογραφικές αναφορές της DBpedia, που προέρχονται από άρθρα που έχουν δημοσιευθεί στην αγγλική έκδοση της Wikipedia. Για τον σκοπό αυτό δημιουργήθηκε η Java βιβλιοθήκη BibLinkCreator που έχει τη δυνατότητα εξαγωγής και προεπεξεργασίας δεδομένων από ζεύγη RDF συνόλων και τη διασύνδεσή τους μέσω χρήσης τεχνικών που βασίζονται σε κλειδιά και στην ομοιότητα περιεχομένου [3, 4]. Για την εξαγωγή των δεδομένων χρησιμοποιήθηκαν αναγνωριστικά όπως το ISBN, ISSN, DOI, LCCN, κ.ά. που αποδίδονται σε φυσικά αντικείμενα ή περιεχόμενα που διακινούνται στον Π.Ι. Τα δεδομένα αυτά περιλαμβάνουν τίτλους, ημερομηνίες έκδοσης (προαιρετικό σε ορισμένες περιπτώσεις), διευθύνσεις πόρων και τα αναγνωριστικά που χρησιμοποιήθηκαν για την εξαγωγή. Η ομοιομορφία των δεδομένων εξασφαλίζεται μέσω προεπιλεγμένων κανόνων προεπεξεργασίας και κανόνων που ορίζονται απ' τον χρήστη και οι συνδέσεις δημιουργούνται βάσει ομοιότητας μεταξύ των προεπεξεργασ- Σελίδα 6
μένων δεδομένων από τα δύο σύνολα. Η βιβλιοθήκη έχει τη δυνατότητα ανεύρεσης των ανακατευθύνσεων που πραγματοποιούνται κατά την πλοήγηση σε διευθύνσεις της ιστοσελίδας doi.org ώστε να διασφαλίζεται η διαφορετικότητα των διευθύνσεων πηγής και προορισμού κατά τη δημιουργία των συνδέσεων. Ως πηγή συνδέσεων, χρησιμοποιήθηκε ένα RDF σύνολο δεδομένων της DBpedia αποτελούμενο από μεταδεδομένα σχετικά με βιβλιογραφικές αναφορές και ως προορισμοί χρησιμοποιήθηκαν πέντε βιβλιογραφικά RDF σύνολα διαθέσιμα για κατέβασμα από διάφορες πηγές συγγραμμάτων και πέντε RDF σύνολα τα οποία δημιουργήθηκαν ύστερα από συλλογή δεδομένων με χρήση βιβλιογραφικών διεπαφών (APIs). Το αποτέλεσμα της όλης προσπάθειας ήταν η δημιουργία 1.084.445 εναλλακτικών συνδέσεων για τις βιβλιογραφικές αναφορές της DBpedia, απ' τις οποίες 761.235 αντιστοιχούν σε μοναδικές διευθύνσεις-οντότητες. Το παρόν έγγραφο αποτελείται από πέντε κεφάλαια αναγκαία για την περιγραφή του εγχειρήματος. Το κεφάλαιο 1 αποτελεί την τρέχουσα εισαγωγή στην οποία δόθηκε μια βασική εικόνα. Στα υπόλοιπα θα γίνει προσπάθεια περιγραφής των σημαντικότερων πτυχών του θέματος που πραγματεύεται η εργασία αυτή. Το κεφάλαιο 2, επικεντρώνεται στις απαραίτητες γνώσεις που είναι αναγκαίες για να γίνουν κατανοητές οι έννοιες που έχουν χρησιμοποιηθεί για τη δημιουργία των συνδέσεων καθώς και της βιβλιοθήκης BibLinkCreator. Περιγράφονται οι βασικές έννοιες του Σ.Ι., των Διασυνδεδεμένων Δεδομένων, τα βιβλιογραφικά αναγνωριστικά και τα μέτρα ομοιότητας κειμένων που έχουν χρησιμοποιηθεί για τη δημιουργία των συνδέσεων, κ.ά. Στο κεφάλαιο 3, περιγράφονται οι βιβλιογραφικοί πόροι που έχουν χρησιμοποιηθεί για τη δημιουργία των συνδέσεων περιλαμβάνοντας την ανάλυση της δομής των περιεχομένων τους. Το κεφάλαιο 4 παρουσιάζει τη βιβλιοθήκη BibLinkCreator αναλύοντας τα δομικά στοιχεία της καθώς και τα αποτελέσματα που παρήχθησαν στην εργασία αυτή ύστερα από την αξιοποίησή της. Το κεφάλαιο 5 παρουσιάζει τα συμπεράσματα και τα μελλοντικά βήματα που μπορούν να γίνουν για τη δημιουργία νέων συνδέσεων και τη βελτίωση της βιβλιοθήκης BibLinkCreator. Σελίδα 7
2 Απαραίτητο Υπόβαθρο Σκοπός του κεφαλαίου αυτού είναι να παρουσιαστούν και να αναλυθούν όλες οι έννοιες που κρίνονται αναγκαίες για την κατανόηση των ζητημάτων που εμπλέκονται στην διασύνδεση των βιβλιογραφικών αναφορών της DBpedia σε άλλες βιβλιογραφικές βάσεις καθώς και τη δημιουργία της βιβλιοθήκης BibLinkCreator. Το κεφάλαιο θα επικεντρωθεί στις σημαντικότερες αναγκαίες γνώσεις για την κατανόηση του θέματος της εργασίας παρέχοντας το κατάλληλο θεωρητικό υπόβαθρο. Πρώτο βήμα προς αυτή την κατεύθυνση είναι η γενική περιγραφή του εγχειρήματος. 2.1 Γενική περιγραφή του εγχειρήματος Είναι σημαντικό, εξ αρχής να περιγραφούν οι βασικές πτυχές του εγχειρήματος έτσι ώστε να υπάρχει μια συνολική εικόνα προτού δοθούν περισσότερες λεπτομέρειες στα επόμενα κεφάλαια. Όπως αναφέρθηκε και στην εισαγωγή, οι συνδέσεις μεταξύ των κόμβων των ΑΔΔ παίζουν σημαντικό ρόλο για το Σ.Ι. Όπως οι κλασικοί υπερσύνδεσμοι του Π.Ι., έτσι και οι RDF συνδέσεις του Σ.Ι. καθορίζουν την ευχέρεια πλοήγησης μεταξύ ιστοσελίδων και πηγών δεδομένων αντίστοιχα. Η δημιουργία RDF συνδέσεων πραγματοποιείται είτε χειροκίνητα από ανθρώπους (για σχετικά μικρό αριθμό συνδέσεων) είτε με αυτοματοποιημένο τρόπο μέσω κατάλληλων λογισμικών. Τα λογισμικά αυτά στηρίζονται στην ομοιότητα του περιεχομένου των RDF συνόλων, μεταξύ των οποίων γίνεται η ανεύρεση συνδέσεων. Η βιβλιοθήκη που αναπτύχθηκε στα πλαίσια της εργασίας, στηρίζεται σε κοινά αναγνωριστικά (όπως για παράδειγμα το ISBN), που μπορεί να υπάρχουν μεταξύ των εξεταζόμενων RDF συνόλων, για τον εντοπισμό συγκεκριμένων δεδομένων τους. Εφόσον διασφαλιστεί η περαιτέρω ομοιότητα των δεδομένων αυτών με χρήση βιβλιογραφικών χαρακτηριστικών όπως είναι οι τίτλοι και τα έτη εκδόσεων, δημιουργούνται συνδέσεις μεταξύ συγκεκριμένων καταχωρήσεών τους. Σε αντίθεση με τα κλασικά προγράμματα δημιουργίας συνδέσεων, η βιβλιοθήκη που αναπτύχθηκε, εστιάζει σε βιβλιογραφικά δεδομένα, διαθέτοντας κατάλληλες συναρτήσεις για μετατροπές των αναγνωριστικών (για παράδειγμα από ISBN10 σε ISBN13) και την επαλήθευση τους. Εφόσον τα δεδομένα που προσφέρονται από διά- Σελίδα 9
φορες πηγές, δεν έχουν καταχωρηθεί με τους ίδιους κανόνες (για παράδειγμα χρησιμοποιούν διαφορετικά σημεία στίξης στους τίτλους), απαιτείται προεπεξεργασία τους προτού γίνουν οι αναγκαίες συγκρίσεις. Για την σύγκριση των τίτλων, η βιβλιοθήκη διαθέτει ως μέτρα ομοιότητας κειμένων τους συντελεστές Jaccard, Dice, Overlap και Cosine. Η βιβλιοθήκη χρησιμοποιήθηκε για τη δημιουργία συνδέσεων μεταξύ των αναφορών της DBpedia (που αποτελεί την πηγή των συνδέσεων) και άλλων βιβλιογραφικών RDF συνόλων (που αποτελούν τους προορισμούς). Η αναζήτηση πραγματοποιήθηκε ανά ζεύγη, μεταξύ της πηγής και των προορισμών για κάθε είδους αναγνωριστικό που ήταν κοινό και στα δύο RDF σύνολα δεδομένων. 2.2 Σημασιολογικός Ιστός Η ανάγκη για παροχή βελτιωμένων υπηρεσιών απ' τον Π.Ι. έχει οδηγήσει σε τεχνολογίες που καθιερώνουν σταδιακά αυτό που χαρακτηρίζεται ως Σ.Ι. Βασικό στοιχείο του αποτελεί η περιγραφή της σημασιολογίας των προσφερόμενων δεδομένων. Δηλαδή, ένας μηχανισμός που μπορεί να διαχωρίζει αντικείμενα που αν και μοιάζουν, περιγράφουν διαφορετικές έννοιες. Για παράδειγμα, χωρίς τον ορισμό της σημασιολογίας, μια αναζήτηση μέσω μιας κλασικής μηχανής αναζήτησης για τον όρο "Άρης", θα επέστρεφε αποτελέσματα και για τον πλανήτη και για την αντίστοιχη αθλητική ομάδα. Σε αντίθεση με αυτό, ο Σ.Ι. επιτρέπει προσαρμοσμένες αναζητήσεις, επιστρέφοντας μόνο αποτελέσματα σχετικά με τις απαιτήσεις του χρήστη. Τα περιεχόμενα των ιστοσελίδων του Π.Ι. είναι δομημένα με τέτοιο τρόπο, ώστε ενώ τα αντιλαμβάνονται με ευκολία οι άνθρωποι, δεν γίνεται το ίδιο και από τα λογισμικά. Ακόμα και οι ιστοσελίδες που δομούνται από Β.Δ., δεν διατηρούν την πληροφορία δομής που εμπεριέχονται σε αυτές [10]. Αυτό έχει σαν αποτέλεσμα να υπάρχει δυσκολία δημιουργίας και συντήρησης εφαρμογών που να μπορούν να εξάγουν συγκεκριμένα δεδομένα από ιστοσελίδες κατανοώντας το περιεχόμενό τους. Συνήθως τέτοιες εφαρμογές περιλαμβάνουν κανόνες που τίθενται χειροκίνητα για τον τρόπο εξαγωγής των δεδομένων, ύστερα από ανάλυση της δομής της κάθε ιστοσελίδας ξεχωριστά. Τυχόν αλλαγές στη δομή των ιστοσελίδων, θα πρέπει να παρακολουθείται από ανθρώπους ώστε να γίνουν οι κατάλληλες μεταβολές στις εφαρμογές αυτές. Σε αντίθεση, στον Σ.Ι., τα δεδομένα των ιστοσελίδων συνοδεύονται από μεταδεδομένα ώστε να είναι κατανοητά και από λογισμικά [10]. Αυτό προσφέρει μεγάλες δυνα- Σελίδα 10
τότητες δημιουργίας αυτοματοποιημένων εφαρμογών εξαγωγής γνώσης από διάφορες πηγές και ενοποιημένης αναπαράστασης πληροφορίας. Λογισμικά πράκτορες, θα μπορούν να αναζητούν εξατομικευμένες πληροφορίες με πιο αποδοτικό τρόπο, προσφέροντας στους χρήστες εναλλακτικούς τρόπους για την επίτευξη των στόχων τους [11]. Βασικός μηχανισμός για τη μοντελοποίηση των μεταδεδομένων του Σ.Ι. αποτελεί το μοντέλο RDF, που συντάσσεται με διάφορες μορφές όπως για παράδειγμα μέσω της γλώσσας σήμανσης Extensible Markup Language (XML). Δομικό στοιχείο του είναι η δήλωση (statement) που αποτελείται από την τριπλέτα (triple) αντικείμενο-ιδιότητα-τιμή (object-attribute-value) [12]. Το αντικείμενο αναπαριστά κάποιον πόρο που θέλουμε να περιγράψουμε, η ιδιότητα αναφέρεται σε κάποιο χαρακτηριστικό του πόρου ενώ η τιμή δηλώνει την τιμή που έχει η συγκεκριμένη ιδιότητα. Για παράδειγμα, μια δήλωση σχετικά με την εργασία αυτή θα μπορούσε να είναι η εξής τριπλέτα: Διπλωματική εργασία - συντάκτης - "Δαβίδ Ναζαριάν". Η Διπλωματική εργασία αποτελεί το αντικείμενο που περιγράφεται και συνδέεται με τον συντάκτη με το ονοματεπώνυμο "Δαβίδ Ναζαριάν" μέσω της ιδιότητας συντάκτης. Πολλαπλές τριπλέτες με το ίδιο αντικείμενο μπορούν να χρησιμοποιηθούν για να περιγραφούν διαφορετικές ιδιότητές του. Για παράδειγμα, το αντικείμενο Διπλωματική εργασία θα μπορούσε να διαθέτει και άλλες ιδιότητες όπως επιβλέπων, λέξη-κλειδί, τίτλος, θέμα, κεφάλαια, κ.ά. Με ανάλογο τρόπο πολλαπλές τριπλέτες με κοινά αντικείμενα και κοινές ιδιότητες μπορούν να χρησιμοποιηθούν ώστε να δηλώσουν διαφορετικές τιμές για τη συγκεκριμένη ιδιότητα του αντικειμένου. Για παράδειγμα, θα μπορούσε η ιδιότητα λέξη-κλειδί να διαθέτει τιμές όπως "Σημασιολογικός Ιστός", "Διασύνδεση Δεδομένων", κ.ά. Η δομή των τριπλετών επιτρέπει επίσης τη δημιουργία αλυσίδων, δηλαδή μπορεί η τιμή μιας τριπλέτας να αποτελέσει το αντικείμενο μιας άλλης [12]. Με αυτόν τον τρόπο, τα μεταδεδομένα μπορούν να αναπαρασταθούν ως ένας κατευθυνόμενος γράφος που έχουν σαν δομικό στοιχείο την RDF δήλωση. Για την περιγραφή κάποιου πεδίου ενδιαφέροντος, χρησιμοποιούνται κατάλληλοι μηχανισμοί αναπαράστασης, που ονομάζονται οντολογίες. Αυτές, λειτουργούν ομαδοποιώντας αντικείμενα που διαθέτουν κοινές ιδιότητες και χαρακτηριστικά και καθορίζοντας την ιεραρχία μεταξύ τους [10, 12]. Ορισμένα από τα βασικά στοιχεία τους είναι οι κλάσεις, οι οποίες κατατάσσουν τα αντικείμενα σε κατηγορίες ή ομάδες, οι σχέσεις μεταξύ των κλάσεων (όπως είναι οι ιεραρχίες), οι ιδιότητες που μπορεί να αποδίδονται στις κλάσεις, οι ιεραρχίες μεταξύ των ιδιοτήτων αυτών, τα στιγμιότυπα των κλάσεων, Σελίδα 11
κ.ά. Στιγμιότυπα (instances) ονομάζονται τα αντικείμενα που ανήκουν σε μια κλάση. Στην προηγούμενη παράγραφο, το παράδειγμα δήλωσης που χρησιμοποιήθηκε, θα μπορούσε να είχε παραχθεί από κάποια οντολογία σχετική με τη βιβλιογραφία. Το αντικείμενο Διπλωματική εργασία, θα μπορούσε να αποτελεί στιγμιότυπο της κλάσης Σύγγραμμα και να χρησιμοποιεί τις ιδιότητες του δίδονται στα συγγράμματα. Οι κανόνες που τίθενται στις οντολογίες αποτελούν έναν μηχανισμό που επιτρέπουν τον συμπερασμό νέων σχέσεων εκτός αυτών που ορίζονται ρητά. Αυτό έχει σαν αποτέλεσμα τα λογισμικά πράκτορες του Σ.Ι. να αποκτούν μεγαλύτερη αυτονομία στην εργασία που καλούνται να εκτελέσουν. Βασικές γλώσσες για την δημιουργία οντολογιών αποτελούν η RDF Schema (RDFS) και η Web Ontology Language (OWL), οι οποίες βασίζονται σε δηλώσεις RDF. Στην ιεραρχία των γλωσσών που χρησιμοποιούνται στον Σ.Ι., η OWL βρίσκεται κατά ένα επίπεδο ψηλότερα από την RDFS, λόγω των μεγαλύτερων δυνατοτήτων που διαθέτει. Το σύνολο των στρωμάτων της αρχιτεκτονικής του Σ.Ι., όπως παρουσιάστηκε από τον Tim Berners-Lee το 2000, φαίνεται στην Εικόνα 1. Εικόνα 1. Τα στρώματα της αρχιτεκτονικής του Σ.Ι. [11]. Έχουν προταθεί διάφορες εναλλακτικές της αρχιτεκτονικής χωρίς όμως να αλλάζει η γενική της μορφή. Στα χαμηλότερα στρώματα της βρίσκονται οι τεχνολογίες αναπαράστασης και διακίνησης των δεδομένων όπως, η κωδικοποίηση των χαρακτήρων, η μορφή των διευθύνσεων, η σήμανση των δεδομένων. Ενώ στα υψηλότερα βρίσκονται οι τεχνολογίες που διαχωρίζουν τον Σ.Ι. από το Π.Ι. όπως, οι γλώσσες οντολογιών, επιπρόσθετοι μηχανισμοί εξαγωγής συμπερασμάτων κ.τ.λ. Σελίδα 12
Στον Σ.Ι., για να αξιοποιηθούν περιεχόμενα που βασίζονται στο RDF μοντέλο, συνήθως χρησιμοποιείται η γλώσσα ερωτημάτων SPARQL [10, 13, 14]. Παρέχει τη δυνατότητα δημιουργίας, ανεύρεσης, ενημέρωσης και διαγραφής τμημάτων από RDF δεδομένα (γράφους), βασισμένη στην αντιστοίχιση-γράφων (graph-matching) μέσω μεταβλητών [10, 13]. Μεταβλητές μπορούν να αντιστοιχηθούν στα δεδομένα που περιέχει ένας RDF γράφος ώστε να απομονωθούν μόνο κατάλληλα τμήματά του. Για παράδειγμα, αν θα αντιστοιχούσαμε τη μεταβλητή x στη θέση του αντικειμένου της τριπλέτας που διαθέτει ως συντάκτη τον "Δαβίδ Ναζαριάν" και εκτελούσαμε το ερώτημα, η μεταβλητή θα αποκτούσε την τιμή Διπλωματική εργασία. Με ανάλογο τρόπο, μπορούν να χρησιμοποιηθούν περισσότερες της μιας μεταβλητής σε διάφορες θέσης της τριπλέτας ακόμα και να δημιουργηθούν αλυσίδες μεταβλητών. Για τη αποθήκευση και διαχείριση των RDF περιεχομένων, χρησιμοποιούνται σημασιολογικές Β.Δ. που λέγονται triplestore ή quadstore. Συνήθως αποτελούν προγράμματα τα οποία έχουν δημιουργηθεί για τον συγκεκριμένο σκοπό, όμως υπάρχουν και υλοποιήσεις που βασίζονται σε τεχνολογίες κλασικών Β.Δ. Συνήθως διαθέτουν γραφικό περιβάλλον και επιτρέπουν τη διαχείριση των αποθηκευτικών χώρων (repository) που φιλοξενούν τα RDF περιεχόμενα και διαθέτουν διεπαφή διενέργειας ερωτημάτων SPARQL. Εφόσον στον Σ.Ι. τα μεταδεδομένα έχουν πρωταρχικό ρόλο, οι σημασιολογικές Β.Δ. παρέχουν τη δυνατότητα απομακρυσμένης εκτέλεσης ερωτημάτων μέσω κατάλληλων τεχνολογιών αξιοποιώντας το πρωτόκολλο HTTP. 2.2.1 Μεταδεδομένα Το μοντέλο RDF αποτελεί τον βασικό μηχανισμό μοντελοποίησης των μεταδεδομένων του Σ.Ι. χρησιμοποιώντας δηλώσεις για την περιγραφή πόρων. Κάθε RDF δήλωση αποτελείται από μια τριπλέτα αντικείμενο-ιδιότητα-τιμή ή εναλλακτικά υποκείμενοκατηγόρημα-αντικείμενο (subject-predicate-object) και μπορεί να περιγραφεί μέσω της σχέσης: A(O,V) όπου O = Object (αντικείμενο), A = Attribute (ιδιότητα) και V = Value (τιμή), που εκφράζει τη σύνδεση μεταξύ των κόμβων O και V μέσω της ακμής A [12]. Η αναπαράσταση του γράφου δίνεται στην Εικόνα 2. Object Attribute Value Εικόνα 2. Ο γράφος της RDF δήλωσης. Σελίδα 13
Οι πόροι, αποτελούν φυσικές ή νοητές έννοιες που θέλουμε να περιγράψουμε όπως βιβλία, αυτοκίνητα, αριθμοί κ.τ.λ. και αναπαριστώνται μέσω Uniform Resource Identifier (URI). Τα αναγνωριστικά URI / IRI Ένα URI αποτελείται από μια ακολουθία χαρακτήρων που προσδιορίζει μοναδικά έναν πόρο χωρίς αναγκαία να επιτρέπει πρόσβαση σε αυτόν [10]. Συνεπώς περιλαμβάνει το Uniform Resource Name (URN) και το Uniform Resource Locator (URL). Το URN είναι μια περίπτωση URI η οποία περιγράφει έναν πόρο χωρίς να παρέχει πληροφορία σχετικά με τον τρόπο πρόσβασης, σε αντίθεση, το URL παρέχει την πληροφορία αυτή. Για παράδειγμα, το URI urn:isbn:9781441950291 αποτελεί ένα URN διότι χρησιμοποιεί ως scheme (δηλαδή το τμήμα πριν την πρώτη άνω-κάτω τελεία από τα αριστερά) το urn, ενώ το URI https://www.ietf.org/rfc/rfc3986.txt είναι ένα URL διότι χρησιμοποιεί το scheme https το οποίο παρέχει τον μηχανισμό πρόσβασης. Στην απόλυτη (absolute) μορφή του, ένα URI έχει την εξής σύνταξη 1 : <scheme>:<scheme-specific-part> Όπου το scheme είναι αυτό που καθορίζει την προσβασιμότητα και την αναγνώριση του πόρου και το scheme-specific-part είναι μια ακολουθία χαρακτήρων που ερμηνεύεται βάσει του scheme που χρησιμοποιείται. Υπάρχει ένα υποσύνολο των URI στα οποία συμπεριλαμβάνεται πληροφορία ιεραρχίας στο τμήμα μετά το scheme και έχουν την εξής μορφή: <scheme>://<authority><path>?<query> Το authority αποτελεί την κορυφή της ιεραρχίας στην ονοματοδοσία που χρησιμοποιείται μετά τις διπλές καθέτους "//", το path περιλαμβάνει συγκεκριμένα δεδομένα αναγνώρισης κάποιου πόρου και το query περιέχει πληροφορία η οποία ερμηνεύεται από τον πόρο. Υποχρεωτική είναι η ύπαρξη μόνο του scheme ενώ το authority, το path και το query είναι προαιρετικά. Για το καθένα υπάρχουν δεσμευμένοι χαρακτήρες που δεν ε- πιτρέπεται η χρήση τους όπως για παράδειγμα οι χαρακτήρες ";", ":", "@", "?" και "/" για το authority. Αυτό που διαχωρίζει την απόλυτη μορφή ενός URI από τη σχετική (relative) είναι η έλλειψη πληροφορίας σχετικά με το scheme. Μια σχετική μορφή, 1 https://www.ietf.org/rfc/rfc2396.txt Σελίδα 14
μπορεί να μετατραπεί στην απόλυτη, ύστερα από τη χρήση πληροφορίας βάσης. Για παράδειγμα, αν το URI βάσης είναι το https://www.ietf.org/rfc/rfc3986.txt και χρησιμοποιηθεί ο υπερσύνδεσμος <a href="rfc2396.txt">file</a> που περιέχει το σχετικό URI "rfc2396.txt", τότε θα δημιουργηθεί το URI https://www.ietf.org/rfc/rfc2396.txt. Η γενική μορφή του URI είναι η εξής: URI-reference = [ absoluteuri relativeuri ] [ "#" fragment ] Όπου το absoluteuri είναι η απόλυτη μορφή του URI και το relativeuri είναι η σχετική μορφή του, που εντέλει θα μετατραπεί στην απόλυτη. Προαιρετικά υπάρχει και το fragment το οποίο διαχωρίζεται από το URI μέσω της δίεσης "#" και αποτελεί ένα α- ναγνωριστικό που αναφέρεται σε συγκεκριμένο σημείο μέσα στον πόρο 2 ή στον ίδιο χώρο ονοματοδοσίας. Στην Εικόνα 3 δίνεται ένα παράδειγμα RDF δήλωσης όπου παρουσιάζεται η χρήση των URI. http://dblp.l3s.de/d2r/resource/ authors/tim_berners-lee foaf:homepage http://www.w3.org/people/ Berners-Lee Εικόνα 3. Παράδειγμα αναπαράστασης RDF δήλωσης. Στη δήλωση αυτή, το URI του αντικειμένου αντιπροσωπεύει το συγγραφέα Tim Berners-Lee και συνδέεται με την ιστοσελίδα που διατηρεί στον οργανισμό W3C μέσω της ιδιότητας foaf:homepage. Το foaf αποτελεί ένα πρόθεμα που χρησιμοποιείται ως συντόμευση του URI http://xmlns.com/foaf/0.1/. Το πλήρες URI της ιδιότητας μετά την αντικατάσταση του προθέματος, είναι η εξής: http://xmlns.com/foaf/0.1/homepage. Γενικότερα, στην τριπλέτα που περιέχεται σε μια RDF δήλωση: Το αντικείμενο, επιτρέπεται να είναι URI ή κενός κόμβος (blank node). Η ιδιότητα, επιτρέπεται να είναι URI. Η τιμή, επιτρέπεται να είναι URI, κενός κόμβος ή λεκτικό (literal). Ένας κενός κόμβος δηλώνει την ύπαρξη κάποιου κόμβου χωρίς να προσδιορίζεται από URI. Ένας πόρος ονομάζεται και ανώνυμος όταν αναπαριστάται από έναν κενό κόμβο [15]. Υπάρχουν δύο κατηγορίες λεκτικών που μπορούν να χρησιμοποιηθούν στην τιμή μιας RDF δήλωσης. Η πρώτη, είναι το απλό λεκτικό (plain literal), το οποίο αποτε- 2 https://www.w3.org/tr/html4/intro/intro.html Σελίδα 15
λείται από μια συμβολοσειρά που μπορεί να συνοδεύεται προαιρετικά από την ένδειξη ή ετικέτα (tag) της γλώσσας, ενώ η δεύτερη, είναι το λεκτικό με τύπο δεδομένων (typed literal), που χρησιμοποιείται για την απόδοση τύπου δεδομένων στο περιεχόμενο μιας συμβολοσειράς, μέσω συνδυασμού με URI που εκφράζει τον τύπο αυτό. Για παράδειγμα, η έκφραση "SemanticWeb"@en αποτελεί ένα απλό λεκτικό που συνοδεύεται από την ετικέτα της αγγλικής γλώσσας, ενώ η έκφραση "18"^^xsd:int αποτελεί ένα λεκτικό με τύπο δεδομένων, στο οποίο η συμβολοσειρά 18 έχει τύπο δεδομένων int. Μια διεύθυνση πόρου που αναπαριστάται ως λεκτικό διαφέρει από την ίδια διεύθυνση που αναπαριστάται ως URI 3. Επέκταση του URI, αποτελεί το Internationalized Resource Identifier (IRI) 4, το οποίο επεκτείνει το σετ χαρακτήρων που επιτρέπεται να χρησιμοποιηθεί στο URI, από ένα υποσύνολο του ASCII, στο Universal Character Set (UCS). Με αποτέλεσμα, να επιτρέπεται η χρήση χαρακτήρων από γλώσσες πέραν της αγγλικής μέσα στα αναγνωριστικά των πόρων. Παρόλα αυτά, στην πλειονότητα των περιπτώσεων χρησιμοποιούνται ακόμα τα URI. Η αναπαράσταση των RDF δηλώσεων Συνήθως στις αναπαραστάσεις των RDF δηλώσεων, τα οβάλ σχήματα χρησιμοποιούνται για τα URI, ενώ τα παραλληλόγραμμα σχήματα, για τις συμβολοσειρές. Στην Εικόνα 4 αναπαριστάται ένας γράφος πολλαπλών RDF δηλώσεων, στις οποίες υ- πάρχουν και URI και λεκτικά. http://dblp.l3s.de/d2r/resource/ authors/tim_berners-lee foaf:homepage http://www.w3.org/people/ Berners-Lee dc:creator foaf:name Tim Berners-Lee http://dblp.l3s.de/d2r/resource/ publications/conf/sigopse/berners-lee88 dc:title CERN experience. Εικόνα 4. Αναπαράσταση γράφου πολλαπλών RDF δηλώσεων. 3 https://www.w3.org/tr/2004/rec-rdf-concepts-20040210/#section-literal-equality 4 https://www.w3.org/international/articles/idn-and-iri/ Σελίδα 16
Ο γράφος αυτός αποτελεί επέκταση αυτού που παρουσιάστηκε στην Εικόνα 3, προσθέτοντας επιπλέον RDF δηλώσεις. Εκτός από την πληροφορία σχετικά με την ιστοσελίδα του Tim Berners-Lee, παρουσιάζεται το ονοματεπώνυμό του ως λεκτικό και ένα URI εργασίας του που έχει τον τίτλο CERN experience. Το dc αποτελεί το πρόθεμα συντόμευσης για το URI http://purl.org/dc/elements/1.1/. Για την αναπαράσταση ενός RDF γράφου σε μορφή κειμένου χρησιμοποιούνται διάφορες συντάξεις/σειριοποιήσεις (serializations) εκ των οποίων κάποιες είναι η RDF/XML, Turtle, N-Triples και N-Quads. Ο γράφος της Εικόνας 4 έχει την εξής σύνταξη σε RDF/XML: 01 02 03 04 05 06 07 08 09 10 11 <?xml version="1.0" encoding="utf-8"?> <rdf:rdf xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:foaf="http://xmlns.com/foaf/0.1/" xmlns:dc="http://purl.org/dc/elements/1.1/"> <rdf:description rdf:about= "http://dblp.l3s.de/d2r/resource/publications/conf/sigopse/ Berners-Lee88"> <dc:creator rdf:resource= "http://dblp.l3s.de/d2r/resource/authors/tim_berners-lee"/> <dc:title>cern experience.</dc:title> </rdf:description> <rdf:description rdf:about= "http://dblp.l3s.de/d2r/resource/authors/tim_berners-lee"> <foaf:name>tim Berners-Lee</foaf:name> <foaf:homepage rdf:resource= "http://www.w3.org/people/berners-lee/"/> </rdf:description> </rdf:rdf> [Η RDF/XML σειριοποίηση του γράφου της Εικόνας 4] Στην RDF/XML 5, οι RDF δηλώσεις σειριοποιούνται βάσει των κανόνων δομής των XML αρχείων. Η 1 η γραμμή του παραπάνω παραδείγματος αποτελεί την XML δήλωση (declaration). Στη 2 η, ορίζονται τα προθέματα συντομεύσεων των URI που χρησιμοποιούνται παραπάνω από μια φορά. Η 3 η, περιέχει το XML element μέσω του οποίου περιγράφεται ο πόρος που αναπαριστά την εργασία CERN experience, περιλαμβάνοντας το URI της εργασίας, το URI του συγγραφέα (στην 4 η γραμμή) και το απλό λεκτικό του τίτλου (στην 5 η γραμμή). Η 7 η, περιέχει το XML element μέσω του οποίου περιγράφε- 5 https://www.w3.org/tr/rdf-syntax-grammar/ Σελίδα 17
ται ο πόρος που αναφέρεται στον συγγραφέα Tim Berners-Lee, περιλαμβάνοντας το URI αυτού, το απλό λεκτικό του ονόματός του (στην 8 η γραμμή) και το URI της ιστοσελίδας του (στην 9 η γραμμή). Τα έγγραφα που χρησιμοποιούν την RDF/XML, λαμβάνουν την κατάληξη rdf. Η πιο απλή μορφή σειριοποίησης RDF μεταδεδομένων, παρέχεται μέσω της N- Triples 6. Η κάθε γραμμή ενός εγγράφου N-Triples, αποτελεί μια RDF δήλωση που τερματίζεται με τελεία και αλλαγή γραμμής και έχει την εξής μορφή: <object> <property> <value>. Τα URI περικλείονται σε γωνιακές αγκύλες "< >" και μπορούν να διαχωριστούν από το επόμενο στοιχείο μέσω ενός κενού ή tab. Για τα λεκτικά δεν απαιτούνται αγκύλες και συντάσσονται όπως περιγράφηκε στην προηγούμενη υπο-υποενότητα, ανάλογα με το αν αποτελούν απλά λεκτικά ή λεκτικά με τύπο δεδομένων. Η σύνταξη ενός κενού κόμβου, ξεκινά με την ακολουθία χαρακτήρων "_:" και ακολουθείται από μια ετικέτα ονόματος, σε μορφή συμβολοσειράς (όπως για παράδειγμα _:node1). Ο γράφος της Εικόνας 4, αναπαριστάται σε μορφή N-Triples ως εξής: 01 02 03 04 <http://dblp.l3s.de/d2r/resource/publications/conf/sigopse/ Berners-Lee88> <http://purl.org/dc/elements/1.1/creator> <http://dblp.l3s.de/d2r/resource/authors/tim_berners-lee>. <http://dblp.l3s.de/d2r/resource/publications/conf/sigopse/ Berners-Lee88> <http://purl.org/dc/elements/1.1/title> "CERN experience.". <http://dblp.l3s.de/d2r/resource/authors/tim_berners-lee> <http://xmlns.com/foaf/0.1/name> "Tim Berners-Lee". <http://dblp.l3s.de/d2r/resource/authors/tim_berners-lee> <http://xmlns.com/foaf/0.1/homepage> <http://www.w3.org/people/berners-lee/>. [Η N-Triples σειριοποίηση του γράφου της Εικόνας 4] Η 1 η γραμμή της σειριοποίησης, περιέχει την RDF δήλωση που συνδέει το URI της εργασίας CERN experience στο URI του συγγραφέα Tim Berners-Lee μέσω του URI της ιδιότητας creator. Η 2 η, περιέχει το URI της ίδιας εργασίας στην οποία αποδίδεται το απλό λεκτικό του τίτλου της, μέσω του URI της ιδιότητας title. Η 3 η και η 4 η αναφέρονται στο URI του συγγραφέα Tim Berners-Lee στο οποίο αποδίδεται το απλό λεκτικό του ονόματός του μέσω του URI της ιδιότητας name (στην 3 η γραμμή) και το URI της 6 https://www.w3.org/tr/n-triples/ Σελίδα 18
ιστοσελίδας του μέσω της ιδιότητας homepage (στην 4 η γραμμή). Έγγραφα που χρησιμοποιούν την N-Triples, λαμβάνουν την κατάληξη nt. Η σειριοποίηση αυτή αν και είναι απλή στην σύνταξή της, δεν ομαδοποιεί τις δηλώσεις που αναφέρονται σε ένα κοινό αντικείμενο και επαναλαμβάνει ήδη χρησιμοποιημένα URI. Για παράδειγμα, προηγουμένως στην 1 η και 2 η γραμμή επαναλαμβανόταν το URI της εργασίας του Tim Berners-Lee και στην 3 η και 4 η γραμμή, το URI που αναφερόταν στον ίδιο. Αυτό αποφεύγεται στην RDF/XML με τη χρήση XML element που συμπεριλαμβάνει όλες τις δηλώσεις για ένα αντικείμενο και τη χρήση προθεμάτων συντόμευσης. Μια εναλλακτική σειριοποίηση που επεκτείνει την N-Triples επιτρέποντας την ο- μαδοποίηση των δηλώσεών της και τη χρήση προθεμάτων συντόμευσης, αποτελεί η Terse RDF Triple Language (Τurtle) 7, η οποία, σε αντίθεση με την RDF/XML δεν βασίζεται στην XML δομή για την αναπαράσταση των τριπλετών. Παρακάτω ακολουθεί η Turtle μορφή του γράφου της Εικόνας 4. 01 02 03 04 05 06 @prefix foaf: <http://xmlns.com/foaf/0.1/>. @prefix dc: <http://purl.org/dc/elements/1.1/>. <http://dblp.l3s.de/d2r/resource/publications/conf/sigopse/ Berners-Lee88> dc:creator <http://dblp.l3s.de/d2r/resource/authors/tim_berners-lee> ; dc:title "CERN experience.". <http://dblp.l3s.de/d2r/resource/authors/tim_berners-lee> foaf:name "Tim Berners-Lee" ; foaf:homepage <http://www.w3.org/people/berners-lee/>. [Η Turtle σειριοποίηση του γράφου της Εικόνας 4] Στις δύο πρώτες γραμμές, ορίζονται τα προθέματα συντομεύσεων των URI που χρησιμοποιούνται στις ιδιότητες. Η 3 η, περιέχει το URI της εργασίας CERN experience που συνδέεται με το URI του συγγραφέα μέσω της ιδιότητας creator. Η 4 η, περιέχει το απλό λεκτικό του τίτλου της εργασίας το οποίο συνδέεται με το URI της εργασίας μέσω της ιδιότητας title. Η 5 η, περιέχει το URI του συγγραφέα Tim Berners-Lee που συνδέεται με το απλό λεκτικό του ονόματός του και η 6 η, περιέχει το URI της ιστοσελίδας του που συνδέεται μέσω της ιδιότητας homepage. Στην 3 η και την 5 η γραμμή το σύμβολο του ελληνικού ερωτηματικού ";" δηλώνει ότι η ιδιότητα που ακολουθεί, χρησιμοποιεί το ίδιο αντικείμενο με αυτό της συγκεκριμένης γραμμής, με αποτέλεσμα να μην επανα- 7 https://www.w3.org/tr/turtle/ Σελίδα 19
λαμβάνεται ξανά. Έγγραφα που χρησιμοποιούν την Turtle σειριοποίηση, λαμβάνουν την κατάληξη ttl. Στo RDF, υπάρχει η δυνατότητα απόδοσης μοναδικού αναγνωριστικού σε σύνολα δηλώσεων για την εύκολη απομόνωσή τους και μαζικό χειρισμό τους. Για παράδειγμα, στην περίπτωση που θα χρειαζόταν να αναπαρασταθούν στο ίδιο έγγραφο, δηλώσεις που αναφέρονται σε δύο ή παραπάνω γράφους, με τη χρήση των σειριοποιήσεων που περιγράφηκαν προηγουμένως θα ήταν μετέπειτα δύσκολο να απομονωθούν. Για τον σκοπό αυτό υπάρχουν οι ονομαστικοί γράφοι (named graphs) [16], η αναπαράσταση των οποίων προσθέτει ένα τέταρτο στοιχείο στις RDF δηλώσεις, αποδίδοντάς τες ένα μοναδικό αναγνωριστικό. Η N-Quads 8 αποτελεί μια από τις μορφές σειριοποίησής τους, που είναι ανάλογη του N-Triples στη δομή, όμως συμπεριλαμβάνει και την ονομασία που έχει αποδοθεί στον γράφο. Η γενική τους μορφή είναι η εξής: <object> <property> <value> <graphname>. Όπου, το graphname αναπαριστά ένα URI ή κενό κόμβο που αποδίδει το μοναδικό α- ναγνωριστικό στις τριπλέτες. Όπως και στα N-Triples, οι γωνιακές αγκύλες είναι αναγκαίες μόνο για τα URI. Για παράδειγμα, αν θα αποδίδαμε στον γράφο της Εικόνας 4 το URI http://biblinkcreator/graph/dblp, τότε η N-Quads σειριοποίηση θα ήταν η εξής: 01 02 03 04 <http://dblp.l3s.de/d2r/resource/publications/conf/sigopse/ Berners-Lee88> <http://purl.org/dc/elements/1.1/creator> <http://dblp.l3s.de/d2r/resource/authors/tim_berners-lee> <http://biblinkcreator/graph/dblp>. <http://dblp.l3s.de/d2r/resource/publications/conf/sigopse/ Berners-Lee88> <http://purl.org/dc/elements/1.1/title> "CERN experience." <http://biblinkcreator/graph/dblp>. <http://dblp.l3s.de/d2r/resource/authors/tim_berners-lee> <http://xmlns.com/foaf/0.1/name> "Tim Berners-Lee" <http://biblinkcreator/graph/dblp>. <http://dblp.l3s.de/d2r/resource/authors/tim_berners-lee> <http://xmlns.com/foaf/0.1/homepage> <http://www.w3.org/people/berners-lee/> <http://biblinkcreator/graph/dblp>. [Η N-Quads σειριοποίηση του γράφου της Εικόνας 4] Η περιγραφή της σειριοποίησης είναι ίδια με αυτή που δόθηκε για το N-Triples, με τη διαφορά ότι σαν τέταρτο στοιχείο στην κάθε γραμμή υπάρχει το αναγνωριστικό URI. 8 https://www.w3.org/tr/n-quads/ Σελίδα 20
2.2.2 Οντολογίες / Λεξιλόγια Ο Σ.Ι. παρέχει τη δυνατότητα σε λογισμικά πράκτορες να μπορούν να αξιοποιούν και να συνδυάζουν γνώση από διάφορες πηγές με αυτοματοποιημένο τρόπο. Όμως για να είναι σε θέση ένα λογισμικό, να κατανοήσει τον τρόπο με τον οποίο οργανώνονται και σχετίζονται τα δεδομένα διαφορετικών πηγών, απαιτείται η παροχή ανάλογης πληροφορίας. Οι οντολογίες, αποτελούν τον μηχανισμό για τη μοντελοποίηση της πληροφορίας αυτής, επιτρέποντας την ομαδοποίηση αντικειμένων (πόρων) που διαθέτουν κοινές ιδιότητες και τη δημιουργία ιεραρχίας μεταξύ τους [10, 12]. Ο όρος Οντολογία προέρχεται από τη φιλοσοφία, αποτελώντας έναν κλάδο που μελετά τη φύση της ύπαρξης [10]. Στην πληροφορική, στον όρο έχουν δοθεί οι παρακάτω ορισμοί μεταξύ άλλων [17]: Ένας σαφής προσδιορισμός μιας εννοιολογικής αναπαράστασης (Gruber, 1993). Ένας τυπικός προσδιορισμός μιας διαμοιρασμένης εννοιολογικής αναπαράστασης (Borst, 1997). Ένας τυπικός, σαφής προσδιορισμός μιας διαμοιρασμένης εννοιολογικής αναπαράστασης (Studer et al, 1998). Ο τρίτος ορισμός αποτελεί τη συγχώνευση των δύο πρώτων, με τους όρους του να έχουν την εξής ερμηνεία: Εννοιολογική αναπαράσταση: Ένα αφηρημένο και απλοποιημένο μοντέλο μιας έννοιας που αναπαριστάται. Διαμοιρασμένη: Θα πρέπει η εννοιολογική αναπαράσταση να εκφράζει την κοινή αντίληψη πολλών και όχι κάποιου συγκεκριμένου. Τυπικός, σαφής προσδιορισμός: Θα πρέπει η εννοιολογική αναπαράσταση να είναι δομημένη με μαθηματικό τρόπο και με ακρίβεια ώστε να είναι κατανοητή και από λογισμικά. Στις οντολογίες, οι πόροι που διαθέτουν κοινές ιδιότητες, ομαδοποιούνται σε κλάσεις. Στη βιβλιογραφία για παράδειγμα, κλάσεις θα μπορούσαν να αποτελούν το Έγγραφο, το Βιβλίο, το Σύγγραμμα, η Εργασία, κ.ά. Η κάθε κλάση μπορεί να περιγραφεί μέσω διάφορων ιδιοτήτων που τη χαρακτηρίζουν. Για την κλάση Έγγραφο για παράδειγμα, ορισμένες ιδιότητες θα μπορούσαν να είναι οι σελίδες, συγγραφέας, χρονολογία, κ.ά. Ιεραρχίες μπορούν να υπάρξουν μεταξύ των κλάσεων που αναφέρονται σε κοινές έννοιες και δομούνται συνήθως βάσει της σχέσης "είναι" (is-a), που επιτρέπει την κλη- Σελίδα 21
ρονόμηση ιδιοτήτων. Για παράδειγμα, ένα βιβλίο "είναι" ένα σύγγραμμα με το οποίο μοιράζεται κάποιες κοινές ιδιότητες, όπως σελίδες, κεφαλαία, τίτλος, χρονολογία, κ.ά., ενώ μπορεί να διαθέτει και άλλες πιο συγκεκριμένες ιδιότητες που χαρακτηρίζουν ένα βιβλίο, όπως isbn, έκδοση, κ.ά. Συνεπώς, η κλάση Σύγγραμμα θα μπορούσε να αποτελεί την υπερκλάση της κλάσης Βιβλίο, στην οποία κληρονομεί ιδιότητες. Κάθε κλάση μπορεί να διαθέτει μια ή περισσότερες υπο/υπερκλάσεις που σχετίζονται με την ίδια έννοια, με τις πιο αφηρημένες να βρίσκονται ψηλότερα στην ιεραρχία. Στην Εικόνα 5, παρουσιάζεται ένα παράδειγμα ιεραρχίας κλάσεων μιας βιβλιογραφικής οντολογίας. Σύγγραμμα Περιοδικό Βιβλίο Διατριβή Πρακτικά συνεδρίου Εγκυκλοπαίδεια Λεξικό Μεταπτυχιακή διατριβή Διδακτορική διατριβή Εικόνα 5. Αναπαράσταση της ιεραρχίας κλάσεων μιας βιβλιογραφικής οντολογίας. Στην οντολογία αυτή, η κλάση Σύγγραμμα, αποτελεί την κορυφή της ιεραρχίας έχοντας σαν υποκλάσεις, τις κλάσεις Περιοδικό, Βιβλίο και Διατριβή. Η κλάση Πρακτικά συνεδρίου, αποτελεί υποκλάση των κλάσεων Περιοδικό και Βιβλίο, εφόσον συνήθως τα πρακτικά των επιστημονικών συνεδρίων ταξινομούνται και ως περιοδικά και ως βιβλία. Οι κλάσεις, Εγκυκλοπαίδεια και Λεξικό αποτελούν υποκλάσεις της κλάσης Βιβλίο και οι κλάσεις Μεταπτυχιακή διατριβή και Διδακτορική διατριβή αποτελούν υποκλάσεις της κλάσης Διατριβή. Ανάλογες ιεραρχίες, μπορούν να υπάρχουν και μεταξύ των ιδιοτήτων που διαθέτουν οι κλάσεις, δημιουργώντας σχέσεις υπερ/υποϊδιοτήτων. Οι έννοιες και οι σχέσεις που αναπαριστώνται μέσω μιας οντολογίας, λέγονται όροι της (terms) 9. Στον Σ.Ι., μια εναλλακτική ονομασία που χρησιμοποιείται για την οντολογία, είναι το λεξιλόγιο (vocabulary). Συνήθως, ως οντολογίες χαρακτηρίζονται οι εννοιολογικές αναπαραστάσεις που ορίζονται με αυστηρούς κανόνες δόμησης ενώ τα λεξιλόγια για τις περιπτώσεις που δεν 9 https://www.w3.org/standards/semanticweb/ontology Σελίδα 22
απαιτείται αυτό. Οι κανόνες που ορίζονται κατά τη δημιουργία μιας οντολογίας, επιτρέπουν την ανακάλυψη νέων σχέσεων 10 μέσω κατάλληλων μηχανισμών συμπερασμού (inference), με αποτέλεσμα να εξάγεται αυτόματα περισσότερη γνώση. Κατά τη δημιουργία μιας οντολογίας, όροι μπορούν να συνδυαστούν από υπάρχουσες οντολογίες που αναφέρονται σε συγκεκριμένα πεδία ενδιαφέροντος, ώστε να υπάρχει κοινός τρόπος αναφοράς σε έννοιες (αν και δεν είναι υποχρεωτικό). Στην αρχιτεκτονική του Σ.Ι., δύο γλώσσες που επιτρέπουν τη δημιουργία οντολογιών είναι η RDFS και η OWL. Η γλώσσα RDFS Η RDFS 11 αποτελεί τη βασική γλώσσα για τη δόμηση οντολογιών του Σ.Ι. παρέχοντας τη δυνατότητα δημιουργίας κλάσεων και ιδιοτήτων, τον ορισμό ιεραρχίας μεταξύ τους και την ανάθεση πεδίου ορισμού και τιμών στις ιδιότητες. Για τη σύνταξή της, χρησιμοποιούνται όροι που προέρχονται από τους χώρους ονοματοδοσίας του μοντέλου RDF και της γλώσσας RDFS, με URI, το http://www.w3.org/1999/02/22-rdf-syntax-ns# και το http://www.w3.org/2000/01/rdf-schema# αντίστοιχα. Για τα URI αυτά, συνήθως ορίζονται τα προθέματα συντομεύσεων rdf και rdfs. Κάποιες από τις προκαθορισμένες κλάσεις που περιλαμβάνει, είναι οι εξής: rdfs:resource - Η κλάση όλων των πόρων. rdfs:class - Η κλάση όλων των κλάσεων. rdfs:literal - Η κλάση όλων των λεκτικών. rdfs:datatype - Η κλάση των τύπων δεδομένων. rdfs:container - Η υπερκλάση των κλάσεων rdf:bag, rdf:seq και rdf:alt (τα ο- ποία μπορούν να ομαδοποιούν πόρους ή λεκτικά). rdf:langstring - Η κλάση των λεκτικών που διαθέτουν ετικέτα γλώσσας. rdf:html - Η κλάση των HTML λεκτικών. rdf:xmlliteral - Η κλάση των XML λεκτικών. rdf:property - Η κλάση όλων των ιδιοτήτων. rdf:list - Η κλάση που μπορεί να χρησιμοποιηθεί για τη δημιουργία δομών σε μορφή λίστας. 10 https://www.w3.org/standards/semanticweb/inference.html 11 https://www.w3.org/tr/rdf-schema/ Σελίδα 23
Ορισμένες από τις προκαθορισμένες ιδιότητες της, είναι οι εξής: rdfs:subclassof - Η ιδιότητα που συνδέει μια κλάση με μια υπερκλάση της. rdfs:subpropertyof - Η ιδιότητα που συνδέει μια ιδιότητα με μια υπεριδιότητά της. rdfs:domain - Η ιδιότητα που καθορίζει το πεδίο ορισμού μιας ιδιότητας. rdfs:range - Η ιδιότητα που καθορίζει το πεδίο τιμών μιας ιδιότητας. rdfs:label - Η ιδιότητα που παρέχει μια συμβολοσειρά που αντιπροσωπεύει το όνομα κάποιου πόρου. rdfs:seealso - Η ιδιότητα που διασυνδέει έναν πόρο σε κάποιον άλλον που μπορεί να παρέχει επιπλέον πληροφορία. rdfs:isdefinedby - Η ιδιότητα που καθορίζει τη διεύθυνση κάποιου χώρου ονοματοδοσίας που χρησιμοποιείται από κάποιον πόρο. rdf:type - Η ιδιότητα που συνδέει έναν πόρο με την κλάση του. Η RDFS χρησιμοποιεί αυτούς τους όρους για να καθορίσει τη δομή που θα έχει μια βασική οντολογία. Για παράδειγμα, η ιεραρχία μεταξύ των κλάσεων και των ιδιοτήτων ορίζονται μέσω του όρου rdfs:subclassof και του rdfs:subpropertyof αντίστοιχα. Για να οριστεί ότι μια κλάση B αποτελεί υποκλάση μιας κλάσης A, χρησιμοποιείται RDF δήλωση με την εξής μορφή: ex:b rdfs:subclassof ex:a. Όπου το ex αποτελεί το πρόθεμα συντόμευσης ενός υποθετικού χώρου ονοματοδοσίας στον οποίο ανήκουν το A και το B. Με αντίστοιχο τρόπο ορίζονται και οι ιεραρχίες μεταξύ των ιδιοτήτων. Ένα πόρος που ανήκει σε μια κλάση ονομάζονται στιγμιότυπό της (instance) [10] και η σύνδεση μεταξύ τους πραγματοποιείται με την ιδιότητα rdf:type. Για παράδειγμα, η εργασία CERN experience του γράφου της Εικόνας 4, αποτελεί ένα στιγμιότυπο της κλάσης foaf:document. Η αναπαράσταση αυτής της σχέσης δίνεται στην Εικόνα 6. http://dblp.l3s.de/d2r/resource/ publications/conf/sigopse/berners-lee88 rdf:type foaf:document Εικόνα 6. Αναπαράσταση της σχέσης μεταξύ κλάσης και στιγμιότυπου. Σελίδα 24
Ορίζοντας ανάλογες συνδέσεις, δίνεται η δυνατότητα σε λογισμικά να μπορούν να αντιστοιχούν πόρους σε κλάσεις [10]. Τα πεδίο ορισμού και τιμών μιας ιδιότητας μπορεί να οριστεί μέσω χρήσης των ιδιοτήτων rdfs:domain και rdfs:range αντίστοιχα. Ο ορισμός μιας κλάσης A, ως το πεδίο ορισμού μιας ιδιότητας P, σημαίνει ότι ένας πόρος που αποτελεί αντικείμενο μιας RDF δήλωσης που περιέχει την ιδιότητα P, αποτελεί στιγμιότυπο της κλάσης A. Για παράδειγμα, αν οριστεί για την οντολογία της Εικόνας 5, ότι η ιδιότητα τίτλος διαθέτει ως πεδίο ορισμού την κλάση Σύγγραμμα και δημιουργηθεί η RDF δήλωση Εργασία - τίτλος - "CERN experience", τότε μπορεί να βγει το συμπέρασμα ότι η κλάση Εργασία αποτελεί Σύγγραμμα. Αντίστοιχα, ο ορισμός μιας κλάσης B, ως το πεδίο τιμών μιας ιδιότητας P, σημαίνει ότι ένας πόρος που αποτελεί τιμή μιας RDF δήλωσης που περιέχει την ιδιότητα P, αποτελεί στιγμιότυπο της κλάσης B. Η γλώσσα OWL Η OWL 12 αποτελεί μια πιο εξελιγμένη γλώσσα για τη δημιουργία οντολογιών σε σχέση με την RDFS και βρίσκεται σε υψηλότερο επίπεδο στην αρχιτεκτονική του Σ.Ι. Διαθέτει δύο εκδόσεις, την OWL 1 και την OWL 2, με την καθεμία να περιλαμβάνει υπογλώσσες οι οποίες χρησιμοποιούνται ανάλογα με τις ανάγκες των χρηστών. Η OWL 1 περιλαμβάνει τις υπογλώσσες Lite, DL και Full, ενώ η OWL 2 διαθέτει τις, DL και Full. Επιπλέον στην OWL 2 περιλαμβάνονται και τα προφίλ EL, QL και RL τα οποία θέτουν συντακτικούς περιορισμούς στη γλώσσα 13. Παρέχει μεγαλύτερη εκφραστική δύναμη για τη δημιουργία οντολογιών από την RDFS και κάποιες από τις δυνατότητές της είναι οι εξής: Δημιουργία κλάσεων μέσω σύνθεσης λογικών τελεστών όπως την ένωση, την τομή και την άρνηση. Για παράδειγμα, μπορεί να δημιουργηθεί μια κλάση που αποτελεί την ένωση δύο άλλων. Δυνατότητα περιορισμού του πεδίου τιμών μιας ιδιότητας και του πλήθους των τιμών που μπορεί να λάβει (σε μια συγκεκριμένη χρήση). Για παράδειγμα, για την πρώτη περίπτωση, θα μπορούσε να περιοριστεί το εύρος των ακέραιων τιμών μιας ιδιότητας, από το 1 έως το 100, ενώ για τη δεύτερη, να οριστεί ότι μια ιδιότητα μπορεί να λάβει μέχρι 10 τιμές. 12 https://www.w3.org/owl/ 13 http://semantic-web-grundlagen.de/wiki/guide_to_owl_2_for_owl_1_users Σελίδα 25
Δυνατότητα ορισμού ισοδυναμίας και μη επικάλυψης μεταξύ κλάσεων. Για παράδειγμα για την πρώτη περίπτωση, θα μπορούσε να οριστεί ότι η κλάση Αυτοκίνητο και η κλάση Αμάξι είναι ισοδύναμες (equivalent), ενώ για τη δεύτερη, να οριστεί ότι η κλάση Αγόρι και η κλάση Κορίτσι δεν επικαλύπτονται (disjoint). Δυνατότητα σύνδεσης στιγμιοτύπων μεταξύ τους, ορίζοντας αν αναφέρονται στην ίδια οντότητα ή σε διαφορετική. Για παράδειγμα, μπορεί να οριστεί ότι το URI ex:john_f_kennedy και το URI ex:john_kennedy αναφέρονται στον ίδιο άνθρωπο. Δυνατότητα ορισμού ισοδυναμίας, μεταβατικότητας, πολλαπλότητας και άλλων χαρακτηριστικών για τις ιδιότητες. Για την σύνταξη της OWL, χρησιμοποιούνται όροι που προέρχονται από τον χώρο ονοματοδοσίας της γλώσσας, με URI, το http://www.w3.org/2002/07/owl# και το σύνολο των όρων που χρησιμοποιούνται στην γλώσσα RDFS και το μοντέλο RDF. Για το URI της OWL, συνήθως χρησιμοποιείται το πρόθεμα συντόμευσης owl. Κάποιες από τις προκαθορισμένες κλάσεις που διαθέτει είναι η εξής: FunctionalProperty - Ορίζει μια ιδιότητα η οποία μπορεί να λάβει μια μόνο τιμή για κάθε στιγμιότυπο. ObjectProperty - Ορίζει μια ιδιότητα η οποία μπορεί να λάβει ως τιμές μόνο στιγμιότυπα. DatatypeProperty - Ορίζει μια ιδιότητα η οποία συνδέει στιγμιότυπα σε τιμές δεδομένων. InverseFunctionalProperty - Ορίζει μια ιδιότητα της οποίας η ανάστροφη ι- διότητα μπορεί να λάβει μια μόνο τιμή για κάθε στιγμιότυπο. TransitiveProperty - Ορίζει μια μεταβατική ιδιότητα η οποία συνδέει δύο στιγμιότυπα A και C, όταν συνδέει το A με το B και το B με το C. SymmetricProperty - Ορίζει μια συμμετρική ιδιότητα στην οποία το πεδίο ορισμού και το πεδίο τιμών είναι το ίδιο. Ορισμένες από τις προκαθορισμένες ιδιότητες της, είναι οι εξής: maxcardinality - Η ιδιότητα που επιτρέπει τον ορισμό του μέγιστου αριθμού διαφορετικών τιμών που μπορεί να διαθέτει μια ιδιότητα. Σελίδα 26
mincardinality - Η ιδιότητα που επιτρέπει τον ορισμό του ελάχιστου αριθμού διαφορετικών τιμών που μπορεί να διαθέτει μια ιδιότητα. intersectionof - Η ιδιότητα που επιτρέπει τη δημιουργία μιας κλάσης που αποτελεί την τομή μεταξύ άλλων κλάσεων. unionof - Η ιδιότητα που επιτρέπει τη δημιουργία μιας κλάσης που αποτελεί την ένωση μεταξύ άλλων κλάσεων. complementof - Η ιδιότητα που επιτρέπει τη δημιουργία μιας κλάσης που αποτελεί το συμπλήρωμα μιας άλλης κλάσης. equivalentclass - Η ιδιότητα που επιτρέπει τον ορισμό ισοδυναμίας μεταξύ κλάσεων. disjointwith - Η ιδιότητα που επιτρέπει τον ορισμό μη επικάλυψης μεταξύ κλάσεων. equivalentproperty - Η ιδιότητα που επιτρέπει τον ορισμό ισοδυναμίας μεταξύ ιδιοτήτων. inverseof - Η ιδιότητα που επιτρέπει τον ορισμό ανάστροφης σχέσης μεταξύ ιδιοτήτων. sameas - Η ιδιότητα που επιτρέπει τη δήλωση ότι δύο URI αναφέρονται στην ίδια οντότητα. differentfrom - Η ιδιότητα που επιτρέπει τη δήλωση ότι δύο URI δεν αναφέρονται στην ίδια οντότητα. Η μεγαλύτερη εκφραστική δύναμη της OWL επιτρέπει τον συμπερασμό πιο περίπλοκων σχέσεων, δίνοντας μεγαλύτερη αυτονομία σε λογισμικά πράκτορες στην εκτέλεση κάποιου έργου. Σε μια οντολογία που δημιουργείται μέσω της RDFS ή της OWL, αν και δεν είναι υποχρεωτικό, μπορούν να χρησιμοποιηθούν όροι που είναι κοινά αποδεκτοί από την κοινότητα. Με αυτόν τον τρόπο, οι ονομασίες των κλάσεων και των ιδιοτήτων επαναχρησιμοποιούνται σε διαφορετικές οντολογίες που αναφέρονται στο ίδιο πεδίο ενδιαφέροντος, δίνοντας μια κοινή αντίληψη. Για παράδειγμα, μια οντολογία ή ένα λεξιλόγιο που αναφέρεται στη βιβλιογραφία, διαθέτει συγκεκριμένους όρους που χαρακτηρίζουν συγγράμματα. Η χρήση των ίδιων όρων σε διαφορετικές βιβλιογραφικές οντολογίες, διευκολύνει την αντίληψή τους. Για τη δημιουργία μιας οντολογίας μπορούν επίσης να συνδυαστούν όροι που προέρχονται από διαφορετικές πηγές. Κάποιες από τις οντολογί- Σελίδα 27
ες που παρέχουν όρους σε βιβλιογραφικές οντολογίες είναι η Dublin Core (DC), η Bibliographic Ontology (BIBO) και η Friend of a Friend (FOAF). Dublin Core (DC) Η Dublin Core έχει δημιουργηθεί από τον οργανισμό Dublin Core Metadata Initiative (DCMI) 14 και αποτελεί μια από τις πιο γνωστές οντολογίες που παρέχει όρους για τη δημιουργία άλλων οντολογιών. Διαθέτει δύο εκδόσεις, την Dublin Core Metadata Element Set (DCMES) και την DCMI Metadata Terms (DCMIMT). Η πρώτη, χρησιμοποιεί το URI http://purl.org/dc/elements/1.1/, ενώ η δεύτερη, το http://purl.org/dc/terms/. Τα προθέματα συντομεύσεων που χρησιμοποιούνται για τα URI αυτά είναι συνήθως το dc και το dcterms αντίστοιχα. Η έκδοση DCMES 15, διαθέτει 15 ιδιότητες/όρους, χωρίς πεδία ορισμού και τιμών διότι στην εποχή που αναπτύχθηκαν δεν ήταν απαραίτητα. Οι ιδιότητες αυτές είναι οι εξής: 1. contributor - Μια οντότητα που συνεισφέρει στον πόρο. 2. coverage - Η γεωγραφική ή χωρική κάλυψη του πόρου. 3. creator - Μια οντότητα που αποτελεί τον δημιουργό του πόρου. 4. date - Μια χρονική στιγμή ή περίοδος που σχετίζεται με κάποιο γεγονός στον κύκλο ύπαρξης του πόρου. 5. description - Μια περιγραφή του πόρου. 6. format - Ο τύπος του αρχείου, το φυσικό μέσο ή οι διαστάσεις του πόρου. 7. identifier - Ένα αναγνωριστικό του πόρου σε ένα πλαίσιο αναφοράς. 8. language - Η γλώσσα του πόρου. 9. publisher - Μια οντότητα που είναι υπεύθυνη για την ύπαρξη του πόρου. 10. relation - Ένας πόρος που είναι σχετικός. 11. rights - Τα δικαιώματα που σχετίζονται με τον πόρο. 12. source - Ένας σχετικός πόρος, από τον οποίο προέκυψε ο πόρος. 13. subject - Το θέμα του πόρου. 14. title - Ένα όνομα που έχει δοθεί στον πόρο. 15. type - Η φύση ή το είδος του πόρου. 14 http://dublincore.org 15 http://dublincore.org/documents/dces/ Σελίδα 28
Η έκδοση DCMIMT 16, διαθέτει μεγαλύτερο αριθμό ιδιοτήτων, συμπεριλαμβάνοντας και ιδιότητες που διαθέτουν κοινές ονομασίες με αυτές της έκδοσης DCMES. Όμως σε αντίθεση την έκδοση DCMES, διαθέτει πεδία ορισμού και τιμών για τις ιδιότητες αυτές. Επίσης διαθέτει και κλάσεις αποτελώντας μια πλήρης οντολογία και όχι απλά ένα σύνολο όρων. Κάποιες από τις κλάσεις που διαθέτει είναι οι εξής: Agent - Αναπαριστά πόρο που ενεργεί ή έχει τη δυνατότητα να ενεργήσει. AgentClass - Αναπαριστά ομάδα από Agent. BibliographicResource - Αναπαριστά βιβλίο, άρθρο ή κάποιον πόρο σε μορφή εγγράφου. FileFormat - Αναπαριστά μορφή ψηφιακού πόρου. Frequency - Αναπαριστά συχνότητα (ρυθμό με τον οποίο συμβαίνει κάτι). Location - Αναπαριστά γεωγραφική περιοχή ή τόπο που διαθέτει ονομασία. MediaType - Αναπαριστά μορφή αρχείου ή φυσικό μέσο. PeriodOfTime - Αναπαριστά χρονική περίοδο που διαθέτει όνομα ή ορίζεται από την ημερομηνία αρχής και τέλους. PhysicalMedium - Αναπαριστά φυσικό υλικό ή φορέα. Ορισμένες ιδιότητες, πέραν εκείνων που περιέχονται στην έκδοση DCMES είναι οι ε- ξής: abstract - Μια περίληψη του πόρου. alternative - Μια εναλλακτική ονομασία για τον πόρο. bibliographiccitation - Μια βιβλιογραφική αναφορά για τον πόρο. created - Η ημερομηνία δημιουργίας του πόρου. haspart - Ένας σχετικός πόρος που περιλαμβάνεται με φυσικό ή λογικό τρόπο στον πόρο. hasversion - Ένας σχετικός πόρος που αναπαριστά την έκδοση του πόρου. isreferencedby - Ένας σχετικός πόρος που αναφέρεται από τον πόρο. issued - Η ημερομηνία έκδοσης του πόρου. references - Ένας σχετικός πόρος που αναφέρει τον πόρο. 16 http://dublincore.org/documents/dcmi-terms/ Σελίδα 29
Bibliographic Ontology (BIBO) Η Bibliographic Ontology 17, αποτελεί μια οντολογία που περιέχει κλάσεις και ιδιότητες που μπορούν να χρησιμοποιηθούν για την περιγραφή βιβλιογραφικών αναφορών, για την ταξινόμηση εγγράφων, ή την περιγραφή οποιουδήποτε εγγράφου. Ο χώρος ονοματοδοσίας του διαθέτει το URI http://purl.org/ontology/bibo/, για τον οποίο χρησιμοποιείται συνήθως το πρόθεμα συντόμευσης bibo. Κάποιες από τις κλάσεις που περιέχει είναι οι εξής: Agent - Αναπαριστά πόρο που ενεργεί ή έχει τη δυνατότητα να ενεργήσει. AcademicArticle - Αναπαριστά επιστημονική δημοσίευση. Article - Αναπαριστά άρθρο περιοδικού ή βιβλίου. Book - Αναπαριστά βιβλίο. BookSection - Αναπαριστά τμήμα βιβλίου. Chapter - Αναπαριστά κεφάλαιο βιβλίου. Conference - Αναπαριστά συνέδριο. Document - Αναπαριστά έγγραφο. Journal - Αναπαριστά περιοδικό που περιέχει επιστημονικές δημοσιεύσεις. Proceedings - Αναπαριστά σύνολο έγγραφων σε μορφή πρακτικών. Ορισμένες από τις ιδιότητες που περιέχει είναι οι εξής: doi - Το αναγνωριστικό DOI του πόρου. isbn - Το αναγνωριστικό ISBN του πόρου. issn - Το αναγνωριστικό ISSN του πόρου. creator - Μια οντότητα που αποτελεί τον δημιουργό του πόρου. title - Ένα όνομα που έχει δοθεί στον πόρο. created - Η ημερομηνία δημιουργίας του πόρου. issued - Η ημερομηνία έκδοσης του πόρου. abstract - Μια περίληψη του πόρου. chapter - Ένας αριθμός κεφαλαίου του πόρου. identifier - Το αναγνωριστικό του πόρου. 17 http://bibliontology.com Σελίδα 30
Friend of a Friend (FOAF) Η Friend of a Friend 18 είναι μια οντολογία που περιέχει όρους που περιγράφουν ανθρώπους, ομάδες, έγγραφα και διαδικτυακές δραστηριότητες. Ο χώρος ονοματοδοσίας του διαθέτει το URI http://xmlns.com/foaf/0.1/ και συνήθως χρησιμοποιεί το πρόθεμα συντόμευσης foaf. Όροι της, χρησιμοποιούνται σε βιβλιογραφικές οντολογίες για την περιγραφή ανθρώπων που σχετίζονται με συγγράμματα και τον χαρακτηρισμό πόρων ως έγγραφα. Κάποιες από τις κλάσεις που διαθέτει είναι οι εξής: Agent - Αναπαριστά πόρο που ενεργεί ή έχει τη δυνατότητα να ενεργήσει. Document - Αναπαριστά έγγραφο. Group - Αναπαριστά ομάδα από Agent. LabelProperty - Αναπαριστά την κλάση των ιδιοτήτων που χρησιμοποιούνται ως ετικέτες. Person - Αναπαριστά πρόσωπο (άτομο). Ορισμένες ιδιότητες της είναι οι εξής: birthday - Η ημερομηνία γέννησης του Agent σε μορφή κειμένου. Περιέχει μόνο την ημέρα και τον μήνα σε μορφή mm-dd. familyname - Το επώνυμο του προσώπου (για το οποίο χρησιμοποιείται η ιδιότητα). firstname - Το όνομα του προσώπου. fundedby - Ο οργανισμός που χρηματοδοτεί το έργο ή το πρόσωπο. homepage - Η ιστοσελίδα του πόρου. isprimarytopicof - Ένα έγγραφο που αποτελεί το κύριο θέμα του πόρου. maker - Ο δημιουργός του πόρου. name - Η ονομασία του πόρου. primarytopic - Το κύριο θέμα της σελίδας ενός εγγράφου ή του εγγράφου. publications - Υπερσύνδεσμος για τις δημοσιεύσεις του προσώπου. title - Η προσφώνηση του προσώπου. topic - Το θέμα της σελίδας ενός εγγράφου ή του εγγράφου. 18 http://www.foaf-project.org Σελίδα 31
2.2.3 Η γλώσσα ερωτημάτων SPARQL Για τη διαχείριση των δεδομένων του Σ.Ι., απαιτείται κάποιος μηχανισμός που να είναι εύκολα αντιληπτός από τους χρήστες. Για τον σκοπό αυτό, χρησιμοποιούνται γλώσσες ερωτημάτων, όπως συμβαίνει και στον κλασικό Π.Ι. Η πιο γνωστή γλώσσα του Σ.Ι. α- ποτελεί η SPARQL [10, 13, 14], η οποία δίνει τη δυνατότητα δημιουργίας, ανεύρεσης, ενημέρωσης και διαγραφής RDF δεδομένων και βασίζεται στην αντιστοίχιση γράφων (graph-matching) μέσω μεταβλητών [10, 13]. Για τη σύνταξή της, χρησιμοποιούνται προκαθορισμένες λέξεις (όροι) εύκολα αντιληπτές στον άνθρωπο, μερικές από τις ο- ποίες είναι οι εξής 19 : PREFIX - Χρησιμοποιείται για την ανάθεση προθέματος συντόμευσης για τους χώρους ονοματοδοσίας. SELECT - Καθορίζει τις μεταβλητές μέσω των οποίων θα εμφανιστούν τα αποτελέσματα ύστερα από την εκτέλεση κάποιου ερωτήματος. FROM - Καθορίζει την πηγή προέλευσης των δεδομένων. Η πηγή μπορεί να είναι ένας ονομαστικός γράφος ή ο προεπιλεγμένος γράφος που μπορεί να περιλαμβάνει έναν ή περισσότερους ονομαστικούς. WHERE - Καθορίζει τη λογική του υπολογισμού των αποτελεσμάτων κάποιου ερωτήματος. LIMIT - Καθορίζει τον αριθμό των αποτελεσμάτων που θα επιστραφούν. GROUP BY - Χρησιμοποιείται για την ομαδοποίηση αποτελεσμάτων. ORDER BY - Χρησιμοποιείται για να καθοριστεί η ταξινόμηση των αποτελεσμάτων. DISTINCT - Συνδυάζεται με το SELECT ώστε να επιστραφούν μοναδικά αποτελέσματα. OPTIONAL - Καθορίζει ότι κάποιο μοτίβο γράφου (graph pattern) είναι προαιρετικό για τον υπολογισμό των αποτελεσμάτων. FILTER - Επιτρέπει το φιλτράρισμα των αποτελεσμάτων βάσει κριτηρίου. UNION - Επιτρέπει τον συνδυασμό αποτελεσμάτων από διαφορετικά μοτίβα γράφων. 19 https://www.w3.org/tr/rdf-sparql-query/ Σελίδα 32
Η γλώσσα SPARQL, μέχρι στιγμής διαθέτει δύο εκδόσεις την 1.0 και την 1.1 [14]. Η 1.1, επεκτείνει την 1.0, παρέχοντας μεγαλύτερες δυνατότητες και περιλαμβάνοντας περισσότερες συναρτήσεις. Για τη δόμηση των ερωτημάτων της, χρησιμοποιούνται RDF δηλώσεις που συντακτικά μοιάζουν σε μεγάλο βαθμό σε αυτές της σειριοποίησης Turtle, όμως περιέχουν και μεταβλητές οι οποίες αντιστοιχούνται σε τμήματα γράφων των RDF δεδομένων. Η SPARQL δεν είναι case sensitive γλώσσα, με αποτέλεσμα, στους όρους της να μπορούν να χρησιμοποιηθούν και κεφαλαία και μικρά γράμματα. Μια μεταβλητή της SPARQL αποτελεί μια συμβολοσειρά, η οποία ξεκινά με το σύμβολο του αγγλικού ερωτηματικού "?" και περιλαμβάνει ένα η περισσότερα γράμματα όπως για παράδειγμα?subject. Μεταβλητή μπορεί να χρησιμοποιηθεί για κάθε στοιχείο μιας RDF δήλωσης, αναφέροντας σε συγκεκριμένο τμήμα γράφου. Παρακάτω δίνεται παράδειγμα απλού SPARQL ερωτήματος. 01 02 03 04 05 SELECT?s?p?o WHERE {?s?p?o. } Ερώτημα 1. Παράδειγμα απλού SPARQL ερωτήματος. Στο Ερώτημα 1, γίνεται ανεύρεση και επιλογή όλων των RDF δηλώσεων από έναν προεπιλεγμένο γράφο. Η 1 η γραμμή, περιέχει τον όρο SELECT που καθορίζει τις μεταβλητές μέσω των οποίων θα εμφανιστούν τα αποτελέσματα του ερωτήματος και η 2 η περιέχει τις μεταβλητές αυτές. Η 3 η, περιέχει τον όρο WHERE βάσει του οποίου γίνεται η ανεύρεση δεδομένων με χρήση των μεταβλητών της 4 ης γραμμής. Αγκύλες όπως αυτές της 3 ης και της 5 ης γραμμής, χρησιμοποιούνται για να καθορίσουν την αρχή και το τέλος του περιεχομένου, που αναφέρεται στον όρο που υπάρχει πριν από την αρχική αγκύλη (ο όρος WHERE για την συγκεκριμένη περίπτωση). Οι μεταβλητές της 2 ης γραμμής, εναλλακτικά θα μπορούσαν να αντικατασταθούν από το σύμβολο του πολλαπλασιασμού "*" (που σημαίνει επιλογή όλων) για απλότητα, καθώς αποτελούν όλες τις μεταβλητές που περιλαμβάνονται στην 4 η γραμμή. Αν θα χρειαζόταν τα δεδομένα του ερωτήματος να προέρχονται από συγκεκριμένο γράφο, θα συμπεριλαμβάναμε μεταξύ των γραμμών 2 και 3 τον όρο FROM ακολουθούμενο από το URI του γράφου, ως εξής: FROM <graph-uri> Σελίδα 33
Όπου το graph-uri αποτελεί το URI του γράφου (ονομαστικού ή προεπιλεγμένου). Ο αριθμός των αποτελεσμάτων που θα επιστραφούν από το ερώτημα, μπορεί να καθοριστεί με χρήση του όρου LIMIT ακολουθούμενο από έναν ακέραιο αριθμό. Για παράδειγμα, για την επιστροφή 100 αποτελεσμάτων, θα τοποθετούσαμε την έκφραση LIMIT 100, στο τέλος του ερωτήματος. Τα αποτελέσματα που θα επιστραφούν, μπορούν να ταξινομηθούν βάσει ενός ή περισσότερων μεταβλητών. Για τον σκοπό αυτό, χρησιμοποιείται ο όρος ORDER BY α- κολουθούμενο από μια ή παραπάνω μεταβλητές κατά σειρά προτεραιότητας. Για παράδειγμα για να ταξινομηθούν τα αποτελέσματα, πρώτα βάσει της μεταβλητής?s και ύστερα βάσει της μεταβλητής?p, θα χρησιμοποιούσαμε την έκφραση ORDER BY?s?p, μετά το περιεχόμενο του όρου WHERE, στην 6 η γραμμή. Σε μια έκφραση ταξινόμησης, μπορεί να οριστεί ανάστροφη σειρά ταξινόμησης για μια ή περισσότερες μεταβλητές. Αυτό επιτυγχάνεται με χρήση του όρου DESC ακολουθούμενο από τη μεταβλητή μέσα σε παρενθέσεις. Για παράδειγμα, για να οριστεί ότι η μεταβλητή?p θα έχει κανονική σειρά ταξινόμησης, ενώ η?p, θα έχει ανάστροφη, θα χρησιμοποιούσαμε την έκφραση ORDER BY?s DESC(?p). Ο όρος DISTINCT, μπορεί να χρησιμοποιηθεί για να διατηρηθούν μόνο οι μοναδικές τιμές εκ των αποτελεσμάτων ενός ερωτήματος και ορίζεται μετά τον όρο SELECT (πριν τις μεταβλητές). Για παράδειγμα, η έκφραση SELECT DISTINCT?s, θα επέστρεφε μόνο τις μοναδικές τιμές για την μεταβλητή?s, ενώ η έκφραση SELECT DISTINCT?s?p, θα επέστρεφε μόνο τις μοναδικές τιμές του συνδυασμού?s?p. Υπάρχουν περιπτώσεις όπου απαιτείται η ομαδοποίηση αποτελεσμάτων βάσει μιας ή περισσότερων μεταβλητών, για χρήση συναρτήσεων που εφαρμόζονται σε ομαδοποιημένα δεδομένα. Συναρτήσεις αυτής της κατηγορίας αποτελούν εκείνη του μέσου όρου, του ελαχίστου, του μεγίστου, κ.ά. Η ομαδοποίηση πραγματοποιείται μέσω του όρου GROUP BY ακολουθούμενο από μια ή παραπάνω μεταβλητές κατά σειρά προτεραιότητας. Για παράδειγμα, η χρήση της έκφρασης GROUP BY?s, μετά το περιεχόμενο του όρου WHERE, θα είχε ως αποτέλεσμα την ομαδοποίηση των αποτελεσμάτων που θα επιστρεφόταν μέσω της μεταβλητής?s. Στα ερωτήματα SPARQL, εκτός από τις μεταβλητές, μπορούν να χρησιμοποιηθούν και URI για κάθε στοιχείο μιας RDF δήλωσης. Τα URI, είτε περικλείονται σε γωνιακές αγκύλες όταν συντάσσονται στην πλήρη τους μορφή, είτε συντομεύονται με χρήση Σελίδα 34
προθέματος συντόμευσης. Για τον ορισμό ενός προθέματος συντόμευσης, χρησιμοποιείται στην αρχή του ερωτήματος, ο όρος PREFIX με την εξής σύνταξη: PREFIX prefix-name: <uri> Όπου το prefix-name αποτελεί μια συμβολοσειρά η οποία αντιπροσωπεύει το πρόθεμα συντόμευσης και το uri αποτελεί το URI για το οποίο χρησιμοποιείται το πρόθεμα. Παρακάτω δίνεται παράδειγμα SPARQL ερωτήματος, το οποίο επιστρέφει το URI της ιστοσελίδας του Tim Berners-Lee, χρησιμοποιώντας ως πηγή RDF δηλώσεων, εκείνη από την οποία προέρχεται ο γράφος της Εικόνας 4. 01 02 03 04 05 06 07 08 09 10 PREFIX dc: <http://purl.org/dc/elements/1.1/> PREFIX foaf: <http://xmlns.com/foaf/0.1/> SELECT?homepage WHERE {?subject dc:title "CERN experience.".?subject dc:creator?creator.?creator foaf:homepage?homepage. } Ερώτημα 2. SPARQL ερώτημα που επιστρέφει την ιστοσελίδα του Tim Berners-Lee. Οι δύο πρώτες γραμμές του ερωτήματος, περιέχουν τα προθέματα συντόμευσης που θα χρησιμοποιηθούν. Η 5 η, περιέχει τη μεταβλητή μέσω της οποίας θα επιστραφεί το URI της ιστοσελίδας, ύστερα από τον υπολογισμό του περιεχομένου των γραμμών 7,8 και 9. Από τις γραμμές αυτές, η 7 η, απομονώνει από την πηγή RDF δηλώσεων, μόνο εκείνες τις δηλώσεις που διαθέτουν ως τιμή για την ιδιότητα dc:title, την CERN experience. Η 8 η, εξειδικεύει περισσότερο αυτές τις δηλώσεις, απομονώνοντας μόνο εκείνες που διαθέτουν ταυτόχρονα και την ιδιότητα dc:creator και η 9 η, ορίζει ότι η τιμή της ιδιότητας dc:creator θα πρέπει να συνδέεται μέσω της ιδιότητας foaf:homepage σε κάποια τιμή. Οι δηλώσεις αυτές αναπαρίστανται σε μορφή γράφου στην Εικόνα 7.?subject dc:title CERN experience. dc:creator?creator foaf:homepage?homepage Εικόνα 7. Αναπαράσταση των δηλώσεων του Ερωτήματος 2. Σελίδα 35
Η SPARQL διαθέτει διάφορες συναρτήσεις μέσω των οποίων διευκολύνονται διάφορες διαδικασίες. Παρακάτω ακολουθούν κάποιες από αυτές και οι περιγραφές τους. str - Μπορεί να μετατρέψει ένα URI σε απλή συμβολοσειρά. strlen - Επιστρέφει το πλήθος χαρακτήρων μιας συμβολοσειράς. strstarts - Συγκρίνει δύο συμβολοσειρές και επιστρέφει δυαδική τιμή ως ένδειξη ομοιότητας. Το αποτέλεσμα της σύγκρισης είναι αληθές, όταν τα αρχικά γράμματα των συμβολοσειρών είναι ίδια. strends - Λειτουργεί όπως και η προηγούμενη, όμως το αποτέλεσμα της σύγκρισης είναι αληθές, όταν τα τελικά γράμματα των συμβολοσειρών είναι ίδια. contains - Εξετάζει αν μια συμβολοσειρά περιέχεται σε μια άλλη και επιστρέφει ανάλογη δυαδική τιμή. regex - Αναζητά ένα παρεχόμενο μοτίβο μέσα σε μια συμβολοσειρά και επιστρέφει δυαδική τιμή ανάλογα με το αποτέλεσμα της αναζήτησης. concat - Πραγματοποιεί συνένωση δύο συμβολοσειρών. round - Στρογγυλοποιεί έναν πραγματικό αριθμό στον πλησιέστερο ακέραιο. abs - Επιστρέφει την απόλυτη τιμή ενός αριθμού. 2.2.4 Σημασιολογικές βάσεις δεδομένων Τα μεταδεδομένα του Σ.Ι., για να χρησιμοποιηθούν μέσω γλωσσών ερωτήματος όπως τη SPARQL, απαιτείται να είναι αποθηκευμένα σε ειδικές βάσεις δεδομένων για τον σκοπό αυτό. Αυτές οι Β.Δ., σε αντίθεση με τις κοινές Β.Δ., είναι κατάλληλες για την αποθήκευση RDF γράφων και πολλές φορές χαρακτηρίζονται και ως Β.Δ. γράφων (αν και διαφέρουν από τις κλασικές Β.Δ. γράφων). Οι ονομασίες που χρησιμοποιούνται γι' αυτές, είναι triplestore και quadstore. Ένα triplestore, έχει ως βασικό σκοπό τη διαχείριση RDF δηλώσεων που αποτελούνται από τριπλέτες (αντικείμενο-ιδιότητα-τιμή), ενώ ένα quadstore επιτρέπει επίσης τη διαχείριση τετράδων (αντικείμενο-ιδιότητα-τιμήγράφος) αποτελώντας υπερσύνολα των triplestore. Συνηθίζεται όμως η χρήση του όρου triplestore, ως συνώνυμο των σημασιολογικών Β.Δ., ανεξαρτήτως των δυνατοτήτων τους. Από εδώ και στο εξής, στο κείμενο θα χρησιμοποιείται ο όρος triplestore. Τα triplestore, παρέχουν διάφορες λειτουργίες όπως, τη δημιουργία αποθηκευτικού χώρου (repository) κατάλληλου για RDF δεδομένα, την εισαγωγή και εξαγωγή διάφορων μορφών αρχείων μεταδεδομένων όπως rdf, nt, nq, ttl, n3, owl, κ.ά., τη διενέργεια Σελίδα 36
ερωτημάτων στα μεταδεδομένα, τον συμπερασμό νέων σχέσεων βάσει των οντολογιών που χρησιμοποιούνται για τα μεταδεδομένα, την απομακρυσμένη πρόσβαση στα μεταδεδομένα μέσω χρήσης του πρωτοκόλλου HTTP, κ.ά. Υπάρχουν διαφόρων ειδών triplestore που μπορούν να χρησιμοποιηθούν, κάποια από τα οποία είναι ελεύθερης χρήσης, ενώ άλλα είναι εμπορικά. Κάποια από αυτά είναι σχεδιασμένα αποκλειστικά για τη διαχείριση σημασιολογικών δεδομένων, ενώ υπάρχουν και υλοποιήσεις οι οποίες στηρίζονται σε επεκτάσεις κλασικών Β.Δ. [18]. Παρακάτω ακολουθούν ορισμένα από τα πιο γνωστά: AllegroGraph [43] - Αποτελεί ένα triplestore το οποίο προορίζεται για λειτουργικά συστήματα Linux και διαθέτει τρείς εκδόσεις, την Free, η οποία μπορεί να χρησιμοποιηθεί για μέχρι 5 εκ. τριπλέτες, την Developer, για μέχρι 50 εκ. τριπλέτες και την Enterprise για απεριόριστο αριθμό τριπλετών. Επιτρέπει τη διενέργεια ερωτημάτων με χρήση της SPARQL και της Prolog. Apache Jena TDB [44] - Αποτελεί ένα ελεύθερο στη χρήση triplestore το οποίο στηρίζεται στη Java. Επιτρέπει τη διενέργεια ερωτημάτων μέσω της SPARQL και διαθέτει μηχανισμό συμπερασμού για οντολογίες RDFS και OWL. Έχει δοκιμαστεί με επιτυχία για την αποθήκευση συνόλου δεδομένων 1,5 δισ. μοναδικών τριπλετών. BrightstarDB [45] - Είναι ένα triplestore ελεύθερης χρήσης που προορίζεται για Windows, Linux και Mac OSX που επιτρέπει τη διενέργεια ερωτημάτων μέσω της SPARQL. Είναι κατάλληλο για εφαρμογές που αξιοποιούν το περιβάλλον προγραμματισμού.net της Microsoft. Mulgara [46] - Αποτελεί ελεύθερης χρήσης triplestore βασισμένη στη Java και προορίζεται για Windows, Linux και Mac OSX. Επιτρέπει την αποθήκευση και χρήση μέχρι 500 εκ. τριπλετών (με την 64bit Java). Μπορεί να χρησιμοποιηθεί για τη διενέργεια ερωτημάτων μέσω της SPARQL και της TQL. Sesame / RDF4J [47] - Αποτελεί ελεύθερης χρήσης triplestore που επιτρέπει τη διενέργεια ερωτημάτων μέσω των γλωσσών SPARQL και SeRQL. Το API της μπορεί να χρησιμοποιηθεί για την επικοινωνία με άλλα triplestore όπως το AllegroGraph, το Mulgara και το Ontotext GraphDB. Το Sesame δεν υποστηρίζεται πλέον και μετεξέλιξή της αποτελεί το RDF4J. Σελίδα 37
Ontotext GraphDB [48] - Αποτελεί ένα εμπορικό triplestore το οποίο διαθέτει και μια ελεύθερη έκδοση στην οποία μπορούν να εκτελεστούν παράλληλα μέχρι δύο ερωτήματα. Στηρίζεται και επεκτείνει το Sesame παρέχοντας επιπλέον δυνατότητες. Μπορεί να χρησιμοποιηθεί σε διάφορα λειτουργικά συστήματα όπως Windows, Mac OS και Linux. OpenLink Virtuoso [49] - Αποτελεί μια εμπορική υλοποίηση που περιέχει δυνατότητες σχεσιακών Β.Δ. και triplestore προορισμένο για Windows, Linux και Mac OSX. Οι εφαρμογές μπορούν να επικοινωνήσουν με τον εξυπηρετητή του, μέσω διάφορων διεπαφών όπως την ODBC, JDBC, ADO.NET και OLEDB. 2.2.5 Το triplestore Ontotext GraphDB 7 Free Για τη διασύνδεση των βιβλιογραφικών αναφορών της DBpedia σε άλλες βιβλιογραφικές βάσεις, χρησιμοποιήθηκε ως triplestore το Ontotext GraphDB Free 7 20 για λειτουργικό σύστημα Windows. Σε αυτό, αποθηκεύτηκαν όλα τα RDF σύνολα δεδομένων τα οποία χρησιμοποιήθηκαν για τη δημιουργία των συνδέσεων. Παρακάτω θα ακολουθήσει η περιγραφή του προγράμματος και των λειτουργιών της που ήταν απαραίτητες για την πραγματοποίηση της εργασίας αυτής. Κατά την εκτέλεση του προγράμματος, εμφανίζεται το παράθυρο της Εικόνας 8 και η διεπαφή διαχείρισής της σε μια καρτέλα φυλλομετρητή της Εικόνας 9. Εικόνα 8. Βασικό παράθυρο του triplestore GraphDB Free. 20 http://graphdb.ontotext.com/documentation/7.0/free/ Σελίδα 38
Το παράθυρο αυτό, αντιπροσωπεύει τον εξυπηρετητή του triplestore, επιτρέποντας τη ρύθμιση της θύρας του και των παραμέτρων του Java Virtual Machine με τις οποίες θα χρησιμοποιηθεί (κουμπί Settings...), την εμφάνιση των οδηγιών χρήσης του (κουμπί Documentation), το άνοιγμα της καρτέλας διαχείρισής του στον προεπιλεγμένο φυλλομετρητή (κουμπί Open GraphDB) και την προβολή του φακέλου που περιέχει τα αρχεία καταγραφής των συμβάντων του (κουμπί Show all log files). Οι τελευταίες 1000 γραμμές των συμβάντων εμφανίζονται στο κέντρο που παραθύρου, ενημερώνοντας για την κατάσταση λειτουργίας του. Η διεπαφή διαχείρισής του ανοίγει ως ιστοσελίδα σε μια καρτέλα στον προεπιλεγμένο φυλλομετρητή, παρέχοντας διάφορες λειτουργίες μέσω των επιλογών Data, SPARQL και Admin, οι οποίες βρίσκονται σε μια οριζόντια μπάρα που υπάρχει στο πάνω μέρος της ιστοσελίδας. Εικόνα 9. Διεπαφή διαχείρισης του GraphDB σε καρτέλα φυλλομετρητή. Η επιλογή Data, παρέχει διάφορες δυνατότητες κάποιες από τις οποίες είναι, η εισαγωγή και η εξαγωγή RDF δεδομένων, η διαχείριση των χώρων ονοματοδοσίας του επιλεγμένου αποθηκευτικού χώρου (repository), η διαχείριση των ονομαστικών γράφων που ενδέχεται να περιέχει, η οπτικοποίηση των σχέσεων και της ιεραρχίας των κλάσεων. Η επιλογή SPARQL, δίνει τη δυνατότητα εκτέλεσης ερωτημάτων στα δεδομένα του επιλεγμένου repository όπως φαίνεται στην Εικόνα 10 και η επιλογή Admin, επιτρέπει τη διαχείριση των repository, των δικαιωμάτων των χρηστών, των υπο-εκτέλεση ερωτημάτων, την πληροφόρηση σχετικά με τους πόρους που χρησιμοποιεί, κ.ά. Σελίδα 39
Εικόνα 10. Παράθυρο εκτέλεσης ερωτημάτων SPARQL του GraphDB. Για την εισαγωγή RDF συνόλων στον εξυπηρετητή, απαιτείται η δημιουργία κάποιου αποθηκευτικού χώρου που θα φιλοξενήσει τα δεδομένα αυτά. Αυτό μπορεί να επιτευχθεί μέσω της επιλογής Admin Locations and Repositories και από εκεί πάτημα στο κουμπί Create repository που θα οδηγήσει στο παράθυρο δημιουργίας του χώρου. Κάποιες παράμετροι που μπορούν να επιλεγούν για τον αποθηκευτικό χώρο είναι οι εξής: Repository ID - Το μοναδικό αναγνωριστικό του αποθηκευτικού χώρου. Repository title - Ο τίτλος που θα έχει ο αποθηκευτικός χώρος. Rule-set - Το σύνολο κανόνων όπως το RDFS, OWL-Max, OWL2-QL, OWL2- DL, που θα χρησιμοποιηθεί από τον μηχανισμό συμπερασμού. Base URL - Η διεύθυνση βάσης του αποθηκευτικού χώρου. Entity index size - Ο μέγιστος αριθμός των καταχωρήσεων στον πίνακα hash. Total cache memory - Ο μέγιστος αποθηκευτικός χώρος που θα χρησιμοποιηθεί ως μνήμη cache. Query time-out (seconds) - Ο μέγιστος χρόνος εκτέλεσης για κάθε ερώτημα. Σελίδα 40
Ύστερα από τη δημιουργία ενός αποθηκευτικού χώρου, η ενεργοποίησή του μπορεί να πραγματοποιηθεί από την επιλογή Choose repository, από την οριζόντια μπάρα επιλογών όπως φαίνεται στην Εικόνα 9. Η εισαγωγή των περιεχομένων κάποιου RDF συνόλου δεδομένων στον επιλεγμένο αποθηκευτικό χώρο, γίνεται από την επιλογή Data Import. Για αρχεία που δεν ξεπερνάνε τα 200MB, μπορεί να χρησιμοποιηθεί η καρτέλα Local files που απεικονίζεται στην Εικόνα 11. Η εισαγωγή αρχείου πραγματοποιείται από παράθυρο διαλόγου που εμφανίζεται κάνοντας κλικ στο κείμενο Click here to upload... Εικόνα 11. Μέρος του παραθύρου Import, με ενεργή την καρτέλα Local files. Για αρχεία μεγαλύτερα από 200MB, θα πρέπει να χρησιμοποιηθεί η καρτέλα Server files που απεικονίζεται στην Εικόνα 12. Εικόνα 12. Μέρος του παραθύρου Import, με ενεργή την καρτέλα Server files. Σελίδα 41
Για να εμφανιστούν στην καρτέλα αυτή αρχεία για εισαγωγή, θα πρέπει να δημιουργηθεί ένας φάκελος με όνομα graphdb-import μέσα στον φάκελο home του χρήστη και να τοποθετηθούν εκεί τα αρχεία αυτά. Στο Windows 7 η διαδρομή του φακέλου αυτού είναι η εξής: [drive-letter]:\users\[username]\graphdb-import\ Όπου το drive-letter είναι το γράμμα του δίσκου στον οποίο είναι εγκατεστημένο το λειτουργικό σύστημα (όπως το C) και το username είναι το όνομα του τρέχοντος χρήστη (όπως το David). Για να γίνει εισαγωγή κάποιου αρχείου που έχει εμφανιστεί στην καρτέλα, θα πρέπει να επιλεγεί το αρχείο μέσω του επιλογέα που υπάρχει στα αριστερά του και να πατηθεί το κουμπί Import. Αυτό θα έχει ως αποτέλεσμα την εμφάνιση προαιρετικών επιλογών, μέσω των οποίων μπορεί να ρυθμιστεί το URI της διεύθυνσης βάσης, το URI του ονομαστικού γράφου που θα χαρακτηρίζει τις RDF δηλώσεις, ο αριθμός των τριπλετών που απαιτούνται για να πραγματοποιηθεί μια ομαδική καταχώρηση, ο αριθμός των φορών επανάληψης σε περίπτωση αποτυχημένης εισαγωγής δεδομένων και η διατήρηση ή η επισύναψη νέων ετικετών για τους κενούς κόμβους. Η εισαγωγή του αρχείου θα συνεχιστεί αν πατηθεί το κουμπί Import που υπάρχει στις επιλογές εισαγωγής. Υπάρχουν περιπτώσεις όπου ένα ερώτημα που εκτελείται από τον εξυπηρετητή, χρειάζεται να διακοπεί από τον χρήστη για κάποιον λόγο (όπως η παρέλευση πολλών ωρών εκτέλεσης χωρίς κάποιο αποτέλεσμα). Αυτό μπορεί να επιτευχθεί από τo κουμπί Abort query που εμφανίζεται ύστερα από την επιλογή Admin Query monitoring μέσω της οριζόντιας μπάρας. Η Εικόνα 13 απεικονίζει διάφορα στοιχεία σχετικά με την εκτέλεση ενός ερωτήματος καθώς και το κουμπί ακύρωσης. Εικόνα 13. Το παράθυρο διαχείρισης των υπο-εκτέλεση ερωτημάτων. Σελίδα 42
2.3 Διασυνδεδεμένα Δεδομένα Οι πόροι του Σ.Ι. για να αξιοποιηθούν με εύκολο τρόπο από ανθρώπους και από λογισμικά, απαιτείται να είναι διαθέσιμα σε κατάλληλη μορφή και να διαθέτουν συνδέσεις μεταξύ τους. Τα Διασυνδεδεμένα Δεδομένα (ΔΔ) - Linked Data, αποτελούν ένα σύνολο βέλτιστων πρακτικών, που αξιοποιούν το μοντέλο μεταδεδομένων RDF καθώς και το πρωτόκολλο HTTP για την επίτευξη του σκοπού αυτού [3, 19, 20]. Ο Tim Berners-Lee το 2006, όρισε τους τέσσερις κανόνες/αρχές των ΔΔ μέσω των οποίων μπορούν να διαμοιραστούν δεδομένα στον Σ.Ι., [3, 4, 19, 20, 21] οι οποίοι είναι οι εξής: 1. Χρησιμοποιήστε URI ως ονομασίες οντοτήτων. 2. Χρησιμοποιήστε HTTP URI, ώστε οι χρήστες να μπορούν να έχουν πρόσβαση σε αυτές τις ονομασίες. 3. Σε περίπτωση πρόσβασης σε αυτά τα URI, δώστε χρήσιμες πληροφορίες, χρησιμοποιώντας τα πρότυπα RDF και SPARQL. 4. Συμπεριλάβετε συνδέσεις προς άλλα URI, ώστε να μπορούν να ανακαλυφθούν και άλλες οντότητες. Ο πρώτος κανόνας, παροτρύνει τη χρήση URI για τον ορισμό μοναδικού αναγνωριστικού (ονομασίας) σε οντότητες. Μια οντότητα μπορεί να αντιπροσωπεύει οτιδήποτε για το οποίο απαιτείται να διαμοιραστεί πληροφορία στον ιστό όπως, ένα βιβλίο, ένας άνθρωπος, ένα γεγονός, κ.ά. Ο δεύτερος κανόνας εξειδικεύει τον πρώτο, καθορίζοντας ότι, τα URI θα πρέπει να χρησιμοποιούν το πρωτόκολλο HTTP, με αποτέλεσμα να διασφαλίζεται η προσβασιμότητα και η μοναδικότητα του URI όπως συμβαίνει και στον Π.Ι. (ένα URL του Π.Ι. που αποτελεί ένα URI, είναι ένα μοναδικό αναγνωριστικό που επιτρέπει την πρόσβαση σε κάποιον πόρο μέσω του πρωτοκόλλου HTTP). Ο τρίτος κανόνας επεκτείνει τον δεύτερο, καθορίζοντας ότι σε περίπτωση πρόσβασης στα URI, θα πρέπει να λάβει ο χρήστης κάποια χρήσιμη πληροφορία που να σχετίζεται με την οντότητα για την οποία χρησιμοποιείται το URI. Αυτή η πληροφορία μπορεί να αναπαρασταθεί μέσω χρήσης των προτύπων RDF και SPARQL. Ο τέταρτος κανόνας, είναι αυτός που επιτρέπει τα ΔΔ να αποκτούν μορφή δικτύου, καθώς παροτρύνει τη δημιουργία συνδέσεων προς άλλα URI ώστε να ανακαλυφθούν και άλλες οντότητες και να σχηματιστεί δίκτυο δεδομένων. Σελίδα 43
Ο ιστός των ΔΔ, ήδη αποτελείται από μια πληθώρα από σημασιολογικές πηγές, σχηματίζοντας ένα νέφος που επιτρέπει την πρόσβαση σε ανθρώπους και λογισμικά. Τα μεταδεδομένα της δημιουργούνται μέσω χρήσης όρων, που προέρχονται από οντολογίες όπως την FOAF, DC, SKOS, κ.ά. που είναι κοινά αποδεκτές από την κοινότητα [3, 21]. Αυτό έχει σαν αποτέλεσμα, ο Σ.Ι. να μετατρέπεται σε μια μεγάλη Β.Δ. που διαθέτει περιεχόμενο εύκολα αντιληπτό από τους χρήστες του, όσον αφορά τη δομή και τη σημασιολογία του. Για την αναπαράσταση των μεταδεδομένων των ΔΔ, χρησιμοποιούνται διάφορες σειριοποιήσεις όπως αυτές που περιγράφηκαν στην υποενότητα 2.2.1 και άλλες. Μια πολύ εύχρηστη σειριοποίηση για τα ΔΔ αποτελεί η RDFa, η οποία εισάγει μεταδεδομένα σε HTML έγγραφα. Με αυτόν τον τρόπο, μια ιστοσελίδα γίνεται κατανοητή και για ανθρώπους και για λογισμικά πράκτορες. Οι τεχνολογίες των ΔΔ, μπορούν να χρησιμοποιηθούν και στο εσωτερικό εταιρειών και οργανισμών χωρίς να συνδέονται σε εξωτερικές πηγές, σχηματίζοντας ένα δίκτυο που μπορεί να παρομοιαστεί με το intranet. Ήδη ανάλογες προσπάθειες γίνονται από μεγάλες εταιρείες όπως τη Google, τη Yahoo και τη Facebook δημιουργώντας εσωτερικούς χώρους δεδομένων [4]. 2.3.1 Το νέφος των Ανοιχτά Διασυνδεδεμένων Δεδομένων Οι πόροι που παρέχονται από τα ΔΔ, μπορεί να συνοδεύονται από όρους χρήσης καθορισμένα από τους ιδιοκτήτες τους, με αποτέλεσμα να υπόκεινται σε περιορισμούς. Για να υπάρχει ελεύθερη χρήση, χωρίς να υπάρχουν νομικές δεσμεύσεις, έχει δημιουργηθεί ένα έργο που χαρακτηρίζεται ως τα Ανοιχτά Διασυνδεδεμένα Δεδομένα (ΑΔΔ) - Linked Open Data (LOD) 21. Είναι ένα έργο που ξεκίνησε το 2007 βασισμένο στην κοινότητα και έχει ως βασικό σκοπό την ανεύρεση συνόλων δεδομένων που είναι ελεύθερα στη χρήση, την αναδημοσίευση του περιεχομένων τους σε μορφή RDF και τη δημιουργία συνδέσεων μεταξύ τους [20]. Το νέφος των ΑΔΔ περιλαμβάνει περιεχόμενα που σχετίζονται με συγγράμματα από όλο τον κόσμο, με κυβερνήσεις, με τα Μέσα Μαζικής Ενημέρωσης, τη γεωγραφία, τα κοινωνικά δίκτυα, τις επιστήμες ζωής, κ.ά. Ο κάθε κόμβος του, αποτελεί συνεισφορά RDF μεταδεδομένων από απλούς χρήστες του διαδικτύου και από οργανισμούς. Για να 21 https://www.w3.org/wiki/sweoig/taskforces/communityprojects/linkingopendata Σελίδα 44
ενσωματωθεί ένα σύνολο δεδομένων ως νέος κόμβος στο νέφος, θα πρέπει να είναι σε RDF μορφή, να διαθέτει τουλάχιστον 1000 τριπλέτες, να περιέχει τουλάχιστον 50 εισερχόμενες ή εξερχόμενες RDF συνδέσεις με υπαρκτούς κόμβους και τα δεδομένα του θα πρέπει να δημοσιευθούν βάσει των τεσσάρων κανόνων που περιγράφηκαν στην ενότητα 2.3. Οι Εικόνες 14 και 15 αναπαριστούν τους κόμβους και τις συνδέσεις των ΑΔΔ όπως ήταν το 2007 και το 2011 αντίστοιχα 22. Εικόνα 14. Το νέφος των ΑΔΔ όταν ξεκίνησε το 2007 (12 κόμβοι). Εικόνα 15. Το νέφος των ΑΔΔ το 2011 (295 κόμβοι). 22 Τα περιεχόμενα των εικόνων 14 και 15 έχουν δημιουργηθεί από τους Max Schmachtenberg, Christian Bizer, Anja Jentzsch και Richard Cyganiak. http://lod-cloud.net Σελίδα 45
Το νέφος των ΑΔΔ είναι ένας κατευθυνόμενος γράφος, όπου οι κόμβοι, είναι τα RDF σύνολα δεδομένων που περιλαμβάνει και οι ακμές, είναι οι συνδέσεις μεταξύ των κόμβων. Στις αναπαραστάσεις του νέφους (όπως αυτές των Εικόνων 14 και 15), οι κύκλοι αποτελούν τους κόμβους του και οι γραμμές αποτελούν τις ακμές. Το μέγεθος του κάθε κόμβου είναι ενδεικτικό του αριθμού των τριπλετών που διαθέτει και το πόσο έντονη είναι μια γραμμή διασύνδεσής του, είναι ενδεικτικό του αριθμού των συνδέσεων που περιέχει. Η κατεύθυνση του βέλους/ών που διαθέτει μια γραμμή, δείχνει αν οι συνδέσεις είναι εισερχόμενες, εξερχόμενες ή και τα δύο. Ο αριθμός των κόμβων του νέφους αυξάνεται συνεχώς και σύμφωνα με τα στατιστικά που αναρτά η ιστοσελίδα αναπαράστασής του 23, από 12 κόμβους που διέθετε το 2007, έφτασε τους 570 το 2014. Το σύνολο των τριπλετών που περιέχουν όλοι οι κόμβοι του συγκεντρωτικά, είναι της τάξης των δισεκατομμυρίων [4, 20, 22], ενώ οι συνδέσεις μεταξύ των κόμβων είναι της τάξης των εκατοντάδων εκατομμυρίων [4]. Όσο περισσότερες είναι οι συνδέσεις, τόσο διευκολύνεται η πρόσβαση στην πληροφορία [9] όπως συμβαίνει και στον Π.Ι., με αποτέλεσμα, να υπάρχει συνεχής προσπάθεια από την κοινότητα για τη δημιουργία νέων συνδέσεων και τη συντήρηση των ήδη υπαρχόντων. Η δημιουργία των συνδέσεων πραγματοποιείται συνήθως με αυτοματοποιημένο τρόπο, μέσω κατάλληλων λογισμικών που βασίζονται στην ομοιότητα του περιεχομένου των RDF συνόλων. Ένας από τους κεντρικούς κόμβους του νέφους αποτελεί η DBpedia, η οποία περιέχει σημασιολογικά χαρακτηρισμένο περιεχόμενο, εξαγμένο από την ιστοσελίδα Wikipedia. Είναι ένα έργο που βασίζεται στη συλλογική προσπάθεια της κοινότητας και διαθέτει εκατομμύρια εισερχόμενες και εξερχόμενες συνδέσεις με άλλους κόμβους. Άλλοι σημαντικοί κόμβοι του, είναι το GeoNames που περιέχει γεωγραφικές πληροφορίες, το Freebase που περιέχει συλλογή από δεδομένα από διάφορες πηγές, το W3C, το FOAF Profiles, κ.ά. Τα ΑΔΔ επιτρέπουν τη δημιουργία εφαρμογών που συνδυάζουν δεδομένα από διάφορες σημασιολογικές πηγές. Για παράδειγμα, η εφαρμογή RKB Explorer παρέχει μια ενιαία προοπτική, για περιεχόμενα που προέρχονται από ετερογενείς πηγές δεδομένων [23]. Περιλαμβάνει πόρους που σχετίζονται με την επιστημονική έρευνα, επιτρέποντας την αναζήτηση πληροφοριών για επιστήμονες, δημοσιεύσεις, οργανισμούς, κ.ά. 23 http://lod-cloud.net Σελίδα 46
2.3.2 Τελικά σημεία SPARQL Τα περισσότερα triplestore που χρησιμοποιούνται για την διαχείριση των RDF περιεχομένων, επιτρέπουν τη διενέργεια ερωτημάτων μέσω χρήσης του πρωτοκόλλου HTTP. Αυτό δίνει τη δυνατότητα, εύκολης πρόσβασης στα δεδομένα μιας πηγής μέσω κατάλληλης διεπαφής ιστού, που ονομάζεται τελικό σημείο SPARQL (endpoint) [21]. Στην απλούστερη περίπτωση, ένα τελικό σημείο αναπαριστάται με ένα URI, στο οποίο μπορούν να αποσταλούν ερωτήματα SPARQL μέσω των μεθόδων ιστού POST και GET και να ληφθούν τα αποτελέσματα των εκτελέσεων. Τα περισσότερα τελικά σημεία, διαθέτουν και κατάλληλο γραφικό περιβάλλον μέσω του οποίου μπορεί να γίνει η σύνταξη και η εκτέλεση των ερωτημάτων. Συνήθως επιτρέπουν την επιλογή του τρόπου αναπαράστασης των αποτελεσμάτων σε διάφορες σειριοποιήσεις της RDF ή την προβολή σε μορφή πίνακα HTML. Η Εικόνα 16 απεικονίζει τη διεπαφή του τελικού σημείου SPARQL της DBpedia 24. Εικόνα 16. Η διεπαφή του τελικού σημείου SPARQL της DBpedia. Για να αποφευχθεί η υπερφόρτωση των triplestore που εκθέτουν κάποιο τελικό σημείο SPARQL, ορίζονται περιορισμοί στον αριθμό των αποτελεσμάτων και το μέγιστο χρόνο εκτέλεσης ανά ερώτημα. Παρόλα αυτά τα μέτρα όμως, η ταυτόχρονη εκτέλεση 24 https://dbpedia.org/sparql Σελίδα 47
ερωτημάτων από πολλούς χρήστες, ορισμένες φορές καθιστά δύσκολη τη χρήση των τελικών σημείων σε εφαρμογές [24]. Περιοριστικός παράγοντας, αποτελεί επίσης και η αστάθεια της διαθεσιμότητάς τους ανεξαρτήτως φόρτου. Ένα τελικό σημείο, μπορεί να μην είναι διαθέσιμο για διάφορους λόγους όπως για παράδειγμα, λόγω εργασιών συντήρησης του εξυπηρετητή. Για την παρακολούθηση της διαθεσιμότητάς τους, μπορούν να πραγματοποιηθούν περιοδικές εκτελέσεις απλών ερωτημάτων που δεν επιφέρουν φόρτο στο triplestore ή να χρησιμοποιηθούν εφαρμογές όπως την SPARQLES 25 που περιλαμβάνει διάφορες αυτοματοποιημένες λειτουργίες για τον σκοπό αυτό. Ένα τελικό σημείο SPARQL, μπορεί να θεωρηθεί ως ένας μηχανισμός που επιτρέπει την πρόσβαση σε ένα triplestore που παρέχει ελεύθερα το περιεχόμενό του (ή ένα μέρος αυτού) σε ανθρώπους και λογισμικά. Εφόσον το περιεχόμενο αυτό είναι σημασιολογικά χαρακτηρισμένο, γίνεται εύκολα κατανοητό χωρίς να χρειάζεται εξειδικευμένη γνώση όπως συμβαίνει στις κλασικές Β.Δ. 2.3.3 DBpedia Η DBpedia 26, είναι ένα έργο το οποίο ξεκίνησε το 2007 βασισμένο στην κοινότητα και αποτελεί πλέον έναν από τους μεγαλύτερους παρόχους δεδομένων του Σ.Ι. Τα περιεχόμενά της, προέρχονται από την εξαγωγή δομημένων δεδομένων (όπως είναι τα πλαίσια πληροφορικών, οι λίστες, τα δεδομένα κατηγοριοποίησης) που περιλαμβάνονται στα άρθρα της εγκυκλοπαίδειας Wikipedia [5, 6]. Δεδομένα αυτής της μορφής εξάγονται από 125 διαφορετικές γλωσσικές εκδόσεις της Wikipedia, εκ των οποίων η αγγλική προσφέρει τα περισσότερα κατ' αναλογία. Το πλαίσιο πληροφορίας (infobox), είναι ένας πίνακας που βρίσκεται συνήθως στο δεξί μέρος των ιστοσελίδων της Wikipedia και παρέχει σύντομες πληροφορίες [20]. Η σταθερή δομή του, καθιστά εύκολη την αυτοματοποιημένη εξαγωγή και αξιοποίηση των περιεχομένων του. Η Εικόνα 17, απεικονίζει το πλαίσιο πληροφορίας του άρθρου της Wikipedia που περιγράφει την DBpedia. Η DBpedia, αποσπά τα δεδομένα ανάλογων πλαισίων χαρακτηρίζοντάς τα σημασιολογικά με χρήση οντολογίας που περιλαμβάνει 320 κλάσεις και 1.650 ιδιότητες [5]. Η 25 http://sparqles.ai.wu.ac.at 26 http://wiki.dbpedia.org Σελίδα 48
ίδια οντολογία χρησιμοποιείται για τα δεδομένα που προέρχονται από 27 γλωσσικές εκδόσεις της Wikipedia περιλαμβάνοντας την αγγλική, βουλγάρικη, ελληνική, ισπανική κ.ά. [5]. Σε αντίθεση με την Wikipedia στην οποία επιτρέπονται μόνο αναζητήσεις σε μορφή κειμένου, η DBpedia επιτρέπει σύνθετες αναζητήσεις βασισμένη σε τεχνικές του Σ.Ι. [6]. Αποτελεί έναν από τους κεντρικούς κόμβους του νέφους των ΑΔΔ, και μπορεί να διασυνδεθεί με RDF σύνολα δεδομένων προερχόμενα από διαφορετικούς τομείς, λόγω της ποικιλίας των θεμάτων που καλύπτει [6]. Υπάρχουν διάφορες εφαρμογές που αξιοποιούν τα περιεχόμενά της, παρέχοντας σύνθετες δυνατότητες. Παράδειγμα ανάλογης εφαρμογής, αποτελεί η DBpedia Relationship Finder, η οποία επιτρέπει την ανεύρεση σχέσεων μεταξύ οντοτήτων που περιέχονται σε άρθρα της Wikipedia [25]. Εικόνα 17. Ένα πλαίσιο πληροφοριών από άρθρο σχετικό με την DBpedia. Η DBpedia, παρέχει ελεύθερη πρόσβαση στα μεταδεδομένα της, μέσω τριών μηχανισμών [6] που είναι οι εξής: 1. Τελικό σημείο SPARQL. 2. RDF σύνολο δεδομένων. 3. HTTP URI βάσει των αρχών των ΔΔ. Σελίδα 49
Το τελικό σημείο που διαθέτει (και απεικονίζεται στην Εικόνα 16), στηρίζεται σε triplestore OpenLink Virtuoso. Για την προστασία υπερφόρτωσής του, επιτρέπει την εκτέλεση μόνο των ερωτημάτων που δεν επιφέρουν μεγάλο κόστος και περιορίζει το πλήθος των αποτελεσμάτων στις 10.000 εγγραφές. Το RDF σύνολο δεδομένων της, διατίθεται για κατέβασμα και χρήση μέσω των σειριοποιήσεων N-Triples, N-Quads και Turtle, ενώ παρέχει και HTTP URIs για την πρόσβαση σε μεταδεδομένα που έχουν εκδοθεί βάσει των αρχών των ΔΔ. 2.4 Διασύνδεση Δεδομένων Στον Σ.Ι., η διασύνδεση μεταξύ διαφορετικών πηγών δεδομένων είναι σημαντικός παράγοντας, καθώς με αυτόν τον τρόπο διασφαλίζεται η ύπαρξη ενός ενιαίου δικτύου δεδομένων. Στο δίκτυο αυτό, οι χρήστες μπορούν να πλοηγούνται μεταξύ πηγών ακολουθώντας RDF συνδέσεις, με τρόπο ανάλογο όπως συμβαίνει και με την πλοήγηση μεταξύ των ιστοσελίδων του Π.Ι. με τη χρήση υπερσυνδέσμων [20]. Μια RDF σύνδεση, αποτελεί μια τριπλέτα η οποία συνδέει URI από δύο πηγές δεδομένων μέσω κάποιας ιδιότητας. Για να οριστεί μια εξερχόμενη σύνδεση από μια πηγή δεδομένων A προς μια πηγή B, απαιτείται η δημιουργία μιας τριπλέτας στην πηγή A, η οποία να περιέχει στη θέση του αντικειμένου της τριπλέτας κάποιο URI της πηγής A, ενώ στη θέση της τιμής, κάποιο URI από την πηγή B. Ανάλογα με το είδος της σύνδεσης που χρειάζεται να δημιουργηθεί, ορίζεται και το κατάλληλο URI στη θέση της ιδιότητας. Μια πηγή δεδομένων που παρέχει εξερχόμενες συνδέσεις, χαρακτηρίζεται ως πηγή συνδέσεων, ενώ μια πηγή δεδομένων στην οποία δείχνουν οι συνδέσεις κάποιας άλλης, χαρακτηρίζεται ως προορισμός συνδέσεων. Η Εικόνα 18, απεικονίζει μια RDF σύνδεση ανάμεσα στις πηγές δεδομένων DBLP και RKB Explorer. Το URI που βρίσκεται στη θέση του αντικειμένου, αναφέρεται στα μεταδεδομένα της εργασίας CERN experience που βρίσκονται στην πηγή δεδομένων DBLP, ενώ η τιμή της τριπλέτας αναφέρεται στα μεταδεδομένα της ίδιας εργασίας στην πηγή δεδομένων RKB Explorer. Η διασύνδεσή τους πραγματοποιείται μέσω του URI της ιδιότητας sameas που προέρχεται από τον χώρο ονοματοδοσίας της OWL. http://dblp.l3s.de/d2r/resource/ publications/conf/sigopse/berners-lee88 owl:sameas http://dblp.rkbexplorer.com/id/ conf/sigopse/berners-lee88 Εικόνα 18. Αναπαράσταση RDF σύνδεσης μεταξύ της DBLP και της RKB Explorer. Σελίδα 50
Οι RDF συνδέσεις μπορούν να ταξινομηθούν σε τρείς κατηγορίες ανάλογα με τον τύπο τους [4]: 1. Συνδέσεις συσχετισμών (relationship links) - Επιτρέπουν τη διασύνδεση οντοτήτων που είναι σχετικές μεταξύ τους και βρίσκονται σε διαφορετικές πηγές δεδομένων. Για παράδειγμα, μια σύνδεση συσχετισμού μπορεί να χρησιμοποιηθεί για να συνδέσει ένα URI μιας πηγής A που αναφέρεται σε έναν άνθρωπο, σε ένα URI μιας πηγής B που αναφέρεται σε σύγγραμμά του. 2. Συνδέσεις ταυτότητας (identity links) - Επιτρέπουν τη διασύνδεση ίδιων οντοτήτων που βρίσκονται σε διαφορετικές πηγές δεδομένων. Για παράδειγμα, συνδέσεις ταυτότητας μπορούν να υπάρξουν ανάμεσα σε URI διαφορετικών πηγών που αναφέρονται στο ίδιο βιβλίο. Ανάλογες συνδέσεις επιτρέπουν την ύπαρξη διαφορετικών προοπτικών για την ίδια οντότητα. 3. Συνδέσεις λεξιλογίων (vocabulary links) - Επιτρέπουν τη διασύνδεση των δεδομένων μιας πηγής στους ορισμούς των όρων των λεξιλογίων που αυτά χρησιμοποιούν, καθώς και τη διασύνδεση μεταξύ όρων διαφορετικών λεξιλογίων. Για παράδειγμα, συνδέσεις λεξιλογίου μπορούν να χρησιμοποιηθούν για τη διασύνδεση των όρων Agent που υπάρχουν στα λεξιλόγια FOAF, BIBO και DCMIMT. 2.4.1 Τρόπος διασύνδεσης RDF συνόλων Η διασύνδεση RDF συνόλων δεδομένων, μπορεί να πραγματοποιηθεί είτε χειροκίνητα, είτε αυτοματοποιημένα [4]. Συνήθως, επειδή η χειροκίνητη διασύνδεση είναι εφικτή για μικρό αριθμό συνδέσεων, χρησιμοποιούνται ειδικά λογισμικά που είναι φτιαγμένα για τον σκοπό αυτό. Οι τεχνικές διασύνδεσης των RDF συνόλων χωρίζονται σε δύο κατηγορίες [3, 4]: 1. Αυτές που βασίζονται στα κλειδιά (key-based) - Κλειδιά μπορούν να θεωρηθούν τα μοναδικά αναγνωριστικά που χρησιμοποιούνται για την ταυτοποίηση διάφορων οντοτήτων, όπως τα ISBN για τα βιβλία. Εφόσον υπάρξουν ανάλογα κλειδιά σε δύο διαφορετικά RDF σύνολα δεδομένων, η δημιουργία RDF συνδέσεων μπορεί να επιτευχθεί ύστερα από τη σύνδεση ίδιων κλειδιών. 2. Αυτές που βασίζονται στην ομοιότητα περιεχομένου (similarity based) - Η διασύνδεση RDF συνόλων που δεν περιέχουν μοναδικά αναγνωριστικά, μπορεί να πραγματοποιηθεί βάσει της ομοιότητας διάφορων ιδιοτήτων τους. Για την ομοιότητα ορίζεται κάποιο κατώφλι πέραν του οποίου θεωρείται ότι έχει γίνει ανεύ- Σελίδα 51
ρεση σύνδεσης. Για παράδειγμα, για τη σύγκριση δύο RDF συνόλων που περιέχουν δεδομένα σχετικά με τη μουσική, μπορούν να χρησιμοποιηθούν ιδιότητες όπως ο τίτλος, η ημερομηνία έκδοσης, η διάρκεια, το όνομα του συνθέτη, κ.ά. Υπάρχουν διάφορες ιδιότητες που μπορούν να χρησιμοποιηθούν για τη διασύνδεση RDF συνόλων, ανάλογα με τον τύπο της σύνδεσης που απαιτείται. Ορισμένες από τις ιδιότητες αυτές, προέρχονται από τους χώρους ονοματοδοσίας των γλωσσών δόμησης οντολογιών RDFS και OWL, ενώ άλλες προέρχονται από οντολογίες/λεξιλόγια. Παρακάτω ακολουθούν κάποιες από αυτές: owl:sameas - Αποτελεί την πιο διαδεδομένη ιδιότητα σύνδεσης των ΑΔΔ και χρησιμοποιείται για τη διασύνδεση URI που αναφέρονται στην ίδια οντότητα. Αποτελεί μια μεταβατική και συμμετρική ιδιότητα και θα πρέπει να χρησιμοποιηθεί μόνο μεταξύ URI πόρων των οποίων όλες οι ιδιότητες είναι κοινές [26, 27]. owl:equivalentclass - Διασυνδέει τα URI ισοδύναμων κλάσεων. owl:equivalentproperty - Διασυνδέει τα URI ισοδύναμων ιδιοτήτων. rdfs:seealso - Διασυνδέει το URI ενός πόρου σε κάποιο άλλο URI που μπορεί να παρέχει επιπλέον πληροφορία [28]. rdfs:subclassof - Διασυνδέει το URI μιας κλάσης με το URI της υπερκλάσης της. rdfs:subpropertyof - Διασυνδέει το URI μιας ιδιότητας με το URI την υπεριδιότητάς της. foaf:knows - Διασυνδέει τα URI ανθρώπων που γνωρίζονται. skos:broadmatch - Διασυνδέει το URI μιας έννοιας με το URI μιας άλλης που έχει πιο ευρύ νόημα. skos:closematch - Διασυνδέει τα URI πανομοιότυπων εννοιών. skos:exactmatch - Διασυνδέει τα URI εννοιών που έχουν το ίδιο νόημα. skos:narrowmatch - Διασυνδέει το URI μιας έννοιας με το URI μιας άλλης που έχει πιο περιορισμένο νόημα. skos:relatedmatch - Διασυνδέει τα URI σχετικών εννοιών. Το πρόθεμα συντόμευσης skos προέρχεται από το Simple Knowledge Organization System (SKOS) που αποτελεί ένα λεξιλόγιο για την οργάνωση γνώσης. Σελίδα 52
2.4.2 Προγράμματα διασύνδεσης Στον Σ.Ι. υπάρχουν πολλές εφαρμογές, στις οποίες δεδομένα διάφορων πηγών συλλέγονται και συγχωνεύονται ή διασυνδέονται ώστε να διευκολυνθεί η πρόσβαση στην πληροφορία. Το URank, είναι μια εφαρμογή, η οποία συλλέγει δεδομένα από διάφορες ιστοσελίδες που περιέχουν κατατάξεις πανεπιστημίων, αναγνωρίζει μονοσήμαντα τις οντότητες που αναπαριστούν πανεπιστήμια μέσω αξιοποίησης των δεδομένων της DBpedia και δημιουργεί ένα συγχωνευμένο σετ κατατάξεων πανεπιστημίων [29]. Για να διευκολυνθεί η προσβασιμότητα σε δεδομένα που αναφέρονται στις επιστήμες ζωής, προτείνεται στην εργασία [30], η δημιουργία παραμετροποιήσιμων κανόνων για την ανεύρεση συνδέσεων μεταξύ βιολογικών οντοτήτων στο νέφος των ΑΔΔ που σχετίζονται με τις επιστήμες ζωής. Για την αυτοματοποίηση της διαδικασίας διασύνδεσης RDF συνόλων, έχουν αναπτυχθεί εξειδικευμένες εφαρμογές οι οποίες κατατάσσονται σε αυτές που μπορούν να χρησιμοποιηθούν για δεδομένα συγκεκριμένου πεδίου (όπως αυτές που περιγράφηκαν προηγουμένως) και σε αυτές που είναι γενικού σκοπού. Οι εφαρμογές γενικού σκοπού, επιτρέπουν στους χρήστες να ορίσουν κανόνες διασύνδεσης μεταξύ των δεδομένων μέσω συναρτήσεων διάφορων κατηγοριών. Για παράδειγμα, υπάρχουν συναρτήσεις για την ανεύρεση χωρικών συσχετισμών, την ομοιότητα κειμένων, την ομοιότητα αριθμητικών τιμών (ανεύρεση ελάχιστης τιμής, μέγιστης τιμής και μέσου όρου), κ.ά. Σε κάποιες από τις εφαρμογές, οι κανόνες μπορούν να δημιουργηθούν αυτόματα μέσω τεχνικών Μηχανικής Μάθησης. Έχουν αναπτυχθεί διάφορες εφαρμογές γενικού σκοπού που μπορούν να χρησιμοποιηθούν για τη διασύνδεση RDF συνόλων [31]. Κάποιες από τις πιο γνωστές είναι η KnoFuss [32], η LIMES [33] και η Silk [34]. Εφόσον τα RDF σύνολα ενδέχεται να περιλαμβάνουν μεγάλο αριθμό τριπλετών, στις εφαρμογές χρησιμοποιούνται διάφορες τεχνικές για τον περιορισμό του χώρου αναζήτησης. Αυτό είναι σημαντικό για να αποφευχθεί η σύγκριση της κάθε τριπλέτας κάποιου συνόλου, με όλες τις τριπλέτες ενός άλλου. Για τον σκοπό αυτό, η LIMES χρησιμοποιεί την τριγωνική ανισότητα σε μετρικούς χώρους, ενώ η Silk χρησιμοποιεί πολυδιάστατους δείκτες [31]. Συνήθως, οι εφαρμογές γενικού σκοπού διαθέτουν κατάλληλο γραφικό περιβάλλον μέσω του οποίου μπορούν να δημιουργηθούν οι κανόνες σύγκρισης των δεδομένων. Στην Εικόνα 19, απεικονίζεται μέρος του γραφικού περιβάλλοντος της Silk στο οποίο έχουν οριστεί κανόνες σύγκρισης. Σελίδα 53
Εικόνα 19. Μέρος του γραφικού περιβάλλοντος του Silk Framework. 2.5 Βιβλιογραφικά Αναγνωριστικά Το νέφος των ΑΔΔ, διαθέτει πολλά σύνολα δεδομένων τα οποία προέρχονται από βιβλιοθήκες και πηγές βιβλιογραφίας από όλο τον κόσμο. Μέσω των συνόλων αυτών, δίνεται η δυνατότητα πρόσβασης σε ψηφιοποιημένο περιεχόμενο που μπορεί να περιλαμβάνει, συγγράμματα, χάρτες, έντυπη μουσική, κ.ά. [7, 8]. Για την ταυτοποίηση αυτών των περιεχομένων, υπάρχουν διάφορα μοναδικά αναγνωριστικά που είτε αποτελούν διεθνή πρότυπα (όπως το ISBN, ISSN, DOI), είτε αποδίδονται μόνο από συγκεκριμένους οργανισμούς, ιδρύματα, εταιρείες, κ.ά. (όπως το arxiv id, LCCN, PMID). Η διασύνδεση μεταξύ βιβλιογραφικών συνόλων, διευκολύνεται με τη χρήση τεχνικών που βασίζονται σε κλειδιά, εφόσον ίδια μοναδικά αναγνωριστικά ενδέχεται να περιλαμβάνονται σε διαφορετικά σύνολα δεδομένων. Η RDF Book Mashup, αποτελεί μια εφαρμογή που αξιοποιεί τα αναγνωριστικά βιβλίων ISBN, συλλέγοντας δεδομένα μέσω διεπαφών (API) από πηγές όπως την Amazon, την Google και τη Yahoo για την ενοποιημένη αναπαράσταση δεδομένων στον Σ.Ι. [35]. Υπάρχουν διάφορα μοναδικά αναγνωριστικά ανάλογα με τη δομή τους. Ένα αναγνωριστικό μπορεί να είναι ένας απλός αύξων αριθμός, είτε κάποια συμβολοσειρά που μπορεί να περιλαμβάνει κωδικοποιημένες πληροφορίες. Στα αναγνωριστικά όπως το ISBN και ISSN, υπάρχει επιπλέον και η δυνατότητα ελέγχου της ορθότητάς τους μέσω Σελίδα 54