ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ & ΠΛΗΡΟΦΟΡΙΚΗΣ



Σχετικά έγγραφα
Ανάπτυξη Οντολογικής Γνώσης για Τεκμηρίωση Οπτικοακουστικού Περιεχομένου ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ

Αναπαράσταση Γνώσης και Αναζήτηση στον Σηµασιολογικό Ιστό

1 Συστήματα Αυτοματισμού Βιβλιοθηκών

ΤΙΤΛΟΣ ΙΠΛΩΜΑΤΙΚΗΣ ΕΡΓΑΣΙΑΣ: GoNToggle: ΕΞΥΠΝΗ ΜΗΧΑΝΗ ΑΝΑΖΗΤΗΣΗΣ ΜΕ ΧΡΗΣΗ ΟΝΤΟΛΟΓΙΩΝ ΠΕΡΙΟΧΗ ΕΡΕΥΝΑΣ: ΣΥΓΓΡΑΦΕΑΣ:

Μεταδεδομένα στο Ψηφιακό περιβάλλον

Γλώσσες Σήµανσης (Markup Languages) Τεχνολογία ιαδικτύου και Ηλεκτρονικό Εµπόριο

Σημασιολογική Ολοκλήρωση Δεδομένων με τη χρήση Οντολογιών

SGML (Standard Generalized Markup Language) HTML (HyperText Markup Language) XML (extensible Markup Language)

της πληροφορίας Λίνα Μπουντούρη Εθνικό Κέντρο Τεκμηρίωσης 13ο ΠανελλήνιοΣυνέδριοΑκαδημαϊκών Βιβλιοθηκών - Κέρκυρα 2004

ΜΑΘΗΜΑ 6. Σχήµατα ιαλειτουργικότητας Μεταδεδοµένων. Το RDF Το Warwick Framework. Ιόνιο Πανεπιστήµιο - Τµήµα Αρχειονοµίας - Βιβλιοθηκονοµίας

Βάσεις Δεδομένων ΙΙ. Διάλεξη 5 η XML και ΒΔ στο Διαδίκτυο

ΕΘΝΙΚΟ ΚΑΙ ΚΑΠΟΔΙΣΤΡΙΑΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ

Οντολογία για την περιγραφή των προσωπικοτήτων της Σάμου, την κατηγοριοποίηση και τις σχέσεις τους

Κεφάλαιο 29. Τεχνητή Νοημοσύνη - Β' Έκδοση. Ι. Βλαχάβας, Π. Κεφαλάς, Ν. Βασιλειάδης, Φ. Κόκκορας, Η. Σακελλαρίου

Διαχείριση Πολιτισμικών Δεδομένων

Διαχείριση οντολογιών: μελέτη και εμβάθυνση στα βασικά προβλήματα που την αφορούν και παρουσίαση υπαρχουσών βιβλιοθηκών οντολογιών

Ιόνιο Πανεπιστήμιο - Τμήμα Αρχειονομίας - Βιβλιοθηκονομίας

Σε παγκόσμιο επίπεδο, οιμηχανέςαναζήτησηςτουinternet αναπτύχθηκαν για να κάνουν αναζήτηση πληροφοριών σε πολλαπλές τοποθεσίες ιστού.

Διαχείριση, Δημοσίευση και Διάθεση Ανοικτών Εκπαιδευτικών Πόρων

Τεχνολογία Διοίκησης Επιχειρησιακών Διαδικασιών

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ

Εργαστήριο Σημασιολογικού Ιστού

Εργαστήριο Σημασιολογικού Ιστού

GoNToggle: ΕΞΥΠΝΗ ΜΗΧΑΝΗ ΑΝΑΖΗΤΗΣΗΣ ΜΕ ΧΡΗΣΗ ΟΝΤΟΛΟΓΙΩΝ

ΥΠΗΡΕΣΙΑ «TAXISNET» - ΗΛΕΚΤΡΟΝΙΚΗ ΥΠΟΒΟΛΗ ΤΩΝ ΦΟΡΟΛΟΓΙΚΩΝ ΔΗΛΩΣΕΩΝ ΓΙΑ ΤΟ ΤΜΗΜΑ ΕΣΩΤΕΡΙΚΩΝ ΠΡΟΣΟΔΩΝ ΚΑΙ ΤΗΝ ΥΠΗΡΕΣΙΑ ΦΟΡΟΥ ΠΡΟΣΤΙΘΕΜΕΝΗΣ ΑΞΙΑΣ ΤΟΥ

Τεχνολογία ανάπτυξης νέων ιστοσελίδων στο Semantic Web.

Εργαστήριο Σημασιολογικού Ιστού

Σημασιολογικός Ιστός RDF(S) OWL Οντολογίες. Pervasive Computing Research Group

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΑ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ

ΑΝΑΠΑΡΑΣΤΑΣΗ ΓΝΩΣΗΣ ΣΤΟΝ ΠΑΓΚΟΣΜΙΟ ΙΣΤΟ

ΕΠΛ 012 Εισαγωγή στο Παγκόσμιο Πλέγμα Πληροφοριών

Εργαστήριο Σημασιολογικού Ιστού

Τεχνολογίες RDF για τον Ιστό Δεδοµένων

Ανάκτηση Πληροφορίας

Μάθημα: Δ3. Δίκτυα Γνώσης και Σημασιολογικός Ιστός. Διάλεξη 02 & 03. Δρ. Γεώργιος Χρ. Μακρής

Μάθημα: Δ3. Δίκτυα Γνώσης και Σημασιολογικός Ιστός. Διάλεξη 01 & 02. Δρ. Γεώργιος Χρ. Μακρής

Linked Data for the Masses: Η προσέγγιση και το λογισμικό

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΤΜΗΜΑ ΜΗΧ/ΚΩΝ Η/Υ & ΠΛΗΡΟΦΟΡΙΚΗΣ ΑΝΑΠΑΡΑΣΤΑΣΗ ΓΝΩΣΗΣ ΣΤΟΝ ΠΑΓΚΟΣΜΙΟ ΙΣΤΟ ΕΚΠΟΝΗΣΗ ΕΡΓΑΣΙΑΣ

Μεταπτυχιακή Διατριβή

Θεωρητική προσέγγιση του Σημασιολογικού Ιστού στο χώρο της πολιτισμικής πληροφορίας: μία πρότυπη εφαρμογή στη βιβλιοθηκονομία

Σχεδιασµός Ανάπτυξη Οντολογίας

Σχεδίαση και Ανάπτυξη Ιστότοπων

ΠΕΡΙΕΧΟΜΕΝΑ. Πρόλογος Κεφάλαιο 1 ο Αρχές Διαχείρισης πληροφορίας στον Παγκόσμιο Ιστό... 15

Πολιτισμική Τεχνολογία. Πολυμέσα & Διαδίκτυο Παράμετροι Δικαίου Μέρος Α

Παραδοτέο Π.2.1. Υπερχώρος και διαχείριση μοντέλων

Εννοιολογική Ομοιογένεια

Εισαγωγικό Μάθημα Βασικές Έννοιες - Ανάλυση Απαιτήσεων

Διαμοιρασμός δεδομένων & γλωσσικών πόρων: τεχνικά ζητήματα. Πένυ Λαμπροπούλου ΙΕΛ/ΕΚ "ΑΘΗΝΑ"

Εργαστήριο Σημασιολογικού Ιστού

Διασύνδεση και Άνοιγμα Δεδομένων του Α.Π.Θ. Καραογλάνογλου Κωνσταντίνος Μονάδα Σημασιολογικού Ιστού Α.Π.Θ 18/3/2014

Σημασιολογικός Ιστός (Semantic Web) - XML

. Εργαστήριο Βάσεων Δεδομένων. Εισαγωγικό Μάθημα Βασικές Έννοιες - Ανάλυση Απαιτήσεων

ΑΝΑΠΤΥΞΗ ΥΠΟΔΟΜΩΝ ΑΝΟΙΚΤΗΣ ΠΡΟΣΒΑΣΗΣ ΙΔΡΥΜΑΤΙΚΟ ΑΠΟΘΕΤΗΡΙΟ «ΟΛΥΜΠΙΑΣ» Διαλειτουργικότητα Ιδρυματικών Αποθετηρίων

Μάθηµα 6. Τµήµα Αρχειονοµίας - Βιβλιοθηκονοµίας

Διαδίκτυο: δίκτυο διασυνδεμένων δικτύων Ξεκίνησε ως ένα μικρό κλειστό στρατιωτικό δίκτυο, απόρροια του Ψυχρού Πολέμου μεταξύ ΗΠΑ και ΕΣΣΔ.

Εργαστήριο Σημασιολογικού Ιστού

Εισαγωγή στον Παγκόσμιο ιστό και στη γλώσσα Html. Χρ. Ηλιούδης

Οντολογία Ψηφιακής Βιβλιοθήκης

Περιεχόμενα. Γαβαλάς Δαμιανός Τρέχον status της HTML

ΑΝΑΚΤΗΣΗ ΠΟΛΥΜΕΣΙΚΟΥ ΠΕΡΙΕΧΟΜΕΝΟΥ ΚΑΙ ΣΗΜΑΣΙΟΛΟΓΙΚΟΣ ΙΣΤΟΣ Γ.Τ.Π

Π Τ Υ Χ Ι Α Κ Η Ε Ρ Γ Α Σ Ι Α

Οντολογία σύμφωνα με τη Φιλοσοφία

Πλοήγηση και Αναζήτηση

Αναφορά εργασιών για το τρίμηνο Σεπτέμβριος Νοέμβριος 2012 Όνομα : Μπελούλη Αγάθη

Σηµασιολογικό Ιστό. Αλέξανδρος Βαλαράκος Αιγαίου.

ΟΝΤΟΛΟΓΙΕΣ, ΣΗΜΑΣΙΟΛΟΓΙΚΟΣ ΙΣΤΟΣ ΚΑΙ ΕΦΑΡΜΟΓΕΣ ΗΛΕΚΤΡΟΝΙΚΗΣ ΔΙΑΚΥΒΕΡΝΗΣΗΣ

Εισαγωγή στη Σχεδίαση Λογισμικού

ΘΕΜΑ 1 Τεχνικές Εξαγωγής Συµφράσεων από εδοµένα Κειµένου και Πειραµατική Αξιολόγηση

Εργαστήριο Βάσεων Δεδομένων. Εισαγωγικό Φροντιστήριο Βασικές Έννοιες - Ανάλυση Απαιτήσεων

Περιεχόμενα. Πρόλογος... xiii

Εργαστήριο Βάσεων Δεδομένων. Εισαγωγικό Φροντιστήριο Βασικές Έννοιες - Ανάλυση Απαιτήσεων

Κείμενο ASCII Unicode - HTML. Κωδικοποίηση ASCII / Unicode HTML

Εισαγωγή(στη(γλώσσα(XML(

Τεχνολογίες Παγκόσμιου Ιστού. 1η διάλεξη

ΓΛΩΣΣΙΚΗ ΤΕΧΝΟΛΟΓΙΑ. Μάθημα 1 ο : Εισαγωγή στην γλωσσική τεχνολογία. Γεώργιος Πετάσης. Ακαδημαϊκό Έτος:

Εργαστήριο Βάσεων Δεδομένων. Εισαγωγικό Φροντιστήριο Βασικές Έννοιες - Ανάλυση Απαιτήσεων

Ιστορικοί χάρτες στον Παγκόσμιο Ιστό

Σημασιολογικός Ιστός (Semantic Web) - XML

Τεχνικές Προδιαγραφές ιαλειτουργικότητας

Εργαστήριο Σημασιολογικού Ιστού

Εργαλεία ανάπτυξης εφαρμογών internet Ι

Ανάπτυξη Συστήματος Διαχείρισης Περιεχομένου με Τεχνολογίες Σημασιολογικού Ιστού και Σημασιολογικής Επιφάνειας Εργασίας

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ - ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΣΒΔ - ΕΙΣΑΓΩΓΗ ΣΤΟ ΜΟΝΤΕΛΟ ΟΝΤΟΤΗΤΩΝ ΣΥΣΧΕΤΙΣΕΩΝ ΤΜΗΜΑ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ

ΔΙΠΛΩΜΑΤΙKH ΕΡΓΑΣΙΑ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. ΜΕΤΑΠΤΥΧΙΑΚΟ ΔΙΠΛΩΜΑ ΕΙΔΙΚΕΥΣΗΣ (MSc) στα ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ. Τσατσανιά Παρασκευή

Βάσεις Δεδομένων. Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα

Προγραμματισμός και Συστήματα στον Παγκόσμιο Ιστό Ενότητα 5: XML. Καθ. Ιωάννης Γαροφαλάκης Πολυτεχνική Σχολή Μηχανικών Η/Υ & Πληροφορικής

Διαδικτυακές Υπηρεσίες Αναζήτησης, Απεικόνισης και Απευθείας Πρόσβασης στα δεδομένα ΟΔΗΓΙΕΣ ΧΡΗΣΗΣ. Έκδοση 0.1.

ΜΑΘΗΜΑ 5. Ιόνιο Πανεπιστήµιο - Τµήµα Αρχειονοµίας - Βιβλιοθηκονοµίας. Tεχνολογίες των Πληροφοριών σε ψηφιακό περιβάλλον: Τα εργαλεία

Εισαγωγή στο RDF. Το Resource Description Framework (RDF) Σταύρος Πολυβίου

ΝΤUA. Τεχνολογία Πολυμέσων

ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ ΚΑΙ ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ ΕΦΑΡΜΟΓΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΣΤΗ ΔΙΟΙΚΗΣΗ ΚΑΙ ΟΙΚΟΝΟΜΙΑ

<address>αδριανείου 2, Νέο Ψυχικό, 11525, Αθήνα</adderss> <address>

Γιώργος Χρ. Μακρής. Σύγχρονες Γλώσσες Σήμανσης του Διαδικτύου. Αναπαράσταση Μαθηματικών κειμένων στο διαδίκτυο. Η Γλώσσα MathML

ΑΝΑΠΑΡΑΣΤΑΣΗ ΓΝΩΣΗΣ ΣΤΟΝ ΠΑΓΚΟΣΜΙΟ ΙΣΤΟ

Ανάπτυξηλογισμικού υλοποίησης του ανοικτού πρότυπου EPCALEv1.1 για εφαρμογές RFID

Εγχειρίδιο χρήσης Intalio Designer Εγχειρίδιο χρήσης Intalio Designer

Εισαγωγη στην html. Η δομή μιας ιστοσελίδας (αρχείο html) Η βασική δομή ενός αρχείου html είναι η εξής: <html> <head>

Διακιρυξθ Διαγωνιςμοφ για το Ζργο ΨΘΦΙΑΚΘ ΠΕΡΙΘΓΘΘ ΣΟ ΠΟΛΙΣΙΣΙΚΟ ΚΑΙ ΙΣΟΡΙΚΟ ΑΡΧΕΙΟ ΣΟΤ ΧΑΪΔΑΡΙΟΤ

Αρχές Τεχνολογίας Λογισμικού Εργαστήριο

Transcript:

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ & ΠΛΗΡΟΦΟΡΙΚΗΣ Αξιοποίηση Τεχνολογιών Ανοικτού Κώδικα για την ανάπτυξη εφαρμογών Σημασιολογικού Ιστού ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ ΣΤΑ ΠΛΑΙΣΙΑ ΤΟΥ ΜΕΤΑΠΤΥΧΙΑΚΟΥ ΔΙΠΛΩΜΑΤΟΣ ΕΙΔΙΚΕΥΣΗΣ (ΜΔΕ) «ΕΠΙΣΤΗΜΗ& ΤΕΧΝΟΛΟΓΙΑ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ» της ΚΑΣΣΕ ΠΑΡΑΣΚΕΥΗ Α.Μ. : 682 ΕΠΙΒΛΕΠΩΝ ΚΑΘΗΓΗΤΗΣ: ΘΕΟΔΩΡΟΣ ΠΑΠΑΘΕΟΔΩΡΟΥ ΤΡΙΜΕΛΗΣ ΕΞΕΤΑΣΤΙΚΗ ΕΠΙΤΡΟΠΗ: ΘΕΟΔΩΡΟΣ ΠΑΠΑΘΕΟΔΩΡΟΥ, ΑΘΑΝΑΣΙΟΣ ΤΣΑΚΑΛΙΔΗΣ, ΣΠΥΡΙΔΩΝ ΛΥΚΟΘΑΝΑΣΗΣ. ΠΑΤΡΑ, ΣΕΠΤΕΜΒΡΙΟΣ 2011

Αξιοποίηση Τεχνολογιών Ανοικτού Κώδικα για την ανάπτυξη εφαρμογών Σημασιολογικού Ιστού 2 Ευχαριστίες Θα ήθελα να ευχαριστήσω θερμά τον καθηγητή μου κύριο Θεόδωρο Παπαθεοδώρου, Διευθυντή του Εργαστηρίου Πληροφοριακών Συστημάτων Υψηλών Επιδόσεων, για την τιμή που μου έκανε να συνεργαστούμε και για την ευκαιρία που μου έδωσε να ασχοληθώ με το θέμα αυτό. Ο κύριος Παπαθεοδώρου υποστήριξε την προσπάθεια σε όλους ανεξαιρέτως τους τομείς, παρέχοντας μου συμβουλές και διασφαλίζοντας την υψηλή ποιότητα της διπλωματικής εργασίας. Θα ήθελα επίσης να ευχαριστήσω τον κύριο Δημήτριο Τσώλη για την πολύτιμη καθοδήγηση, τη συνεχή υποστήριξη και τη βοήθεια του σε όλη τη διάρκεια διεκπεραίωσης αυτής της διπλωματικής εργασίας.

Αξιοποίηση Τεχνολογιών Ανοικτού Κώδικα για την ανάπτυξη εφαρμογών Σημασιολογικού Ιστού 3 Περίληψη Τα τελευταία χρόνια υπάρχει εκθετική αύξηση του όγκου της πληροφορίας που δημοσιεύεται στο Διαδίκτυο. Καθώς όμως η πληροφορία αυτή δε συνδέεται με τη σημασιολογία της παρατηρείται δυσκολία στη διαχείρισή της και στην πρόσβαση σε αυτήν. Ο Σημασιολογικός Ιστός, λοιπόν, είναι μια ομάδα μεθόδων και τεχνολογιών που σκοπεύουν να δώσουν τη δυνατότητα στις μηχανές να κατανοήσουν τη σημασιολογία των πληροφοριών σχετικά με τον Παγκόσμιο Ιστό. Ο Σημασιολογικός Ιστός (Semantic Web) αποτελεί επέκταση του Παγκοσμίου Ιστού. Στο Σημασιολογικό Ιστό οι πληροφορίες εμπλουτίζονται με μεταδεδομένα, τα οποία υπακουούν σε κοινά πρότυπα και επιτρέπουν την εξαγωγή γνώσεως από την ήδη υπάρχουσα, καθώς επίσης και το συνδυασμό της υπάρχουσας πληροφορίας με στόχο την εξαγωγή συμπερασμάτων. Απώτερος στόχος του Σημασιολογικού Ιστού είναι η βελτιωμένη αναζήτηση, η εκτέλεση σύνθετων διεργασιών και η εξατομίκευση της πληροφορίας σύμφωνα με τις ανάγκες του κάθε χρήστη. Στην παρούσα διπλωματική εργασία μελετήθηκε η χρήση των τεχνολογιών του Σημασιολογικού Ιστού για τη βελτίωση της πρόσβασης σε πολιτισμικά δεδομένα. Συγκεκριμένα αρχικά έγινε εμβάθυνση στις τεχνολογίες και στις θεμελιώδεις έννοιες του Σημασιολογικού Ιστού. Παρουσιάστηκαν αναλυτικά οι βασικές γλώσσες σήμανσης: XML που επιτρέπει τη δημιουργία δομημένων εγγράφων με λεξιλόγιο καθορισμένο από το χρήστη, RDF που προσφέρει ένα μοντέλο δεδομένων για την περιγραφή πληροφοριών με τέτοιο τρόπο ώστε να είναι δυνατή η ανάγνωση και η κατανόησή τους από μηχανές. Αναφέρθηκαν, ακόμη, οι διάφοροι τρόποι σύνταξης της γλώσσας RDF καθώς και πως γίνεται αναζήτηση σε γράφους RDF με το πρωτόκολλο SPARQL. Στη συνέχεια ακολουθεί η περιγραφή της RDFS, που πρόκειται για γλώσσα περιγραφής του RDF λεξιλογίου. Έχοντας παρουσιαστεί σε προηγούμενο κεφάλαιο η έννοια της οντολογίας, γίνεται αναφορά στη σημασιολογική γλώσσα σήμανσης OWL, που χρησιμοποιείται για την έκδοση και διανομή οντολογιών στο Διαδίκτυο. Έπειτα ακολουθεί μια ανασκόπηση από επιλεγμένα έργα, ελληνικά, ευρωπαϊκά και διεθνή, των τελευταίων ετών που χρησιμοποιούν τις τεχνολογίες του Σημασιολογικού Ιστού στο τομέα του πολιτισμού και της πολιτισμικής κληρονομιάς. Τέλος στο έβδομο κεφάλαιο παρουσιάζεται μία εφαρμογή διαχείρισης αρχαιολογικών χώρων-μνημείων και μελετώνται σε βάθος οι τεχνολογίες και τα εργαλεία που χρησιμοποιήθηκαν για την υλοποίησή της. Λέξεις-Κλειδιά: Οντολογία, Σημασιολογικός Ιστός, Γλώσσες Σημασιολογικού Ιστού: XML, RDF, RDFS, OWL, Γλώσσα Σημασιολογικών Επερωτημάτων: SPARQL,SPARQL Update, Προγραμματιστική διεπαφή Jena, D2RQ πλατφόρμα.

Αξιοποίηση Τεχνολογιών Ανοικτού Κώδικα για την ανάπτυξη εφαρμογών Σημασιολογικού Ιστού 4 Abstract Over the past few years there has been exponential increase in the volume of information published on the Internet. Since information is not connected to its semantics, it is difficult to manipulate and access it. Therefore, the Semantic Web consists of methods and technologies that aim to enable machines to understand information s semantics. The Semantic Web is an extension of the World Wide Web (WWW). Specifically, information is enriched with metadata, which are subject to common standards and permit knowledge extraction from the existing one and the combination of existing information in order to infer implicit knowledge, as well. Future goals of the Semantic Web are enhanced searching, complicated processes execution and information personalization according to each user s needs. This post-graduate diploma thesis researches the usage of Semantic Web technologies for the enhancement of the access to cultural data. More specifically, Semantic Web technologies and essential concepts are studied. Basic markup languages are presented analytically: XML that allows structured documents creation with user defined vocabulary, RDF that offers a data model for such information description that it is readable and understandable by machines. Also, various RDF syntaxes and how to search RDF graphs using SPARQL protocol are referred. Below, RDFS description follows, which is a description language of RDF vocabulary. Having introduced the concept of ontology in previous chapter, the semantic markup language OWL is presented, that is used for ontology publishing and distribution on the Internet. A review of selected projects of the last years, Greek, European and international, which are characterized by the application of technologies of the Semantic Web in the sector of Culture and cultural heritage, is presented. In the last chapter, an application that manages archaeological sites is presented and technologies and tools that were used for it are studied. Keywords: Ontology, Semantic Web, Semantic markup languages: XML, RDF, RDFS, OWL, SPARQL Query Language, SPARQL Update, Jena Semantic Web Framework, D2RQ Platform.

Αξιοποίηση Τεχνολογιών Ανοικτού Κώδικα για την ανάπτυξη εφαρμογών Σημασιολογικού Ιστού 5 Περιεχόμενα 1. Ο Σημασιολογικός Ιστός... 8 1.1 Εισαγωγή... 8 1.2 Δομή του Σημασιολογικού Ιστού... 10 1.3 Μεταδεδομένα... 13 1.4 Οντολογίες... 14 1.4.1 Συστατικά οντολογίας... 16 1.4.2 Εργαλεία ανάπτυξης οντολογιών... 17 1.5 Παραδείγματα χρήσης του Σημασιολογικού Ιστού... 18 2. XML... 20 2.1 Εισαγωγή... 20 2.2 Συστατικά ενός XML εγγράφου... 21 2.2.1 XML Declaration... 21 2.2.2 Document Type Definition (DTD)... 21 2.2.3 Στοιχεία (Elements)... 22 2.2.4 Ιδιότητες (Attributes)... 22 2.2.5 Σχόλια... 22 2.2.6 Οδηγίες επεξεργασίας... 23 2.3 Σύνταξη της XML... 23 2.4 Γλώσσες XML για έλεγχο εγκυρότητας... 24 2.4.1 Document Type Definitions (DTDs)... 24 2.4.2 XML Schema XSD... 25 2.5 Γλώσσες επερώτησης XML εγγράφων... 27 2.5.1 XML Path Language (XPath)... 27 2.5.2 XML Pointer Language (XPointer) και XML Linking Language (XLink)... 28

Αξιοποίηση Τεχνολογιών Ανοικτού Κώδικα για την ανάπτυξη εφαρμογών Σημασιολογικού Ιστού 6 2.5.3 Simple API for XML (SAX)... 29 2.5.4 Document Object Model (DOM)... 29 2.6 XML Parsers... 29 3. Resource Description Framework (RDF)... 30 3.1 Εισαγωγή... 30 3.2 Το μοντέλο δεδομένων... 31 3.3 Κωδικοποιήσεις της RDF... 34 3.3.1 RDF/XML... 34 3.3.2 Terse RDF Triple Language (Turtle)... 36 3.3.3 N-Triples... 38 3.4 Κενοί κόμβοι (Blank Nodes)... 38 3.5 Υποστασιοποιημένες δηλώσεις... 39 3.6 RDF Δομές... 39 3.6.1 RDF Συλλογές... 39 3.6.2 RDF λίστες... 40 3.7 Σχέση XML και RDF... 41 3.8 RDF Validator... 43 3.9 SPARQL... 43 4 Γλώσσα περιγραφής σχημάτων RDFS... 45 4.1 Εισαγωγή... 45 4.2 Βασικά στοιχεία της RDFS... 47 4.3 Σύγκριση XML σχήματος με RDF σχήμα... 52 5 Web Ontology Language (OWL)... 53 5.1 Εισαγωγή... 53 5.2 Σύγκριση OWL με XML, RDF και RDFS... 53 5.3 Εκδόσεις της OWL... 55

Αξιοποίηση Τεχνολογιών Ανοικτού Κώδικα για την ανάπτυξη εφαρμογών Σημασιολογικού Ιστού 7 5.4 Δημιουργία OWL εγγράφου... 56 5.4.1 Κεφαλίδα (Header)... 56 5.4.2 Κλάσεις και στιγμιότυπα... 57 5.4.3 Iδιότητες... 59 6 Περιπτώσεις χρήσης του Σημασιολογικού Ιστού... 63 6.1 Εθνικό Οπτικοακουστικό Αρχείο (ΕΟΑ)... 63 6.2 Ευρωπαϊκό Πρόγραμμα Τηλεοπτικών Αρχείων VIDEO ACTIVE... 64 6.3 Ευρωπαϊκό Πρόγραμμα Euscreen... 64 6.4 Δημιουργία οντολογίας για την πολιτιστική κληρονομιά της Κανταβρίας... 65 6.5 Σημασιολογικό σύστημα για τα εθνικά αρχεία της Κορέας... 66 6.6 CRUZAR Σημασιολογική εφαρμογή για e-τουρισμό στην Zaragosa... 67 7 Σύστημα διαχείρισης αρχαιολογικών χώρων... 71 7.1 Εισαγωγή... 71 7.2 Λογισμικό-τεχνολογίες του συστήματος.... 71 7.3 DBpedia... 72 7.4 Jena API... 73 7.5 D2RQ/Update... 74 7.6 Τεχνική Περιγραφή... 76 7.6.1 Βάση Δεδομένων... 77 7.6.2 Πακέτα... 78 7.7 Μελλοντικές Βελτιώσεις... 82 8. Βιβλιογραφία... 83

Αξιοποίηση Τεχνολογιών Ανοικτού Κώδικα για την ανάπτυξη εφαρμογών Σημασιολογικού Ιστού 8 1. Ο Σημασιολογικός Ιστός 1.1 Εισαγωγή Ο Σημασιολογικός Ιστός (Semantic Web) είναι η εξέλιξη του ιστού όπως τον γνωρίζουμε μέχρι σήμερα (Syntactic Web). Απώτερος στόχος του είναι η βελτιωμένη αναζήτηση, η εκτέλεση σύνθετων διεργασιών και η εξατομίκευση της πληροφορίας σύμφωνα με τις ανάγκες του κάθε χρήστη. Εμπνευστής του είναι ο Tim Berners Lee που υπήρξε και ο εφευρέτης του σημερινού Web το 1989 και στη συνέχεια ιδρυτής της κοινοπραξίας W3C (World-Wide Web Consortium), που έχει σαν στόχο την ανάπτυξη των προδιαγραφών, των συνεργασιών και της τεχνολογίας του Web και του Σημασιολογικού Ιστού (ΣΙ). Ο ορισμός που δίνει ο ίδιος στο [1] είναι: The Semantic Web is an extension of the current Web in which information is given well-defined meaning, better enabling computers and people to work in cooperation. a web of data that can be processed directly and indirectly by machines. Προκειμένου να γίνει κατανοητός ο παραπάνω ορισμός, αρκεί μία σύντομη αναφορά στις πιο συνηθισμένες χρήσεις του ιστού. Οι κυριότερες δραστηριότητες των ανθρώπων στο διαδίκτυο είναι η αναζήτηση πληροφοριών, η επικοινωνία και το ηλεκτρονικό εμπόριο. Η αναζήτηση (searching) γίνεται από τις μηχανές αναζήτησης (search engines) με λέξεις- κλειδιά (keyword matching). Ωστόσο, παρά τη χρησιμότητά των μηχανών αναζήτησης, υπάρχουν προβλήματα ως προς τα επιστρεφόμενα αποτελέσματα. Για παράδειγμα, υψηλή ανάκληση και χαμηλή ακρίβεια, σε ορισμένες περιπτώσεις χαμηλή ή καθόλου ανάκληση, επιστρεφόμενα αποτελέσματα ευαίσθητα ως προς το λεξιλόγιο που έχει χρησιμοποιηθεί στο query κ.ά. Αλλά, ακόμα και αν υποτεθεί ότι η αναζήτηση είναι επιτυχής, κάποια προβλήματα παραμένουν. Πιο συγκεκριμένα, η επεξεργασία και ερμηνεία των επιστρεφόμενων πληροφοριών πρέπει να γίνει χειρωνακτικά, καθώς η αυτόματη μηχανική υποστήριξη, μέχρι στιγμής, είναι περιορισμένη. Αυτό έχει ως επακόλουθα κόστος σε χρόνο και κόπο, δυσχρηστία και περιορισμό του εξεταζόμενου μεγέθους εισερχομένων πληροφοριών στα ανθρώπινα μέτρα. Τα παραπάνω προβλήματα παρουσιάζονται, διότι ο υπολογιστής δεν έχει τη δυνατότητα να αντιλαμβάνεται τη σημασία των λέξεων που ανακτά, δεν μπορεί δηλαδή να ερμηνεύσει το περιεχόμενο τους. Στο Σημασιολογικό Ιστό, ωστόσο, δεν είναι απαραίτητη η ανθρώπινη διαμεσολάβηση για λειτουργίες όπως αναζητήσεις, συγκρίσεις, διαμοιρασμό κλπ. Ο υπολογιστής θα έχει τη δυνατότητα να καταλάβει τη σημασία της πληροφορίας και να την επεξεργαστεί προσθέτοντας στον υπάρχων ιστό σημασιολογικά δεδομένα. Αυτό μπορεί να γίνει ως εξής: αρχικά, κατασκευάζουμε ένα λεξιλόγιο που να περιλαμβάνει όλες τις σημαντικές λέξεις (concepts, classes) για ένα πεδίο ενδιαφέροντος (domain). Στο λεξιλόγιο αυτό

Αξιοποίηση Τεχνολογιών Ανοικτού Κώδικα για την ανάπτυξη εφαρμογών Σημασιολογικού Ιστού 9 συμπεριλαμβάνεται και η σημασιολογία των λέξεων. Για να προσθέσουμε σημασιολογία σε κάθε ιστοσελίδα, τη μαρκάρουμε με ένα δείκτη (pointer) που δείχνει στα μεταδεδομένά της, δηλαδή στο κατάλληλο λεξιλόγιο. Στη συνέχεια, όταν ο crawler της μηχανής αναζήτησης επισκεφθεί τη σελίδα, ανακαλύπτει το σύνδεσμο προς τα μεταδεδομένα της και έτσι ανακτά το λεξιλόγιο. Καθώς το λεξιλόγιο κατασκευάστηκε χρησιμοποιώντας δομημένα δεδομένα, ο crawler μπορεί να καταλάβει το λεξιλόγιο και κατά συνέπεια με τι ασχολείται η σελίδα. Ο Σημασιολογικός Ιστός είναι επέκταση του παρόντος ιστού και κατασκευάζεται συνδέοντας τις υπάρχουσες ιστοσελίδες με δομημένα δεδομένα, δηλαδή δεδομένα που μπορούν να προσπελαστούν και να διαβαστούν από τις μηχανές (machine readable), τα οποία περιέχουν τη σημασιολογία των μεταδεδομένων της σελίδας και άρα όλόκληρης της σελίδας. Έτσι, καθώς ο crawler μπορεί να αντιληφθεί τα δομημένα δεδομένα, μπορεί να εξάγει συμπεράσματα και να λάβει «έξυπνες» αποφάσεις. Τα βασικά κίνητρα για το Σημασιολογικό ιστό είναι δύο: η ενοποίηση των δεδομένων (data integration) και η παροχή «ευφυέστερης» υποστήριξης των εργασιών των χρηστών. Αν τα προγράμματα των υπολογιστών μπορούσαν να εξάγουν νέα δεδομένα και συμπεράσματα από τις πληροφορίες που παρέχει ο Παγκόσμιος Ιστός, τότε θα υποστήριζαν καλύτερα την προσπάθεια των χρηστών για αναζήτηση πληροφοριών, επιλογή κατάλληλων πηγών, συνδυασμό πληροφοριών από πολλαπλές πηγές, κ.ο.κ. Σύμφωνα με το W3C [2], ο Σημασιολογικός Ιστός παρέχει μια διεθνώς προσβάσιμη πλατφόρμα που επιτρέπει σε αυτοματοποιημένα εργαλεία, αλλά και σε ανθρώπους να επεξεργάζονται και να μοιράζονται δεδομένα. Προκειμένου να επιτευχθεί ο παραπάνω στόχος απαραίτητα είναι τα μεταδεδομένα (metadata) ή αλλιώς, η μεταπληροφορία, δηλαδή δεδομένα που αναφέρονται σε άλλα δεδομένα (data about data). Τα μεταδεδομένα κάνουν σαφή την πληροφορία που είναι αόριστη και την εκθέτουν προς αναζήτηση, επεξεργασία και ενοποίηση (integration). Πιο συγκεκριμένα, περιέχουν μέρος της σημασίας των δεδομένων, γεγονός που δικαιολογεί τον όρο «σημασιολογικός» στο Σημασιολογικό Ιστό. Στην επόμενη εικόνα [3] απεικονίζεται σε πολύ υψηλό επίπεδο η σχέση του Σημασιολογικού Ιστού με τον Παγκόσμιο Ιστό.

Αξιοποίηση Τεχνολογιών Ανοικτού Κώδικα για την ανάπτυξη εφαρμογών Σημασιολογικού Ιστού 10 Εικόνα 1 Σχέση WWW με Σημασιολογικό Ιστό 1.2 Δομή του Σημασιολογικού Ιστού Προκειμένου να υλοποιηθεί το όραμα του Σημασιολογικού Ιστού είναι απαραίτητος ένας αριθμός από ενδιάμεσα βήματα-επίπεδα. Πιο συγκεκριμένα, ο Tim Berners-Lee πρότεινε τα συστατικά μέρη του Σημασιολογικού Ιστού όπως φαίνονται στην παρακάτω εικόνα [4]. Εικόνα 2 Δομή του Σημασιολογικού Ιστού Τα επίπεδα αυτά δεν ανταποκρίνονται αυστηρά στην έννοια της αρχιτεκτονικής λογισμικού, αλλά αποτελούν τεχνολογικά επίπεδα λειτουργικότητας.

Αξιοποίηση Τεχνολογιών Ανοικτού Κώδικα για την ανάπτυξη εφαρμογών Σημασιολογικού Ιστού 11 Στο πρώτο επίπεδο βρίσκονται τα URIs (Uniform Resource Identifiers) που παρέχουν ένα πρότυπο τρόπο αναφοράς σε οντότητες και το Unicode, που πρόκειται για [5] ένα σύστημα κωδικοποίησης χαρακτήρων που σχεδιάστηκε για να υποστηρίζει την ανταλλαγή, επεξεργασία και εμφάνιση κειμένων σε οποιαδήποτε γλώσσα του κόσμου (αντιστοιχώντας ένα μοναδικό αριθμό σε κάθε χαρακτήρα). Στο δεύτερο επίπεδο βρίσκεται η XML. Η XML (extensible Markup Language) [6] είναι μια γλώσσα σήμανσης όπως και η HTML, δηλαδή ένα σύνολο κανόνων (ή διαφορετικά ένα πακέτο κατευθυντήριων γραμμών και συμβάσεων) για το σχεδιασμό μορφών κειμένου που διευκολύνουν τη δόμηση ενός εγγράφου (document). Η XML δεν επιβάλλει κανέναν σημασιολογικό περιορισμό, αλλά θέτει ένα σύνολο κανόνων και κατευθυντήριων γραμμών για το σχεδιασμό μορφών κειμένου οι οποίες να διευκολύνουν τη δόμηση των δεδομένων με τέτοιο τρόπο ώστε να είναι εύκολο να διαβαστούν και να επεξεργαστούν από ανθρώπους και προγράμματα. Κατ επέκταση, το XML Schema είναι μια γλώσσα που περιορίζει τη δομή των XML εγγράφων. Συγκεκριμένα, καθορίζει τη «γραμματική» για τη δημιουργία έγκυρων XML αρχείων. Τα αρχεία μπορεί να αναφέρονται σε διαφορετικούς χώρους ονομάτων (namespaces) για να διαχωρίζουν μεταξύ δύο ετικετών που αντιπροσωπεύουν διαφορετικά πράγματα, αλλά έχουν το ίδιο όνομα. Στη συνέχεια ακολουθούν άλλα πέντε επιπλέον επίπεδα τα οποία αναφέρονται αποκλειστικά στο Σημασιολογικό Ιστό. Στο τρίτο επίπεδο βρίσκεται το RDF (Resource Description Framework) που είναι ουσιαστικά το πρώτο επίπεδο που ασχολείται με τη σημασιολογία των δεδομένων. Πρόκειται για ένα μοντέλο περιγραφής και επεξεργασίας μεταδεδομένων και παρέχει τη δυνατότητα διαλειτουργικότητας μεταξύ εφαρμογών που ανταλλάσσουν πληροφορίες στο Διαδίκτυο. Χρησιμοποιεί URIs για την αναγνώριση διαδικτυακών πόρων καθώς και ένα μοντέλο κατευθυνόμενου ψευδο-γράφου με ετικέτες για την περιγραφή των σχέσεων μεταξύ αυτών των πόρων. Το RDF Schema πρόκειται για μια γλώσσα που αποτελεί τη σημασιολογική επέκταση της RDF και μπορεί να θεωρηθεί ως βασική για τη συγγραφή οντολογιών. Οργανώνει τα δεδομένα του ιστού σε κλάσεις και περιλαμβάνει σχέσεις τύπου is-a μεταξύ κλάσεων και μεταξύ ιδιοτήτων, καθώς και περιορισμούς πεδίου/εμβέλειας για τις ιδιότητες. Παρέχει ένα απλό πλαίσιο συλλογιστικής για το συμπερασμό των τύπων των πόρων. Το RDF Schema όπως και το RDF είναι κωδικοποιημένα σε XML, χωρίς όμως να εφαρμόζουν υποχρεωτικά τη δενδρική δομή της XML.

Αξιοποίηση Τεχνολογιών Ανοικτού Κώδικα για την ανάπτυξη εφαρμογών Σημασιολογικού Ιστού 12 Στο τέταρτο επίπεδο βρίσκονται οι οντολογίες. Στο [7] δίνεται ο εξής ορισμός για την οντολογία από τον Gruber: «an explicit formalization of a shared understanding of a conceptualization». Υπάρχουν διάφορες γλώσσες αναπαράστασης οντολογιών. Όλες όμως παρουσιάζουν ομοιότητες. Περιλαμβάνουν ένα σύνολο εννοιών, μια ιεραρχία και συσχετίσεις μεταξύ των εννοιών. Οι γλώσσες αυτές παρέχουν πιο πολύπλοκους περιορισμούς στους τύπους των πόρων και τις ιδιότητές τους σε σύγκριση με την RDFS. Οι οντολογίες μπορούν να χωριστούν σε δύο κατηγορίες. Η μια κατηγορία περιλαμβάνει οντολογίες που αποτελούν απλές ταξινομήσεις, και ονομάζονται lightweight οντολογίες. Στη δεύτερη κατηγορία ανήκουν οι οντολογίες οι οποίες μοντελοποιούν έννοιες και τις μεταξύ τους σχέσεις με τη χρήση αξιωμάτων και περιορισμών. Οι οντολογίες που ανήκουν σε αυτή την κατηγορία ονομάζονται heavyweight οντολογίες. Στο πέμπτο επίπεδο βρίσκεται η λογική που παρέχει τη δυνατότητα αυτοματοποιημένου συλλογισμού και συμπερασμών βάσει των πληροφοριών που δομούνται σε μία οντολογία. Η λογική χρησιμοποιείται για την ανακάλυψη γνώσης που δε δίνεται ξεκάθαρα. Στο έκτο επίπεδο βρίσκεται η τεκμηρίωση (proof). Θα πρέπει τα συμπεράσματα που έχουν εξαχθεί από δηλώσεις (statements) που γίνονται στο Σημασιολογικό Ιστό, να οδηγούν πίσω στις υποθέσεις που τα προκάλεσαν. Οι δημιουργοί των δηλώσεων θα πρέπει να μπορούν να παρέχουν τεκμήρια της εγκυρότητας των δηλώσεών τους τα οποία θα είναι ελέγξιμα από κάποια μηχανή. Στο επίπεδο αυτό δεν είναι απαραίτητο η μηχανή του αναγνώστη της δήλωσης να μπορεί να βρει μόνη της τις απαραίτητες αποδείξεις για την εγκυρότητα ή μη της δήλωσης, αλλά απλώς να μπορεί να ελέγξει τις αποδείξεις που παρέχονται από το δημιουργό της δήλωσης. Τέλος, στο έβδομο επίπεδο βρίσκεται η εμπιστοσύνη (trust), όπου σε συνδυασμό με την τεχνολογία των ψηφιακών υπογραφών, θα πρέπει να εξασφαλιστεί ότι οι πληροφορίες που διακινούνται, επεξεργάζονται και συμπεραίνονται στο Σημασιολογικό Ιστό είναι αξιόπιστες. Τα ψηφιακά πιστοποιητικά, παρέχουν αποδείξεις ότι ένα συγκεκριμένο πρόσωπο έχει γράψει (ή συμφωνεί με) ένα έγγραφο ή μία πρόταση. Με αυτόν τον τρόπο, μπορούμε να ξέρουμε ποιος έχει δημιουργήσει (ή έχει εγκρίνει), για παράδειγμα, κάποιες RDF προτάσεις που μας ενδιαφέρουν και να ρυθμίσουμε ανάλογα ένα πρόγραμμα επεξεργασίας των προτάσεων, σχετικά με το ποιες «υπογραφές» μπορεί να εμπιστεύεται και ποιες όχι.

Αξιοποίηση Τεχνολογιών Ανοικτού Κώδικα για την ανάπτυξη εφαρμογών Σημασιολογικού Ιστού 13 1.3 Μεταδεδομένα Τα μεταδεδομένα [8, 9 ] είναι «δεδομένα για τα δεδομένα». Πιο συγκεκριμένα, πρόκειται για μία συστηματική-δομημένη μέθοδο περιγραφής πόρων βελτιώνοντας την προσπέλασή τους. Είναι δομημένα δεδομένα τα οποία περιγράφουν τα χαρακτηριστικά ενός αντικειμένου. Το πρόθεμα «μετα» υποδηλώνει περιγραφή σε κάποιο ανώτερο επίπεδο ή πιο βασικό. Τα μεταδεδομένα είναι ο συνδετικός κρίκος μεταξύ του περιεχομένου του πόρου και της σημασίας του περιεχομένου. Τα μεταδεδομένα ενός εγγράφου του ιστού μπορεί να περιλαμβάνουν: τον τίτλο του, το δημιουργό του, ημερομηνία δημιουργίας κ.ά. Καθένας θα μπορούσε να προσθέσει τα δικά του χαρακτηριστικά στα μεταδεδομένα. Τότε το αποτέλεσμα θα ήταν κάθε έγγραφο του ιστού να έχει δική του δομή και έτσι να είναι αδύνατη η επεξεργασία των μεταδεδομένων από αυτόματα λογισμικά σε μεγάλη κλίμακα. Γι αυτό το λόγο έχουν δημιουργηθεί πρότυπα μεταδεδομένων, τα οποία καθορίζουν ότι μια εγγραφή μεταδεδομένων αποτελείται από ένα πλήθος προ-ορισμένων στοιχείων που αναπαριστούν συγκεκριμένες ιδιότητες ενός αντικειμένου/πηγής και καθένα στοιχείο μπορεί να λάβει μία ή περισσότερες τιμές. Αυτού του είδους τα πρότυπα καλούνται σχήματα μεταδεδομένων. Κάθε σχήμα μεταδεδομένων, συνήθως, έχει ως χαρακτηριστικά έναν περιορισμένο αριθμό στοιχείων, τα ονόματά τους και τη σημασία τους. Συνήθως, η σημασιολογική περιγραφή αναφέρεται στα περιεχόμενα, το χώρο ύπαρξης, τις φυσικές ιδιότητες, τον τύπο (π.χ. κείμενο ή εικόνα, χάρτης ή μοντέλο) και τη μορφή (π.χ. εκτυπωμένο αντίγραφο, ηλεκτρονικό αρχείο). Χαρακτηριστικά στοιχεία μεταδεδομένων που υποστηρίζουν την πρόσβαση σε έγγραφα περιλαμβάνουν το συγγραφέα, το χρόνο και τόπο που εκδόθηκε καθώς και τις θεματικές ενότητες που καλύπτονται. Εάν το υλικό των πληροφοριών βρίσκεται σε μη ψηφιακή μορφή (π.χ. εκτυπωμένη έκδοση) παρέχονται επιπρόσθετα μεταδεδομένα που βοηθούν στον εντοπισμό του υλικού αυτού, όπως για παράδειγμα τηλέφωνα βιβλιοθηκών κ.ά. Το Dublin Core είναι ένα σχήμα μεταδεδομένων και περιέχει 13 στοιχεία που στη συνέχεια αυξήθηκαν σε 15. Προτάθηκε ως ο ελάχιστος αριθμός μεταδεδομένων που απαιτούνται προκειμένου να διευκολυνθεί η ανακάλυψη εγγράφων στο διαδίκτυο. Μερικά άλλα δημοφιλή σχήματα μεταδεδομένων είναι τα AACR2 (Anglo-American Cataloging Rules), GILS (Government Information Locator Service), EAD (Encoded Archives Description), IMS (IMS Global Learning Consortium), AGLS (Australian Government Locator Service). Τα μεταδεδομένα μπορούν να συνδεθούν με μια πηγή πληροφοριών είτε ενσωματώνοντάς τα μέσα στην ίδια την πηγή με χρήση ειδικών META- ετικετών είτε ως ένα ξεχωριστό έγγραφο που

Αξιοποίηση Τεχνολογιών Ανοικτού Κώδικα για την ανάπτυξη εφαρμογών Σημασιολογικού Ιστού 14 έχει κάποιο σύνδεσμο προς αυτήν, είτε να βρίσκονται μέσα σε μια βάση δεδομένων και από εκεί να συνδέονται με την πηγή. Ο πιο απλός τρόπος είναι ο πρώτος, δηλαδή οι δημιουργοί των σελίδων να προσθέτουν HTML <meta> ετικέτες στο <head>...</head> τμήμα της ιστοσελίδας κατά τη δημιουργία της. Απ την άλλη, η δημιουργία μεταδεδομένων κατευθείαν σε βάση δεδομένων και η σύνδεσή τους με την πηγή πληροφοριών κερδίζει έδαφος ως μια δραστηριότητα ανεξάρτητη από τη δημιουργία των ίδιων των πηγών. Επιπλέον υπάρχουν διαθέσιμα εργαλεία που παράγουν μεταδεδομένα για μία υπάρχουσα ιστοσελίδα. Για παράδειγμα, ένα τέτοιο εργαλέιο βρίσκεται στη διεύθυνση http://www.ukoln.ac.uk/metadata/dcdot/, ονομάζεται Dublin Core metadata editor και παράγει αυτόματα Dublin Core μεταδεδομένα για οποιαδήποτε υποβληθείσα ιστοσελίδα. Το ζήτημα της αξιοποίησης των μεταδεδομένων μοιάζει να βρίσκεται σε αδιέξοδο, καθώς όσοι εκδίδουν πληροφορίες δεν επενδύουν στην παροχή μεταδεδομένων, εφόσον δεν τα αξιοποιούν οι υπάρχουσες μηχανές αναζήτησης και επιπλέον οι μηχανές αναζήτησης δεν επιδιώκουν να συλλέξουν μεταδεδομένα, εφόσον δεν υπάρχουν αρκετά διαθέσιμα. Συνάμα, πάντα υπάρχει το ζήτημα της αξιοπιστίας των μεταπληροφοριών που παρέχονται από τους εκδότες οι οποίοι πάντα θα προσπαθούν να αυξήσουν την αξιολόγηση των δεδομένων τους από τις μηχανές αναζήτησης, μεταχειριζόμενοι θεμιτά και αθέμιτα μέσα. Παρά τις δυσκολίες, τα μεταδεδομένα μπορούν αναμφισβήτητα να βοηθήσουν στην εξάλειψη της ανικανότητας των μηχανών αναζήτησης να εντοπίσουν τις καλύτερες πηγές δεδομένων και να παρέχουν καλύτερα αποτελέσματα στους χρήστες τους. 1.4 Οντολογίες Οι οντολογίες [8, 9] αποτελούν το δομικό στοιχείο του Σημασιολογικού Ιστού. Με τον όρο οντολογία εννοούμε την ακριβή περιγραφή πραγμάτων και εννοιών καθώς και των σχέσεων που υπάρχουν ανάμεσα τους. Ο πιο γνωστός ορισμός για την οντολογία, στην επιστήμη των υπολογιστών, πάνω στον οποίο στηρίχτηκαν και άλλοι ορισμοί, δόθηκε από τον Gruber [7, 10] και είναι ο ακόλουθος: «An ontology is a formal, explicit specification of a conceptualization.» Στον ορισμό αυτό ο όρος conceptualization αναφέρεται σε ένα αφηρημένο μοντέλο κάποιου φαινομένου στον κόσμο. Μια οντολογία είναι ο προσδιορισμός των χαρακτηριστικών (specification) ενός τέτοιου μοντέλου, γιατί δεν αποτελεί την τελική μορφή αναπαράστασης που θα ενσωματωθεί σε ένα σύστημα λογισμικού, αλλά ένα πιο αφηρημένο μοντέλο που χρησιμοποιείται στα πρώτα στάδια της διαδικασίας ανάπτυξης λογισμικού και διατηρείται

Αξιοποίηση Τεχνολογιών Ανοικτού Κώδικα για την ανάπτυξη εφαρμογών Σημασιολογικού Ιστού 15 ανεξάρτητα από το ίδιο το λογισμικό. Η οντολογία είναι ακόμα, ξεκάθαρα σαφής (explicit), καθώς οι έννοιες που χρησιμοποιούνται και οι περιορισμοί στη χρήση τους ορίζονται ξεκάθαρα και με σαφήνεια αντί να ορίζονται έμμεσα στο λογισμικό. Τέλος, μια οντολογία είναι τυπική (formal) γιατί πρέπει να μπορεί να διαβαστεί από μηχανές. Ο ορισμός της οντολογίας που δίνει το W3C είναι ο εξής: «Μία οντολογία ορίζει τους όρους που χρησιμοποιούνται για να περιγράψουν και να αναπαραστήσουν μια περιοχή γνώσης» [8]. Αναλύοντας τον παραπάνω ορισμό καταλήγουμε στα παρακάτω συμπεράσματα. - Μια οντολογία δε μπορεί να αναπαραστήσει όλη τη γνώση, αλλά ένα συγκεκριμένο τομέα γνώσης (domain specific). Ένας τομέας είναι μια συγκεκριμένη θεματική περιοχή ή μια σφαίρα γνώσης όπως π.χ. ιατρική, εκπαίδευση κ.τ.λ. - Μια οντολογία περιέχει όρους και τις σχέσεις μεταξύ τους. Οι όροι καλούνται και κλάσεις (classes) ή έννοιες (concepts) εναλλακτικά. Οι σχέσεις μεταξύ των κλάσεων δηλώνονται χρησιμοποιώντας ιεραρχική δομή. Οι υπερκλάσεις καλύπτουν υψηλότερου επιπέδου έννοιες, ενώ οι υποκλάσεις πιο εξειδικευμένες έννοιες οι οποίες όμως κληρονομούν όλα τα χαρακτηριστικά αυτών των υπερκλάσεων. - Μια οντολογία περιέχει ιδιότητες (properties) που περιγράφουν τα χαρακτηριστικά των εννοιών και συσχετίζουν διαφορετικές κλάσεις μεταξύ τους. Συνεπώς, οι σχέσεις μεταξύ των κλάσεων δεν είναι αποκλειστικά αυτές της υπερκλάσης και της υποκλάσης, αλλά και σχέσεις που εκφράζονται από τις ιδιότητες. Η οντολογία καθορίζει τον τύπο των τιμών των ιδιοτήτων. Μια οντολογία είναι μια κατανοητή από μηχανές αναπαράσταση της ορολογίας μιας θεματικής περιοχής και των σχέσεων μεταξύ των όρων που ανήκουν στην περιοχή αυτή. Το κίνητρο για την ανάπτυξη, εφαρμογή και διάδοση των οντολογιών είναι η καταγραφή γνώσης με έναν ξεκάθαρο και διακριτό τρόπο, δυνατό για επεξεργασία και ανάγνωση τόσο από ανθρώπους όσο και από μηχανές. Βασικός σκοπός της οντολογίας είναι να κωδικοποιεί ένα συγκεκριμένο πεδίο (domain) γνώσης, με τέτοιο τρόπο ώστε να είναι κατανοητό από μηχανές. Οι τεχνολογίες που χρησιμοποιούνται για την κατασκευή υπολογιστικών συστημάτων αλλάζουν συχνά, σε αντίθεση με την αναπαράσταση μιας θεματικής ενότητας με τη μορφή μιας οντολογίας, η οποία είναι αρκετά πιο ανεπηρέαστη στις τεχνολογικές εξελίξεις και πιο ελεύθερη από περιορισμούς υλοποίησης των διάφορων εφαρμογών. Συνεπώς, η χρήση οντολογίας αποσκοπεί στη διαχρονικότητα των πληροφοριών, την ανεξαρτησία των

Αξιοποίηση Τεχνολογιών Ανοικτού Κώδικα για την ανάπτυξη εφαρμογών Σημασιολογικού Ιστού 16 δεδομένων από την εκάστοτε υλοποίηση και την επαναχρησιμοποίησή της σε πολλαπλές ξεχωριστές εφαρμογές. Μερικά από τα οφέλη χρήσης των οντολογιών είναι τα παρακάτω: - Παρέχουν ορισμούς για συγκεκριμένες έννοιες σε ένα πεδίο ενδιαφέροντος(domain). - Παρέχουν έναν τρόπο επαναχρησιμοποίησης της γνώσης του πεδίου (knowledge domain). - Σε συνεργασία με τις γλώσσες περιγραφής οντολογιών παρέχουν έναν τρόπο κωδικοποίησης της γνώσης ώστε να είναι κατανοητή από μηχανές. - Καθιστούν εφικτή την αυτόματη μηχανική επεξεργασία των δεδομένων και της σημασιολογίας τους σε μεγάλη κλίμακα. Απαραίτητο βήμα για κάποιον που σκοπεύει να χρησιμοποιήσει μια οντολογία είναι αρχικά ο έλεγχος μεταξύ των υπαρχόντων οντολογιών στο Παγκόσμιο Ιστό. Κατ αυτό τον τρόπο μπορεί να αποφευχθεί ο κόπος σχεδιασμού μιας νέας οντολογίας και επιπλέον, ίσως να υπάρξει κάποιο όφελος από την ανταλλαγή γνώσεων μεταξύ των διάφορων εφαρμογών που ήδη τη χρησιμοποιούν και της νέας υπό ανάπτυξη εφαρμογής. Γενικά, ο βαθμός επαναχρησιμοποίησης μιας οντολογίας εξαρτάται και από το πόσο γενικευμένη είναι. Όσο πιο γενική είναι μια έννοια που περιγράφεται, τόσο πιο πιθανή είναι η επαναχρησιμοποίησή της από διαφορετικές εφαρμογές. Καθώς οι γενικοί όροι συνήθως τοποθετούνται ψηλά στα επίπεδα της ιεραρχικής κληρονομικότητας, οι συλλογές που περιγράφουν τέτοιες έννοιες είναι γνωστές ως άνω οντολογίες (upper ontologies). Μερικές από τις πιο γνωστές είναι οι CYC, OpenCYC, Sumo, Wordnet, με την τελευταία να είναι περισσότερο χρήσιμη στην κατασκευή οντολογιών παρά ως οντολογία για απευθείας χρήση σε κάποια εφαρμογή. 1.4.1 Συστατικά οντολογίας Στην ενότητα αυτή περιγράφονται τα κύρια συστατικά μιας οντολογίας με χρήση των Περιγραφικών Λογικών (Description Logics-DL). Ο όρος Description Logic αναφέρεται σε ένα υποσύνολο της Λογικής Πρώτης Τάξης (First Order Logic), στο οποίο στηρίχθηκαν οι γλώσσες του Σημασιολογικού Ιστού, όπως η OWL, που δεν υποστηρίζει την ύπαρξη ελεύθερων μεταβλητών. Μια DL οντολογία [11] αποτελείται από τρία είδη συστατικών: κλάσεις (classes ή concepts), σχέσεις (roles ή properties) και στιγμιότυπα (individuals ή instances).

Αξιοποίηση Τεχνολογιών Ανοικτού Κώδικα για την ανάπτυξη εφαρμογών Σημασιολογικού Ιστού 17 Οι κλάσεις αναπαριστούν έννοιες, αφηρημένες ή συγκεκριμένες. Είναι σύνολα από στιγμιότυπα και συνήθως είναι οργανωμένες σε μια ιεραρχία, η οποία είναι γνωστή και ως ταξινομία (taxonomy). Οι κλάσεις στις DL οντολογίες διακρίνονται στις εξής κατηγορίες: - Primitive: Στην κατηγορία αυτή ανήκουν οι κλάσεις οι οποίες περιγράφονται μόνο από αναγκαίες συνθήκες (necessary conditions). - Defined: Στην κατηγορία αυτή ανήκουν οι κλάσεις οι οποίες περιγράφονται από ικανές και αναγκαίες συνθήκες (necessary and sufficient conditions). Οι σχέσεις (properties) αναπαριστούν δυαδικές συσχετίσεις ανάμεσα στα στιγμιότυπα των κλάσεων. Οι σχέσεις μπορεί να έχουν ένα πεδίο ορισμού (domain) και ένα πεδίο τιμών (range) και συνδέουν στιγμιότυπα από το πεδίο ορισμού με στιγμιότυπα από το πεδίο τιμών. Το πεδίο τιμών μπορεί να είναι μια κλάση ή ένας τύπος δεδομένων. Ανάλογα με το είδος του πεδίου τιμών οι σχέσεις διακρίνονται στις ακόλουθες κατηγορίες: - Relations: Στην κατηγορία αυτή ανήκουν οι σχέσεις που συνδέουν ένα στιγμιότυπο με ένα άλλο στιγμιότυπο. - Attributes: Στην κατηγορία αυτή ανήκουν οι σχέσεις που συνδέουν ένα στιγμιότυπο με έναν literal τύπο δεδομένων (π.χ. αριθμητικό, συμβολοσειρά, κτλ). Ομοίως με τις κλάσεις και οι σχέσεις οργανώνονται σε ιεραρχίες. Έτσι υπάρχουν properties και sub-properties. Τέλος, τα στιγμιότυπα αποτελούν διακριτά αντικείμενα-μέλη των κλάσεων. 1.4.2 Εργαλεία ανάπτυξης οντολογιών Εκτός από γλώσσες ορισμού οντολογιών υπάρχουν και εργαλεία με γραφικό περιβάλλον που διευκολύνουν τη δημιουργία οντολογιών. Μερικά από αυτά είναι: Protégé [31], WebODE [32], Swoop [33], κ.ά. Το Protégé [34] αποτελεί ένα ευρέως διαδεδομένο εργαλείο δημιουργίας οντολογιών που έχει αναπτυχθεί στο πανεπιστήμιο του Stanford. Μέσω ενός γραφικού περιβάλλοντος επιτρέπει τη δημιουργία σύνθετων οντολογιών και την περιήγηση σε αυτές. Η ευρεία χρήση του Protégé σε συνδυασμό με την ανοικτή του αρχιτεκτονική έχει οδηγήσει στην δημιουργία ενός μεγάλου αριθμού από plug-ins που επεκτείνουν τις δυνατότητές του και το καθιστούν μια ολοκληρωμένη σουίτα ανάπτυξης και διαχείρισης οντολογιών. Στην επόμενη εικόνα παρουσιάζεται ένα στιγμιότυπο του Protégé που αναπαριστά τις κλάσεις μιας οντολογίας.

Αξιοποίηση Τεχνολογιών Ανοικτού Κώδικα για την ανάπτυξη εφαρμογών Σημασιολογικού Ιστού 18 Εικόνα 3 Protégé 1.5 Παραδείγματα χρήσης του Σημασιολογικού Ιστού Ως πρώτο παράδειγμα χρήσης των τεχνολογιών του Σημασιολογικού Ιστού αποτελούν τα σημασιολογικά Wikis. Tα σημασιολογικά Wikis ονομάζονται έτσι καθώς πέρα από την εισαγωγή-επεξεργασία περιεχομένου επιτρέπουν και την εισαγωγή της σημασιολογίας (semantics) του περιεχομένου, πράγμα το οποίο δίνει τη δυνατότητα σε χρήστες και σε εφαρμογές να θέσουν ερωτήματα (query) στο wiki. Επιπλέον, η σημασιολογία των περιεχομένων του wiki μπορεί να εξαχθεί σε αρχείο ή σε μια εξωτερική εφαρμογή. Παράδειγμα σημασιολογικού wiki είναι το http://semantic-mediawiki.org. Η σημασιολογική αναζήτηση είναι ένα από τα πιο τρανταχτά παραδείγματα αξιοποίησης του Σημασιολογικού Ιστού. Παράδειγμα τέτοιας μηχανής αναζήτησης είναι η True Knowledge. Στην επόμενη εικόνα παρουσιάζεται το αποτέλεσμα ενός query που τέθηκε στη μηχανή.

Αξιοποίηση Τεχνολογιών Ανοικτού Κώδικα για την ανάπτυξη εφαρμογών Σημασιολογικού Ιστού 19 Εικόνα 4 TrueKnowledge Η Swoogle από την άλλη μεριά είναι μηχανή αναζήτησης σημασιολογικών εγγράφων (Semantic Web Documents, SWDs). Τα SWDs περιγράφουν οντολογίες, δηλαδή συνήθως πρόκειται για αρχεία γραμμένα σε RDF ή OWL. Ο crawler της Swoogle για κάθε SWD που ανακαλύπτει εξάγει τα μεταδεδομένα του και το δεικτοδοτεί. Το FOAF project καθιστά δυνατή την ανάγνωση και την κατανόηση από μηχανές προσωπικών πληροφοριών που περιέχονται στις ιστοσελίδες, όπως π.χ. όνομα, επίθετο, e-mail κ.ά. Πρόκειται δηλαδή για ένα λεξιλόγιο (οντολογία) που περιγράφει προσωπικές πληροφορίες.

Αξιοποίηση Τεχνολογιών Ανοικτού Κώδικα για την ανάπτυξη εφαρμογών Σημασιολογικού Ιστού 20 2. XML 2.1 Εισαγωγή Η XML (extensible Markup Language) είναι μια μετα-γλώσσα, δηλαδή γλώσσα που μπορεί να χρησιμοποιηθεί για να δημιουργήσει άλλες γλώσσες. Παρέχει μια βασική δομή και ένα σύνολο κανόνων για την ανάπτυξη οποιασδήποτε γλώσσας σήμανσης (markup language), η οποία μπορεί να μοντελοποιήσει οποιοδήποτε είδος πληροφορίας, συμπεριλαμβανομένου και περιεχομένου του Παγκόσμιου Ιστού (Web content). Η XML αποτελεί ίσως τη βασικότερη γλώσσα για τις Web Services, καθώς αποτελεί το ανοιχτό πρότυπο για την ανταλλαγή δεδομένων μεταξύ των διαφόρων εφαρμογών και βάσεων δεδομένων στο δίκτυο. Η XML έχει απλοποιήσει τη διαδικασία ορισμού και χρησιμοποίησης των μεταδεδομένων. Πιο συγκεκριμένα, ένα XML έγγραφο είναι ένα δομημένο έγγραφο που αναπαριστά τις πληροφορίες που θα ανταλλαγούν, καθώς επίσης και των κωδικοποιημένων μεταδεδομένων τους. Όπως και στην HTML (HyperText Markup Language), τα δεδομένα προσδιορίζονται με τη χρήση ετικετών (αναγνωριστικά που περιέχονται μεταξύ δύο <..>). Συνολικά, οι ετικέτες σημείωσης είναι γνωστές ως markup. Σε αντίθεση όμως με την HTML, η XML χρησιμοποιεί τις ετικέτες όχι για να καθορίσει πως να εμφανίζονται τα δεδομένα στην οθόνη, αλλά για να τα προσδιορίσει. Μια XML ετικέτα λειτουργεί ως μια ονομασία πεδίου στο αντίστοιχο πρόγραμμα τοποθετώντας μια ταμπέλα σε ένα κομμάτι δεδομένων που το προσδιορίζει π.χ. <message> </message>. Στην XML δεν υπάρχει προκαθορισμένο σύνολο ετικετών, συνεπώς δε μπορεί να υπάρξει και προκαθορισμένη σημασιολογία. Στην πιο απλή του μορφή, ένα XML έγγραφο αποτελείται από ένα ή περισσότερα στοιχεία (elements), που μπορούν να οργανωθούν σε εμφωλευμένη ιεραρχία. Ένα στοιχείο αποτελείται από μια ετικέτα ανοίγματος (opening tag) ακολουθούμενη από τα δεδομένα και από μία ετικέτα κλεισίματος (closing tag). Τα κυριότερα συστατικά μέρη [9] ενός XML εγγράφου είναι τα εξής: - Δήλωση της XML (XML Declaration). - Document Type Definition ή XML Schema. - Στοιχεία (Elements). - Ιδιότητες (Attributes). - Σημειώσεις (Notations). - Οντότητα (Entity).

Αξιοποίηση Τεχνολογιών Ανοικτού Κώδικα για την ανάπτυξη εφαρμογών Σημασιολογικού Ιστού 21 2.2 Συστατικά ενός XML εγγράφου 2.2.1 XML Declaration Στην αρχή κάθε XML εγγράφου υπάρχει ο πρόλογος. Στην πιο απλή του μορφή, ο πρόλογος αποτελείται από μία δήλωση XML η οποία ορίζει ότι πρόκειται για έγγραφο XML και την έκδοση της XML στην οποία έχει συνταχθεί. Ο πρόλογος μπορεί να περιλαμβάνει επιπρόσθετη πληροφορία όπως την κωδικοποίηση που χρησιμοποιείται και οδηγίες επεξεργασίας. Στη συνέχεια παρουσιάζεται ένα παράδειγμα μιας καλοσχηματισμένης XML δήλωσης: <?xml version = 1.0 encoding= iso-8859-1 standalone= yes?> Ο πρόλογος εκτός από την XML δήλωση μπορεί να περιλαμβάνει και μία προαιρετική αναφορά σε εξωτερικά έγγραφα (DTD) που περιγράφουν τη δομή του XML εγγράφου. 2.2.2 Document Type Definition (DTD) Ένα DTD είναι μία συλλογή παραμέτρων που περιγράφουν έναν τύπο εγγράφου και περιλαμβάνει πληροφορίες σχετικά με την αλληλουχία, τη συχνότητα και την ιεραρχία των στοιχείων και των ιδιοτήτων τους που περιέχονται στο XML έγγραφο. Το DTD χρησιμοποιείται για την επικύρωση (validation) του XML εγγράφου. Εάν στο XML έγγραφο υπάρχει αναφορά σε DTD, τότε ο parser κάνει έλεγχο εγκυρότητας του XML εγγράφου, δηλαδή συγκρίνει το έγγραφο με το συγκεκριμένο μοντέλο εγγράφου προκειμένου να διαπιστωθεί αν το XML έγγραφο συμμορφώνεται με τις οδηγίες του DTD και περιέχει τα απαιτούμενα δεδομένα. Η δήλωση του DTD εγγράφου ξεκινά με το αλφαριθμητικό «<!DOCTYPE» το οποίο ακολουθείται από το στοιχείο-ρίζα. Στη συνέχεια ακολουθεί το URI του DTD προκειμένου να γνωρίζει ο XML parser που θα το βρει. Το DTD μπορεί να βρίσκεται τοπικά π.χ. στον εξυπηρετητή που βρίσκεται το έγγραφο ή να βρίσκεται σε μία άλλη δικτυακή τοποθεσία. Στην πρώτη περίπτωση δηλώνεται το όνομα του αρχείου με την ετικέτα SYSTEM, ενώ στη δεύτερη δηλώνεται το URL της τοποθεσίας που βρίσκεται μαζί με την ετικέτα PUBLIC. Τέλος, ακολουθεί ένα εσωτερικό υποσύνολο (internal subset), το οποίο περιέχει δηλώσεις που χρησιμοποιούνται αποκλειστικά και μόνο από αυτό το έγγραφο. Ένα παράδειγμα δήλωσης ενός εξωτερικού εγγράφου που περιγράφει τη δομή ενός XML εγγράφου και που βρίσκεται τοπικά στο σύστημα είναι το εξής: <!DOCTYPE writer SYSTEM "writers.dtd">

Αξιοποίηση Τεχνολογιών Ανοικτού Κώδικα για την ανάπτυξη εφαρμογών Σημασιολογικού Ιστού 22 2.2.3 Στοιχεία (Elements) Τα στοιχεία είναι το κύριο δομικό συστατικό ενός XML εγγράφου με τα οποία περιγράφονται τα δεδομένα. Μπορούν να περιέχουν είτε το κενό, είτε απλό κείμενο είτε άλλα στοιχεία. Μπορούν να οργανωθούν σε εμφωλευμένη ιεραρχία. Το στοιχείο-ρίζα είναι μόνο ένα και είναι το πρώτο που εμφανίζεται στο έγγραφο και περιέχει όλα τα υπόλοιπα. Ακολουθεί ένα παράδειγμα στοιχείων που είναι οργανωμένα ιεραρχικά. <BOOKCATALOG> <BOOK> <ProductID>1</ProductID> <Author>Mrs</Author> <Title> Semantic Web</Title> </BOOK> </BOOKCATALOG> Παράδειγμα 1 BOOKCATALOG 2.2.4 Ιδιότητες (Attributes) Οι ιδιότητες δίνουν επιπρόσθετες πληροφορίες για το στοιχείο που περιγράφουν. Οι ιδιότητες αποτελούνται από ζευγάρια του τύπου «ονόμα-τιμή». Χαρακτηριστικό παράδειγμα ιδιοτήτων αποτελούν τα namespaces. Ακολουθεί παράδειγμα όπου ο τίτλος του βιβλίου έχει προστεθεί ως ιδιότητα. <ΒΟΟΚ Title= Semantic Web ></BOOK> 2.2.5 Σχόλια Τα σχόλια στα XML έγγραφα προστίθενται όπως ακριβώς και στην HTML και φαίνονται με έντονα στο ακόλουθο παράδειγμα: <BOOKCATALOG> <BOOK> <ProductID>1</ProductID> <Author>Mrs</Author> <!-- This is a comment -->

Αξιοποίηση Τεχνολογιών Ανοικτού Κώδικα για την ανάπτυξη εφαρμογών Σημασιολογικού Ιστού 23 <Title> Semantic Web</Title> </BOOK> </BOOKCATALOG> Παράδειγμα 2 BOOKCATALOG σχόλια 2.2.6 Οδηγίες επεξεργασίας Οι εντολές επεξεργασίας είναι ειδικές οδηγίες που περιλαμβάνονται στο έγγραφο από το σχεδιαστή και αποτελούν υπόδειξη για τις εφαρμογές που θα το χρησιμοποιήσουν σχετικά με το πώς θα πρέπει ή είναι επιθυμητό να χειριστούν τα στοιχεία του. Οι οδηγίες επεξεργασίας έχουν τη μορφή: <?στόχος οδηγίες>, όπου στόχος είναι η εφαρμογή η οποία αναμένεται να κάνει την επεξεργασία και οδηγίες είναι μια ακολουθία χαρακτήρων που εμπεριέχουν τις πληροφορίες ή εντολές προς την εφαρμογή. Καθώς οι οδηγίες είναι προσανατολισμένες προς την εκάστοτε εφαρμογή, ένα XML αρχείο θα μπορούσε να περιέχει πολλαπλές οδηγίες επεξεργασίας που να ενημερώνουν διαφορετικές εφαρμογές στο πώς να κάνουν παρόμοια πράγματα με διαφορετικό τρόπο. Εάν χρησιμοποιούνταν περισσότερα του ενός προγράμματα παρουσιάσεως ίσως να χρειάζονταν πολλαπλές διαφορετικές εκδόσεις των οδηγιών επεξεργασίας. Η παρακάτω εντολή είναι μία υπόδειξη για τις εφαρμογές να χρησιμοποιήσουν ένα χαρακτηριστικό σύνολο στυλ για τη μορφοποίηση τον στοιχείων του. <?stylesheet type= text/css href= mystyle.css?> Παράδειγμα 3 Οδηγίες επεξεργασίας 2.3 Σύνταξη της XML Λέμε ότι ένα XML έγγραφο είναι ορθά σχηματισμένο (well-formed) όταν ακολουθεί τους πέντε παρακάτω συντακτικούς κανόνες: - Τα ονόματα των ετικετών είναι case-sentitive. - Κάθε ετικέτα πρέπει να ανοίγει και να κλείνει, με εξαίρεση την κενή. - Ένα εμφωλευμένο ζευγάρι ετικετών δε μπορεί να «υπερπηδά» ένα άλλο. - Οι τιμές των ιδιοτήτων πρέπει να εμφανίζονται εντός εισαγωγικών, μονών ή διπλών. - Κάθε έγγραφο πρέπει να έχει μόνο ένα στοιχείο-ρίζα.

Αξιοποίηση Τεχνολογιών Ανοικτού Κώδικα για την ανάπτυξη εφαρμογών Σημασιολογικού Ιστού 24 2.4 Γλώσσες XML για έλεγχο εγκυρότητας Για να είναι δυνατή η επικοινωνία των εφαρμογών μεταξύ τους με έγγραφα XML, θα πρέπει να γίνει πρώτα μία συμφωνία σχετικά με τα ονόματα των στοιχείων και των γνωρισμάτων που θα χρησιμοποιηθούν για τη σύνταξη των XML εγγράφων. Πέρα από την ονοματολογία, θα πρέπει να ορίζεται η ακριβή δομή του μοντέλου του δέντρου, δηλαδή ποια στοιχεία μπορούν να υπάρχουν μέσα σε ποια στοιχεία κ.λπ. Για τη δημιουργία ενός τέτοιου «συμβολαίου», υπάρχουν δύο τρόποι. Ο ένας είναι τα DTDs (Document Type Definitions) και ο άλλος είναι το XML Schema. Βάσει ενός από αυτά τα συμβόλαια μπορούμε να ορίσουμε την εγκυρότητα ενός XML εγγράφου. Ένα XML έγγραφο θα πρέπει να είναι κατ αρχήν ορθά μορφοποιημένο και να αναφέρεται σε κάποιο συμβόλαιο, ενός από τους δύο τύπους που παραθέσαμε παραπάνω και να ακολουθεί το συμβόλαιο αυτό. 2.4.1 Document Type Definitions (DTDs) Ένα DTD έγγραφο ορίζει ένα σύνολο κανόνων σχετικά με τη δομή του XML εγγράφου. Συγκεκριμένα, ορίζει τα απαιτούμενα στοιχεία του XML εγγράφου, τα προαιρετικά, τη σειρά και τον αριθμό των φορών που πρέπει να εμφανίζονται, τον τύπο των δεδομένων των στοιχείων και τις ιδιότητες τους. Κατά συνέπεια, η εγκυρότητα του XML εγγράφου, καθορίζεται από το αν ακολουθεί τους κανόνες που ορίζονται στο σχετικό DTD. Τα DTDs είναι μία σειρά οδηγιών για τη δομή ενός XML εγγράφου, οι οποίες μπορούν να περιληφθούν είτε στο ίδιο το XML έγγραφο, τη δομή του οποίου ορίζουν, όποτε λέγονται και εσωτερικά DTDs (internal DTDs), είτε σε ξεχωριστό αρχείο και τοποθεσία από το έγγραφο XML, εξωτερικό DTD (external DTD). Τα εξωτερικά DTDs υπερτερούν στο γεγονός ότι μπορούν να επαναχρησιμοποιηθούν από πολλά XML έγγραφα. Κάθε στοιχείο του XML εγγράφου δηλώνεται ως εξής σε ένα DTD έγγραφο <!ELEMENT elementname rule>, όπου ELEMENT είναι η ετικέτα που ορίζει ότι πρόκειται για στοιχείο, elementname είναι το όνομα του στοιχείου και rule είναι ο τύπος δεδομένων του στοιχείου. Στο DTD τα στοιχεία πρέπει να έχουν ακριβώς την ίδια σειρά με αυτήν που εμφανίζονται στο XML έγγραφο, προκειμένου να θεωρηθεί έγκυρο το XML έγγραφο.

Αξιοποίηση Τεχνολογιών Ανοικτού Κώδικα για την ανάπτυξη εφαρμογών Σημασιολογικού Ιστού 25 Οι ιδιότητες των στοιχείων δηλώνονται ως εξής <!ATTLIST ElementName AttrName AttrType Default>,όπου AttrName είναι το όνομα της ιδιότητας, AttrType είναι ο τύπος δεδομένων της ιδιότητας και Default είναι η προκαθορισμένη τιμή της ιδιότητας. Ακολουθεί παράδειγμα εσωτερικού DTD και στη συνέχεια εξωτερικού DTD. <?xml version = 1.0?> <!DOCTYPE message [ <!ELEMENT message ( #PCDATA)> ]> <message> Hello World! </message> Παράδειγμα 4 Εσωτερικό DTD <?xml version = 1.0?> <!DOCTYPE message SYSTEM message.dtd > <message> Hello World! </message> Παράδειγμα 5 Εξωτερικό DTD Μπορεί να χρησιμοποιηθεί URL, που να δηλώνει την ακριβή τοποθεσία του DTD. 2.4.2 XML Schema XSD Το XML Schema είναι ο δεύτερος, νεότερος και καλύτερος τρόπος περιγραφής της δομής XML εγγράφων. Η δημιουργία σχήματος για ένα XML έγγραφο καλείται μοντελοποίηση δεδομένων, καθώς κάθε κλάση δεδομένων αναλύεται σε στοιχεία και ιδιότητες. Ένα xml schema επεκτείνει τον έλεγχο εγκυρότητας ενός xml εγγράφου από τους βασικούς συντακτικούς κανόνες της XML (well-formedness) στην υπακοή των κανόνων και περιορισμών που θέτει το XML schema (validation). Ο έλεγχος εγκυρότητας γίνεται με τη βοήθεια ενός κατάλληλου validating XML parser. Τα XML έγγραφα που ακολουθούν το σχήμα θεωρούνται έγκυρα. Σε αντίθεση με τα DTDs, το XML Schema δε μπορεί να συμπεριληφθεί σε ένα XML έγγραφο, παρά μόνο αναφορά μπορεί να γίνει στο namespace του σχήματος στο στοιχείο-ρίζα του XML εγγράφου. Επιπλέον, τα XML Schemata κωδικοποιούνται σε XML.

Αξιοποίηση Τεχνολογιών Ανοικτού Κώδικα για την ανάπτυξη εφαρμογών Σημασιολογικού Ιστού 26 H γλώσσα του XML Schema ονομάζεται XML Schema Definition (XSD). Τα XML σχήματα ξεκινούν ως εξής: <?xml version= 1.0 > <xsd:schema xmlns:xsd= http://www.w3c.org/2001/xmlschema ></xsd:schema> όπου η ιδιότητα xmlns:xsd ορίζει το namespace του σχήματος. Τα στοιχεία ορίζονται ως εξής σε ένα XML Schema έγγραφο: <element name= [type= ] [abstract= ] [block= ] [default= ] [final= ] [fixed= ] [minoccurs= ] [maxoccur= ] [nillable= ] [ref= ] [substitutiongroup= ]/ > Τα στοιχεία έχουν έναν από τους παρακάτω τύπους: <simpletype>, <complextype>, <simplecontent>, <complexcontent>. Οι ιδιότητες ορίζονται ως εξής: <xs:attribute name=" " type=" "/> Το αντίστοιχο XML Schema για το παράδειγμα 1(BOOKCATALOG) είναι το παρακάτω: <?xml version="1.0"?> <xs:schema xmlns:xs="http://www.w3.org/2001/xmlschema" targetnamespace="http://www.example.com" xmlns="http://www.example.com" <xs:element name="bookcatalog"> <xs:complextype> <xs:element name="book"> <xs:complextype> <xs:sequence> <xs:element name="productid" type="xs:int" minoccurs = 0 /> <xs:element name="author" type="xs:string" minoccurs = 0 /> <xs:element name="title" type="xs:string" minoccurs = 0 /> </xs:sequence> </xs:complextype> </xs:element> </xs:complextype> </xs:element> </xs:schema> Παράδειγμα 6 XML Schema του BOOKCATALOG.

Αξιοποίηση Τεχνολογιών Ανοικτού Κώδικα για την ανάπτυξη εφαρμογών Σημασιολογικού Ιστού 27 Τo XML Schema πλεονεκτεί έναντι του DTD. Στη συνέχεια γίνεται αναφορά σε μερικά πλεονεκτήματα: - Επιτρέπει την περιγραφή πολύ περισσότερων περιορισμών που επεκτείνονται όχι μόνο στην συντακτική δομή των δεδομένων αλλά και στη σημασιολογία των ίδιων των δεδομένων. - Χρησιμοποιεί κανονικές εκφράσεις (regular expressions) στην έκφραση των περιορισμών των δεδομένων. - Χρησιμοποιεί το συντακτικό της XML, επιτρέποντας έτσι τη χρήση των ήδη αναπτυγμένων XML εργαλείων. - Δυνατότητα επέκτασης του XML σχήματος. - Ένα XML Schema έγγραφο μπορεί να χρησιμοποιηθεί σε άλλα έγγραφα ή στο ίδιο έγγραφο να γίνει αναφορά σε πολλαπλά XML σχήματα. - Δυνατότητα ορισμού των τύπων δεδομένων από το χρήστη. - Δυνατότητα επέκτασης των πρότυπων τύπων δεδομένων του XML σχήματος. Τα XML έγγραφα έχουν δενδρική δομή. Document Object Model (DOM) είναι η τεχνολογία που μπορεί να χρησιμοποιηθεί για την κατασκευή ολόκληρου του δέντρου. Εναλλακτικά, μπορεί να χρησιμοποιηθεί η Simple APIs for XML(SAX) που βασίζεται σε event-triggers και απαιτεί λιγότερη μνήμη σε σύγκριση με τη DOM. Υπάρχουν διάφορες γλώσσες επερώτησης XML εγγράφων, μερικές από τις οποίες είναι η η XPath, η XPointer, η XLink, SAX, DOM. Οι γλώσσες αυτές βασίζονται στο δενδρικό μοντέλο των XML εγγράφων και έχουν σαν κύρια έννοια την έκφραση μονοπατιού η οποία ορίζει πως κάποιος ή κάποιοι κόμβοι μπορούν να προσπελαστούν. Ακολουθεί σύντομη αναφορά στις γλώσσες. 2.5 Γλώσσες επερώτησης XML εγγράφων 2.5.1 XML Path Language (XPath) Η XPath αποτελεί μία πρόταση του οργανισμού W3C για μία γλώσσα ταύτισης τμημάτων XML εγγράφων, η οποία χρησιμοποιείται από πρότυπα, όπως το XSLT, XPointer, XLink και XML Schema. Καθορίζει τον τρόπο επιλογής κόμβων (nodes) από ένα xml έγγραφο σε δενδρική δομή βάσει κριτηρίων και επιτρέπει την εκτέλεση πράξεων ανάμεσα σε strings, αριθμούς και δυαδικές τιμές που προέρχονται από τα περιεχόμενα του xml εγγράφου. Η XPath, λοιπόν, αποτελεί πρότυπο για τη δημιουργία εκφράσεων που χρησιμοποιούνται για την εύρεση συγκεκριμένων πληροφοριών σε ένα XML έγγραφο. Με την XPath μπορούμε να βρούμε κόμβους (nodes) ανάλογα με τη θέση τους, τη σχετική θέση, τον τύπο, το περιεχόμενο

Αξιοποίηση Τεχνολογιών Ανοικτού Κώδικα για την ανάπτυξη εφαρμογών Σημασιολογικού Ιστού 28 και διάφορα άλλα κριτήρια. Η XPath αποτελείται από εκφράσεις που βρίσκουν κόμβους και επιστρέφει είτε ένα σύνολο κόμβων, είτε μία Boolean τιμή, ή ένα αλφαριθμητικό ή μία αριθμητική τιμή. Οι εκφράσεις που χρησιμοποιούνται για την πλοήγηση στην ιεραρχική δομή των κόμβων ενός XML εγγράφου είναι παρόμοιες αυτών που χρησιμοποιούνται για πλοήγηση στο σύστημα αρχείων (filesystem) ενός υπολογιστή. Μία έκφραση Xpath αποτελείται από μία ακολουθία βημάτων εντοπισμού (location steps). Κάθε βήμα εντοπισμού αποτελείται από τρία συστατικά μέρη: τον axis προσδιοριστής, το node τεστ και το predicate (συνθήκη). Ένας axis προσδιοριστής καθορίζει την κατεύθυνση στην οποία θα κινηθούμε από τον παρόντα κόμβο στην δενδρική δομή και δίνει ένα σύνολο κόμβων (node set). Ένα node τεστ και ένα predicate φιλτράρουν το αποτέλεσμα με βάση τα κριτήρια που καθορίζουν. Η σύνταξη μιας έκφρασης xpath μοιάζει με την σύνταξη ενός URI (Uniform Resource Identifier). H παρακάτω έκφραση xpath: authors/author[1] δίνει το πρώτο element author που είναι παιδί του element authors. 2.5.2 XML Pointer Language (XPointer) και XML Linking Language (XLink) Η XPointer υποστηρίζει πρόσβαση (addressing) στις εσωτερικές δομές των εγγράφων της XML, όπως είναι τα στοιχεία (elements), τα χαρακτηριστικά (attributes) και το περιεχόμενο (content). Η XPointer αποτελεί επέκταση της XPath. Οι XPointer εκφράσεις μπορούν να κάνουν αλλαγές στο XML έγγραφο και μπορούν να «δείξουν» υπο-αλφαριθμητικά (substings) όταν πρόκειται για χαρακτήρες ή και ολόκληρο το δέντρο. Με την XLink μπορούμε να δημιουργήσουμε συνδέσμους στο XML έγγραφο και η XPointer επιτρέπει στους συνδέσμους να «δείχνουν» σε συγκεκριμένα τμήματα του εγγράφου. Η XLink επιτρέπει στα στοιχεία να εισάγονται στα XML έγγραφα για να μπορούν να δημιουργηθούν σύνδεσμοι (links) ανάμεσα στους πόρους (resources) της XML. Η XLink χρησιμοποιείται, λοιπόν, για τη δημιουργία συνδέσμων στα XML έγγραφα. Κάθε στοιχείο του XML εγγράφου μπορεί να γίνει σύνδεσμος. Η XLink υποστηρίζει τους απλούς συνδέσμους που είναι παρόμοιοι με συνδέσμους HTML, δηλαδή δείχνουν από έναν πόρο σε έναν άλλο, αλλά και εκτεταμένων συνδέσμων, δηλαδή συνδέουν πολλούς πόρους ταυτόχρονα. Επιπλέον, παρέχει τη δυνατότητα ορισμού των συνδέσμων έξω από τα αρχεία που θα συνδεθούν.