O-DEVICE: Ένα Αντικειμενοστραφές Σύστημα Συμπερασμών για OWL Lite Οντολογίες

Σχετικά έγγραφα
ΑΝΑΠΑΡΑΣΤΑΣΗ ΓΝΩΣΗΣ ΣΤΟΝ ΠΑΓΚΟΣΜΙΟ ΙΣΤΟ

Περιβάλλον Σηµασιολογικής Αναζήτησης Κανόνων

ηµιουργία µιας ετικέτας (tab widget) στο εργαλείο ανάπτυξης οντολογιών Protégé

Αναπαράςταςθ Γνϊςθσ ςτον Παγκόςμιο Ιςτό Ενότθτα 4: OWL Γλϊςςα Οντολογιϊν Ιςτοφ

Περιεχόμενα. Κατάλογος εικόνων 13. Πρόλογος Το όραμα του Σημασιολογικού Ιστού 19

Σύγκριση Προγραµµατιστικών ιεπαφών (APIs) για διαχείριση Οντολογιών Ιστού και Ανάπτυξη Μηχανισµού υποβολής Ευφυών Ερωτηµάτων

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

Π2 Το Σύστηµα Κανόνων CLIPS

Απεικόνιση Οντολογιών Σε Σχήµατα Σχεσιακών Βάσεων εδοµένων Με Σκοπό Την Ανάκτηση εδοµένων Σηµασιολογικού Περιεχοµένου ΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ

OWL. Μανόλης Γεργατσούλης. Ομάδα Βάσεων Δεδομένων και Πληροφοριακών Συστημάτων, Τμήμα Αρχειονομίας Βιβλιοθηκονομίας Ιόνιο Πανεπιστήμιο

University of Crete Computer Science Department Πανεπιστήμιο Κρήτης CONFERENCE ONTOLOGY

Συστήματα Γνώσης. Πρακτικό Κομμάτι Μαθήματος Το Σύστημα Κανόνων CLIPS. Νίκος Βασιλειάδης, Αναπλ. Καθηγητής Τμήμα Πληροφορικής

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

Aναπαράσταση Γνώσης στο Σημασιολογικό Ιστό

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

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

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

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

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

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

Μηχανική Λογισμικού για Διαδικτυακές & Φορητές Εφαρμογές

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

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

Συστήματα Γνώσης. Θεωρητικό Κομμάτι Μαθήματος Ενότητα 2: Βασικές Αρχές Αναπαράστασης Γνώσης και Συλλογιστικής

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

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον κεφ.6 Εισαγωγή στον Προγραμματισμό

Περιεχόμενο του μαθήματος

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

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

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

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

«Ανάπτυξη μηχανής παραγωγής φυσικής γλώσσας για οντολογίες OWL»

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

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

Κατατμημένων Οντολογιών

ΚΕΦΑΛΑΙΟ 5. Κύκλος Ζωής Εφαρμογών ΕΝΟΤΗΤΑ 2. Εφαρμογές Πληροφορικής. Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών

ΑΝΑΛΥΣΗ ΑΠΑΙΤΗΣΕΩΝ ανάλυση απαιτήσεων Σε αυτό το μάθημα θα ασχοληθούμε με : Δημιουργία μοντέλων

CLIPS Σύντομη Εισαγωγή - Περιγραφή του Μηχανισμού Εκτέλεσης

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

Διπλωματικές των κ. Ι. Βλαχάβα και Ν. Βασιλειάδη

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

ιαχείριση Γνώσης σε Ενδοεπιχειρισιακά ίκτυα και το ιαδίκτυο (ΗΥ-566)

Συστήματα Γνώσης. Πρακτικό Κομμάτι Μαθήματος Πρότυπα Γεγονότων. Νίκος Βασιλειάδης, Αναπλ. Καθηγητής Τμήμα Πληροφορικής

Ευφυής Προγραμματισμός

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

Πανεπιστήµιο Πατρών Τµήµα Μηχ/κών Η/Υ & Πληροφορικής ΜΠΣ ΕΠΙΣΤΗΜΗ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΕΥΦΥΗ ΣΥΣΤΗΜΑΤΑ ΑΠΟΦΑΣΕΩΝ. Ι.

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

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

Τι χρειάζεται ένας φοιτητής για τη σωστή παρακολούθηση και συμμετοχή στο μαθημα;

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

ΓΕΩΠΟΝΙΚΗ ΣΧΟΛΗ ΑΠΘ Εργαστήριο Πληροφορικής στη Γεωργία ΠΛΗΡΟΦΟΡΙΚΗ Ι

Μαλούτα Θεανώ Σελίδα 1

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

Οντολογίες γενικά. Ορισμοί Εφαρμογές Πρότυπα/Γλώσσες Διαχείριση οντολογιών Semantic Web

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΑΝΑΛΥΣΗ Εισαγωγή. Ιωάννης Σταμέλος Βάιος Κολοφωτιάς Πληροφορική

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

Ακαδημαϊκό Έτος , Χειμερινό Εξάμηνο Μάθημα: Εργαστήριο «Πληροφορική Υγείας» ΕΙΣΑΓΩΓΗ ΣΤΗΝ ACCESS

Διαδικτυακό Περιβάλλον Διαχείρισης Ασκήσεων Προγραμματισμού

ΑΕΠΠ Ερωτήσεις θεωρίας

Τεχνολογίες Αναπαράστασης Γνώσης και Συμπερασμού: Η Περίπτωση ενός Έξυπνου Βοηθού Προπονητή Ποδοσφαίρου

Γλώσσες υψηλού επιπέδου Περιέχουν περισσότερες εντολές για την εκτέλεση πολύπλοκων εργασιών Τα προγράµµατα µεταφράζονται σε γλώσσα µηχανής είτε από το

Τεχνητή Νοημοσύνη (ΥΠ23) 6 ο εξάμηνο Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ουρανία Χατζή

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

Προγραμματισμός ΙI (Θ)

Διαδικτυακές Εφαρμογές Ενότητα 1: JPA

Εισαγωγή στις Αρχές της Επιστήμης των ΗΥ

Ειδικά Θέματα Προγραμματισμού

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

10. Με πόσους και ποιους τρόπους μπορεί να αναπαρασταθεί ένα πρόβλημα; 11. Περιγράψτε τα τρία στάδια αντιμετώπισης ενός προβλήματος.

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

Πληροφορική 2. Γλώσσες Προγραμματισμού

Εργαλεία CASE. Computer Assisted Systems Engineering. Δρ Βαγγελιώ Καβακλή. Τμήμα Πολιτισμικής Τεχνολογίας και Επικοινωνίας Πανεπιστήμιο Αιγαίου

Α. Ερωτήσεις Ανάπτυξης

4. Συντακτικό μιας γλώσσας είναι το σύνολο των κανόνων που ορίζει τις μορφές με τις οποίες μια λέξη είναι αποδεκτή.

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ. Ενότητα 1: Εισαγωγή στις Βάσεις Δεδομένων. Αθανάσιος Σπυριδάκος Διοίκηση Επιχειρήσεων

ΚΕΦΑΛΑΙΟ Σηµασιολογικό ιαδίκτυο

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

Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Εργαστήριο 1 Εισαγωγή στη C. Σοφία Μπαλτζή s.mpaltzi@di.uoa.gr

Αυτοματοποιημένη χαρτογραφία

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

Ιδιότητες και Τεχνικές Σύνταξης Επιστημονικού Κειμένου Σχολιασμός ερευνητικής πρότασης

Πολυτεχνείο Κρήτης. Τμήμα Ηλεκτρονικών Μηχανικών & Μηχανικών Υπολογιστών

Αυτόµατη µετατροπή οντολογίας σε άλλες απλούστερες µορφές XML µε τη χρήση XSLT και άλλων εργαλείων Web

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

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 8 & 9 18/10/07

. Μεθοδολογία Προγραμματισμού. Εισαγωγή. Νικόλαος Πεταλίδης. Εισαγωγή Εαρινό Εξάμηνο 2014

ΕΙΔΗ ΕΡΕΥΝΑΣ I: ΠΕΙΡΑΜΑΤΙΚΗ ΕΡΕΥΝΑ & ΠΕΙΡΑΜΑΤΙΚΟΙ ΣΧΕΔΙΑΣΜΟΙ

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

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

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

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

Δομές Δεδομένων. Ενότητα 11: Τεχνικές Κατακερματισμού. Καθηγήτρια Μαρία Σατρατζέμη. Τμήμα Εφαρμοσμένης Πληροφορικής.

Κεφ. 2 Θέματα Θεωρητικής Επιστήμης Υπολογιστών. Κοντογιάννης Βασίλειος ΠΕ19

Διαδικασίες παραγωγής λογισμικού. Βασικές αρχές Τεχνολογίας Λογισμικού, 8η αγγ. έκδοση

Τεχνολογία Λογισμικού. Ενότητα 1: Εισαγωγή στην UML Καθηγητής Εφαρμογών Ηλίας Γουνόπουλος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

ΚΕΦΑΛΑΙΟ 6 ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ. 03/01/09 Χαράλαμπος Τζόκας 1

ΚΕΦΑΛΑΙΟ 8 Η ΓΛΩΣΣΑ PASCAL

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

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

Transcript:

ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ - ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ O-DEVICE: Ένα Αντικειμενοστραφές Σύστημα Συμπερασμών για OWL Lite Οντολογίες Διπλωματική Εργασία του Γεώργιου Μεδίτσκου (ΑΕΜ: 63) Επιβλέπων Καθηγητής: Νικόλαος Βασιλειάδης ΘΕΣΣΑΛΟΝΙΚΗ ΙΟΥΝΙΟΣ 2007

2

Πρόλογος Για να μπορέσουμε να εκμεταλλευτούμε πλήρως τα πλεονεκτήματα του Διαδικτύου, θα πρέπει η πληροφορία που περιέχει να είναι προσιτή και κατανοητή όχι μόνο από τους ανθρώπους αλλά και από τους υπολογιστές-προγράμματα. Το Διαδίκτυο μέχρι σήμερα έχει εκπληρώσει τους στόχους του: η διαθέσιμη πληροφορία είναι κατάλληλα «μαρκαρισμένη» για την παρουσίασή της μέσω περιηγητών (web browsers) και μπορεί εύκολα να καταναλωθεί από τους χρήστες. Όμως το Διαδίκτυο είναι δυναμικό. Αυτό έχει ως αποτέλεσμα τα δεδομένα συνεχώς να αλλάζουν, κάνοντας τη διαδικασία εύρεσης οποιασδήποτε πληροφορίας δύσκολη και κάποιες φορές αδύνατη. Επομένως, χρειαζόμαστε τρόπους ώστε η πληροφορία να είναι πλέον κατανοητή από τις μηχανές, οι οποίες θα είναι σε θέση να εκπληρώσουν τους στόχους των χρηστών αυτόματα. Το Σημασιολογικό Διαδίκτυο είναι μια ερευνητική προσπάθεια προς αυτήν την κατεύθυνση. Ασχολείται με τον ορισμό γλωσσών και εργαλείων για τον κατάλληλο χειρισμό της γνώσης μέσω των υπολογιστών. Στόχος είναι η σημασιολογική περιγραφή των δεδομένων στον παγκόσμιο ιστό με τη χρήση μέτα-δεδομένων (metadata) ώστε να μπορούν τα προγράμματα-πράκτορες να επεξεργαστούν και να κατανοήσουν την πληροφορία, οδηγώντας στην αυτοματοποίηση πλήθος διαδικασιών. Ο ορισμός των μέτα-δεδομένων βασίζεται σε οντολογίες που ορίζουν το επιτρεπτό λεξιλόγιο. Η επικρατέστερη μέχρι στιγμής γλώσσα οντολογιών είναι η OWL [29] (Web Ontology Language) με την οποία περιγράφεται η πληροφορία με έναν σαφώς ορισμένο τρόπο. Η OWL βασίζεται στις Περιγραφή των Λογικών (Description Logics) που αποτελεί μια οικογένεια γλωσσών αναπαράστασης γνώσης στις οποίες βασίζεται η θεμελίωση της OWL. Επομένως, χρειαζόμαστε εργαλεία ικανά να επεξεργαστούν τέτοιου είδους πληροφορία, όπως είναι τα συστήματα συμπερασμού που εφαρμόζουν εξειδικευμένους αλγορίθμους χειρισμού των Description Logics ή συστήματα τα οποία χειρίζονται τη σημασιολογία της OWL μέσω κανόνων. Ένα τέτοιο σύστημα κανόνων περιγράφεται σε αυτήν την εργασία, το οποίο ονομάζεται O-DEVICE. Η εργασία εκπονήθηκε στα πλαίσια της διπλωματικής εργασίας για την απόκτηση μεταπτυχιακού διπλώματος του τμήματος Πληροφορικής, της σχολής Θετικών Επιστημών, του Αριστοτελείου Πανεπιστημίου Θεσσαλονίκης με την ομάδα Λογικού Προ- 3

γραμματισμού και Ευφυών Συστημάτων (LPIS Group) στο Εργαστήριο Γλωσσών Προγραμματισμού και Τεχνολογίας Λογισμικού του τμήματος 1. Θα ήθελα να ευχαριστήσω τον επιβλέποντα καθηγητή Βασιλειάδη Νικόλαο για την εμπιστοσύνη που μου έδειξε αναθέτοντάς μου τη διπλωματική εργασία και για την υ- ποστήριξή του σε όλη τη διάρκειά της. Γεώργιος Μεδίτσκος 1 Από τη διπλωματική εργασία προέκυψαν οι δημοσιεύσεις [13] και [14] 4

Περιεχόμενα ΠΡΟΛΟΓΟΣ...3 ΠΕΡΙΕΧΟΜΕΝΑ...5 1 ΕΙΣΑΓΩΓΗ...9 2 Η ΓΛΩΣΣΑ ΟΝΤΟΛΟΓΙΩΝ OWL...13 2.1 ΣΥΝΤΟΜΗ ΑΝΑΣΚΟΠΗΣΗ...13 2.2 ΟΙ ΑΠΑΙΤΗΣΕΙΣ ΜΙΑΣ ΓΛΩΣΣΑΣ ΟΝΤΟΛΟΓΙΩΝ...13 2.3 ΠΕΡΙΟΡΙΣΜΟΙ ΕΚΦΡΑΣΤΙΚΟΤΗΤΑΣ ΤΟΥ RDFS...15 2.4 ΟΙ ΤΡΕΙΣ ΥΠΟΓΛΩΣΣΕΣ ΤΗΣ OWL...16 2.5 H ΓΛΩΣΣΑ OWL...17 2.5.1 Σύνταξη...17 2.5.2 Κλάσεις...18 2.5.3 Ιδιότητες...18 2.5.4 Περιορισμοί ιδιοτήτων...19 2.5.5 Ειδικές ιδιότητες...22 2.5.6 Λογικοί συνδυασμοί κλάσεων...22 2.5.7 Απαρίθμηση αντικειμένων...23 2.5.8 Αντικείμενα...24 2.5.9 Οι επιτρεπτές δομές για κάθε υπογλώσσα της OWL...25 3 Η ΧΡΗΣΗ ΚΑΝΟΝΩΝ ΣΤΗ ΔΙΑΔΙΚΑΣΙΑ ΣΥΜΠΕΡΑΣΜΟΥ ΣΕ ΟΝΤΟΛΟΓΙΕΣ ΚΑΙ ΥΠΑΡΧΟΝΤΑ ΣΥΣΤΗΜΑΤΑ...27 3.1 ΚΑΝΟΝΕΣ ΣΤΟ ΣΗΜΑΣΙΟΛΟΓΙΚΟ ΔΙΑΔΙΚΤΥΟ...27 3.2 ΣΥΜΠΕΡΑΣΜΑΤΙΚΟΙ ΚΑΝΟΝΕΣ...28 3.3 ΟΝΤΟΛΟΓΙΕΣ ΚΑΙ TΡΙΠΛΕΤΕΣ...30 3.4 ΣΥΣΤΗΜΑΤΑ ΣΥΜΠΕΡΑΣΜΟΥ ΜΕ ΚΑΝΟΝΕΣ...31 3.4.1 Το σύστημα OWLIM...31 3.4.2 Το σύστημα OWLJessKB...32 3.4.3 Το σύστημα TRIPLE...32 5

3.4.4 Το σύστημα JENA... 32 3.5 Η ΠΡΟΣΕΓΓΙΣΗ ΤΟΥ O-DEVICE... 33 4 ΤΟ ΣΥΣΤΗΜΑ ΚΑΝΟΝΩΝ ΠΑΡΑΓΩΓΗΣ CLIPS... 35 4.1 ΔΟΜΗ ΤΟΥ CLIPS... 35 4.2 ΣΥΝΤΑΞΗ ΤΟΥ CLIPS... 36 4.2.1 Βασικά δομικά στοιχεία... 36 4.2.2 Μεταβλητές... 36 4.2.3 Γεγονότα... 37 4.2.4 Κανόνες... 38 4.2.5 Συναρτήσεις... 39 4.2.6 Πρότυπα γεγονότων... 39 4.2.7 Προτεραιότητα κανόνων και στρατηγικές επίλυσης συγκρούσεων... 40 4.3 Η ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΗΣ ΓΛΩΣΣΑ COOL... 41 4.3.1 Βασικά στοιχεία δομής... 42 4.3.2 Κληρονομικότητα κλάσεων... 44 4.3.3 Αντικείμενα και κανόνες... 44 5 ΤΟ ΣΥΣΤΗΜΑ O-DEVICE... 47 5.1 ΓΕΝΙΚΑ ΧΑΡΑΚΤΗΡΙΣΤΙΚΑ... 47 5.2 ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΤΟΥ O-DEVICE... 48 5.2.1 Μετατροπέας οντολογιών σε τριπλέτες... 49 5.2.2 Μετατροπέας τριπλετών στο αντικειμενοστραφές σχήμα... 50 5.2.3 Υποσύστημα συμπερασμών στο σχήμα της οντολογίας... 50 5.2.4 Υποσύστημα συμπερασμών στα αντικείμενα της οντολογίας... 50 5.2.5 Υποσύστημα εξαγωγής αποτελεσμάτων... 50 5.3 ΠΕΡΙΓΡΑΦΗ ΤΗΣ ΑΦΗΡΗΜΕΝΗΣ ΓΛΩΣΣΑΣ ΚΑΝΟΝΩΝ... 51 5.4 ΔΙΑΔΙΚΑΣΙΑ ΔΗΜΙΟΥΡΓΙΑΣ ΤΟΥ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΣΧΗΜΑΤΟΣ... 53 5.4.1 Προκαθορισμένο αντικειμενοστραφές σχήμα των εγγενών δομών της OWL... 54 5.4.2 Κανόνες μετασχηματισμού... 55 5.5 ΚΑΝΟΝΕΣ ΣΥΜΠΕΡΑΣΜΩΝ ΣΤΟ ΣΧΗΜΑ ΤΗΣ ΟΝΤΟΛΟΓΙΑΣ (TBOX REASONING)... 65 6

5.5.1 Συμμετρικές και μεταβατικές εγγενείς OWL ιδιότητες...65 5.5.2 Συναρτησιακές και αντιστρόφως συναρτησιακές ιδιότητες...67 5.5.3 Ανάστροφες ιδιότητες...68 5.5.4 Κληρονομικότητα ιδιοτήτων...69 5.5.5 Πολλαπλές rdfs:domain και rdfs:range τιμές ιδιοτήτων...69 5.5.6 Ασυνδετότητα κλάσεων...70 5.6 ΔΥΝΑΜΙΚΟΙ ΚΑΝΟΝΕΣ ΚΑΙ ABOX REASONING...71 5.6.1 Χειρισμός ειδικών ιδιοτήτων των αντικειμένων...74 5.6.2 Δυναμικοί κανόνες για Skolemization...81 5.6.3 Δυναμικοί κανόνες για κατηγοριοποίηση αντικειμένων...83 5.7 Η ΓΛΩΣΣΑ ΕΡΩΤΗΣΕΩΝ ΤΟΥ O-DEVICE...84 5.7.1 Χειρισμός των ισοδύναμων αντικειμένων...86 6 ΠΕΙΡΑΜΑΤΙΚΑ ΑΠΟΤΕΛΕΣΜΑΤΑ...87 6.1 ΦΟΡΤΩΣΗ ΟΝΤΟΛΟΓΙΩΝ...87 6.1.1 Ανάλυση της διαδικασίας φόρτωσης οντολογιών...88 6.1.2 Προσδιορισμός της τιμής του φ...92 6.1.3 Υπολογισμός της μετρικής p...96 6.1.4 Η σχέση ανάμεσα στη φ και p μετρική...97 6.1.5 Τελικά αποτελέσματα φόρτωσης των οντολογιών...98 6.2 ΑΠΑΝΤΗΣΕΙΣ ΕΡΩΤΗΜΑΤΩΝ...99 7 ΣΥΜΠΕΡΑΣΜΑΤΑ ΚΑΙ ΜΕΛΛΟΝΤΙΚΗ ΕΡΓΑΣΙΑ...101 ΒΙΒΛΙΟΓΡΑΦΙΑ...103 ΠΑΡΑΡΤΗΜΑ...105 7

8

1 Εισαγωγή Στις μέρες μας παρατηρείται μια ραγδαία αύξηση στον αριθμό των διαθέσιμων υπηρεσιών στο διαδίκτυο. Υπηρεσίες κράτησης αεροπορικών εισιτηρίων, συλλογής και αποστολής πληροφοριών από σένσορες/κάμερες και ένα πλήθος από e-commerce και business-to-business εφαρμογές, τείνουν να μετατρέψουν το διαδίκτυο από μια απλή «αποθήκη» εικόνων και κειμένου, σε έναν πλούσιο παροχέα υπηρεσιών. Στην επόμενη δεκαετία, οι περισσότερες συσκευές θα αποτελούνται από έναν υπολογιστή και θα υπάρξει μια νέα επανάσταση της διαδικτυακής τεχνολογίας. Το σημερινό διαδίκτυο έχει σχεδιαστεί για να είναι κατανοητό και εύχρηστο από τους ανθρώπους. Στην εποχή μας όμως, παρατηρούμε μεγάλο ποσοστό αυτοματοποίησης των διαφόρων εργασιών στο διαδίκτυο και διαλειτουργικότητας, κυρίως στον τομέα της επικοινωνίας και των συναλλαγών μεταξύ των επιχειρήσεων. Συνήθως, αυτός ο τρόπος συνεργασίας και διαλειτουργικότητας επιτυγχάνεται με τη χρήση APIs μεταξύ των διάφορων φορέων, όπου οι άνθρωποι αναζητούν και προγραμματίζουν εφαρμογές βασισμένοι στην πληροφορία που εξάγεται μέσα από ιστοσελίδες ή από προκαθορισμένες επιχειρησιακές εφαρμογές. Αν αυτή η πληροφορία αλλάξει ή αλλάξει ο τρόπος με τον οποίον μια επιχείρηση κάνει διαθέσιμη την εφαρμογής της, τότε πρέπει να αλλάξουν και όλες οι εφαρμογές οι οποίες την χρησιμοποιούν. Για να μπορέσουν οι εφαρμογές να γίνουν αξιόπιστες και να επικοινωνούν με άλλες δυναμικά και χωρίς να υπάρχουν προβλήματα επικοινωνίας λόγω αλλαγών των διεπαφών τους, πρέπει να καταστούν κατανοητές από τις μηχανές-υπολογιστές έτσι ώστε οι ιδιότητές τους, οι λειτουργίες τους και οι διεπαφές τους να μπορούν να εντοπιστούν και να κατανοηθούν αυτόματα από μηχανές-πράκτορες με έναν σαφή και μονοσήμαντο τρόπο. Το όραμα του Σημασιολογικού Διαδικτύου είναι να παράσχει τα απαραίτητα στάνταρντ και την απαραίτητη υποδομή για τη μετατροπή του σημερινού διαδικτύου σε έναν πιο αυτοματοποιημένο περιβάλλον, όπου πράκτορες-προγράμματα θα έχουν την ικανότητα και τη δυνατότητα να ψάξουν για πληροφορίες αυτόματα. Αυτό είναι δυνατό να επιτευχθεί με το να περιγράψουμε την πληροφορία και τις υπηρεσίες με έναν τρόπο που θα είναι κατανοητός από τις μηχανές. Προς αυτήν την κατεύθυνση, οι οντολογίες 9

παίζουν ένα κυρίαρχο ρόλο και χρησιμοποιούνται για την κατάλληλη αναπαράσταση της γνώσης με έναν επίσημο και σαφή τρόπο. Με τη χρήση οντολογιών, δίδεται στην πληροφορία μια καλά ορισμένη σημασία, επιτρέποντας τις μηχανές-προγράμματα να την καταλαβαίνουν και να ενεργούν αντί των ανθρώπων. Η OWL [29] είναι η πρόταση του W3C [28] για τη δημιουργία και διαμοιρασμό οντολογιών στο διαδίκτυο και καθορίζει επίσημη σημασιολογία για το πως οι μηχανές θα πρέπει να οδηγούνται σε συμπεράσματα βασισμένες όχι στη σύνταξη αλλά στη σημασιολογία της περιγραφής. Συνεπώς είναι απαραίτητη η ύπαρξη εργαλείων τα οποία θα μπορούν να διαχειρίζονται τις οντολογίες και τη σημασιολογία τους. Τα εργαλεία αυτά ονομάζονται συστήματα συμπερασμού (reasoning systems). Η ικανότητα να εξάγεται νέα πληροφορία είναι ένα βασικό χαρακτηριστικό για κάθε σύστημα συμπερασμού. Υπάρχουν δύο χαρακτηριστικά όμως τα οποία επηρεάζουν αρνητικά την απόδοση ενός συστήματος συμπερασμού: ο όγκος της πληροφορίας που καλείται να επεξεργαστεί ένα σύστημα και η εκφραστικότητα της γλώσσας που έχει χρησιμοποιηθεί για την περιγραφή αυτής της πληροφορίας. Όσο πιο μεγάλος είναι ο όγκος της πληροφορίας τόσο δυσκολότερος γίνεται ο χειρισμός της, απαιτώντας μεγάλη διαθεσιμότητα υπολογιστικών πόρων, κυρίως μνήμης. Επίσης, όσο πιο εκφραστική είναι η γλώσσα που έχει χρησιμοποιηθεί για την περιγραφή, τόσο πιο χρονοβόρα γίνεται η διαδικασία του συμπερασμού διότι πρέπει να εφαρμοστούν πολύπλοκοι αλγόριθμοι οι οποίοι απαιτούν μεγάλη υπολογιστική ισχύ. Για αυτόν τον σκοπό, η OWL έχει χωριστεί σε τρεις υπογλώσσες κάθε μια από τις οποίες έχει διαφορετικούς στόχους. Σε αυτήν την εργασία παρουσιάζουμε ένα σύστημα συμπερασμού, το O-DEVICE [23]. Το O-DEVICE είναι ένα σύστημα βασισμένο σε κανόνες παραγωγής (production rules) για την υλοποίηση της διαδικασίας συμπερασμού σε οντολογίες εκφρασμένες στην OWL. Όπως αρχικά έχει περιγραφεί στο [4], υπάρχει ένα υποσύνολο της OWL το οποίο μπορεί να μετατραπεί σε κανόνες Horn, το οποίο αναφέρεται ως DLP (Description Logic Programs), επιτρέποντας τη χρήση γλωσσών κανόνων για το χειρισμό του. Βασισμένοι σε αυτήν την έρευνα και στην προσπάθεια ορισμού συμπερασματικών κανόνων της OWL (OWL entailment rules) [6], χρησιμοποιούμε ένα ήδη υπάρχον σύστημα κανόνων, το CLIPS και εκμεταλλευόμενοι την ταχύτητά του και την αποδοτικότητά του, ορίζουμε μια διαδικασία αντιστοίχησης των OWL οντολογιών σε ένα αντικειμενοστραφές σχήμα. Στην υλοποίησή μας, καλύπτουμε τόσο το DLP υποσύνολο της OWL όσο και την πλήρη υπογλώσσα της OWL Lite. 10

Ο στόχος είναι να χειριστούμε τη σημασιολογία της γλώσσας με μια αντικειμενοστραφή προσέγγιση. Ενώ τα περισσότερα συστήματα συμπερασμών με κανόνες βασίζονται στην πληροφορία των τριπλετών των οντολογιών για να εξάγουν συμπεράσματα, στη δική μας προσέγγιση χρησιμοποιούμε τις τριπλέτες για να δημιουργήσουμε το α- ντικειμενοστραφές περιβάλλον και χρησιμοποιούμε κανόνες οι οποίοι βασίζονται στην πληροφορία των αντικειμένων του σχήματος για να εξάγουν συμπεράσματα. Η οργάνωση της διπλωματικής εργασίας έχει ως εξής: στο κεφάλαιο 2 παρουσιάζουμε μια σύντομη περιγραφή της γλώσσας οντολογιών OWL, εστιάζοντας κυρίως στα βασικά στοιχεία σύνταξής της και στη σημασιολογία της. Στο κεφάλαιο 3 αναφερόμαστε στις κυριότερες μεθόδους συμπερασμού με κανόνες που χρησιμοποιούνται σήμερα σε OWL οντολογίες, παρουσιάζοντας συνοπτικά κάποια αντιπροσωπευτικά συστήματα και αναφερόμαστε στη δική μας μεθοδολογία, συγκρίνοντας τη με αυτή των υπολοίπων. Στο κεφάλαιο 4 αναφερόμαστε συνοπτικά στο σύστημα κανόνων παραγωγής CLIPS που είναι και το σύστημα στο οποίο βασιστήκαμε για την ανάπτυξη του O- DEVICE. Στο κεφάλαιο 5 παρουσιάζουμε το σύστημά μας, περιγράφοντας αναλυτικά τους κανόνες που χρησιμοποιεί και τη βασική αρχιτεκτονική του. Στο κεφάλαιο 6 αναφερόμαστε σε βελτιστοποιήσεις που κάναμε ώστε να καταστήσουμε δυνατό το χειρισμό μεγάλου όγκου πληροφορίας από το σύστημά μας. Επίσης παραθέτουμε πειραματικά αποτελέσματα που προέκυψαν από τη χρήση του O-DEVICE σε παραδείγματα οντολογιών. Στο κεφάλαιο 7 συνοψίζουμε την εργασία και αναφερόμαστε σε πιθανές βελτιώσεις που μπορούν να γίνουν καθώς και σε μελλοντική εργασία. Τέλος, στο παράρτημα παραθέτουμε τις βασικές αρχές της υλοποίησης παρουσιάζοντας τους κανόνες που υ- λοποιούνται με τη χρήση ενός απλού λογικού φορμαλισμού. 11

12

2 Η Γλώσσα Οντολογιών OWL Σε αυτήν την ενότητα παρουσιάζουμε τη γλώσσα οντολογιών Web Ontology Language (OWL). Αναφερόμαστε στους παράγοντες που οδήγησαν στη δημιουργία της και περιγράφουμε με έναν λεπτομερή τρόπο τα βασικά δομικά στοιχεία της και τη σημασιολογία της, δίνοντας κατάλληλα παραδείγματα τα οποία βοηθούν στην κατανόησή της. Για περισσότερες λεπτομέρειες ο αναγνώστης μπορεί να ανατρέξει στο [28], το επίσημο site του W3C (Word Wide Web Consortium), υπεύθυνο για τον ορισμό αυτής της γλώσσας και πολλών άλλων στάνταρντ. 2.1 Σύντομη Ανασκόπηση Η εκφραστικότητα της RDF και του RDFS Schema [16] είναι πολύ περιορισμένη. Το μόνο που μπορεί να περιγραφεί είναι σχέσεις υποκλάσεων και υπο-ιδιοτήτων με domain και range περιορισμούς. Το W3C εντόπισε ότι υπάρχουν αρκετές περιπτώσεις οι οποίες απαιτούν μεγαλύτερη εκφραστικότητα ώστε να μπορούν να μοντελοποιηθούν σε μια οντολογία με έναν ικανοποιητικό τρόπο. Ένας αριθμός από ερευνητικές ομάδες στην Ευρώπη και την Αμερική είχε ήδη ε- ντοπίσει την ανάγκη για μια πιο εκφραστική γλώσσα. Οι προσπάθεια αυτών των ερευνητικών ομάδων οδήγησε στον ορισμό μιας αρκετά εκφραστικής γλώσσας που ονομάστηκε DAML+OIL [3]. Αργότερα, η DAML+OIL αποτέλεσε το αρχικό σημείο από το οποίο το W3C βασίστηκε για να προτείνει την OWL, η γλώσσα που σκοπό είχε να γίνει το πρότυπο για τον ορισμό οντολογιών στο Σημασιολογικό Διαδίκτυο. 2.2 Οι Απαιτήσεις μιας Γλώσσας Οντολογιών Οι γλώσσες οντολογιών επιτρέπουν τους χρήστες να γράφουν με έναν σαφή και επίσημο τρόπο οντολογίες που μοντελοποιούν έννοιες ενός πεδίου. Οι βασικότερες απαιτήσεις είναι: να υπάρχει μια καλά ορισμένη σύνταξη να υπάρχει καλά ορισμένη επίσημη σημασιολογία να υπάρχει επαρκής υποστήριξη συμπερασμών και να υπάρχει επαρκής εκφραστικότητα 13

Η σημαντικότητα μιας καλώς ορισμένης σύνταξης είναι σαφής και ευνόητη. Είναι ένα απαραίτητο στοιχείο όταν καλείται μια μηχανή να επεξεργαστεί δεδομένα. Όλες οι γλώσσες που έχουν προαναφερθεί έχουν μια καλή ορισμένη σύνταξη. Και η DAML+OIL και η OWL είναι βασισμένες πάνω στην RDF και RDFS και έχουν τον ίδιο τρόπο σύνταξης. Βέβαια, ένα ερώτημα είναι κατά πόσο η σύνταξη που χρησιμοποιούν, που είναι βασισμένη στην XML, είναι φιλική για το χρήστη. Όποια όμως και αν είναι τα μειονεκτήματα, δεν είναι πολύ σημαντικά, γιατί συνήθως οι χρήστες χρησιμοποιούν κατάλληλα εργαλεία για τον ορισμό των οντολογιών. Η επίσημη σημασιολογία περιγράφει επακριβώς τη σημασία της γνώσης που έχει μοντελοποιηθεί. Δηλαδή, η σημασία κάθε ορισμού δε βασίζεται σε υποκειμενικές θεωρήσεις ούτε υπόκεινται σε πολλαπλές ερμηνείες από διαφορετικούς ανθρώπους. Μία χρήση της επίσημης σημασιολογίας είναι να επιτρέψει στους χρήστες να εξάγουν συμπεράσματα για τη γνώση που έχει μοντελοποιηθεί. Στο πεδίο των οντολογιών, μπορεί κάποιος να βγάλει συμπεράσματα για: Συμμετοχή κλάσης (class membership): Αν υπάρχει ένα αντικείμενο x της κλάσης C και η C είναι υποκλάση της D τότε το x είναι αντικείμενο και της D. Ισοδυναμία κλάσεων (class equivalence): Αν μια κλάση Α είναι ισοδύναμη με μια κλάση Β και η Β είναι ισοδύναμη με μια κλάση C τότε και η Α είναι ισοδύναμη με την κλάση C. Συνέπεια (consistency): Αν υπάρχει ένα αντικείμενο x μιας κλάσης Α και επιπλέον: η Α είναι υποκλάση της τομής των κλάσεων B και C, η Α είναι υποκλάση της κλάσης D και οι κλάσεις Β και D είναι ασύνδετες (disjoint), τότε έχουμε ασυνέπεια γιατί η Α θα έπρεπε να μην έχει κανένα αντικείμενο αλλά έχει το x. Αυτό είναι μια ένδειξη ότι υπάρχει λάθος στον ορισμό της οντολογίας. Κατηγοριοποίηση (classification): Αν έχουμε δηλώσει ότι συγκεκριμένα ζεύγη ιδιότητας-τιμής είναι αναγκαίες συνθήκες για συμμετοχή (membership) μιας κλάσης Α, τότε αν ένα αντικείμενο x ικανοποιεί αυτές τις συνθήκες πρέπει να ανήκει και στην κλάση Α. 14

Η σημασιολογία είναι ένα αναγκαίο χαρακτηριστικό για την εξαγωγή συμπερασμάτων. Συμπεράσματα όπως τα παραπάνω, μπορούν να εξαχθούν αυτόματα και όχι με το χέρι από το χρήστη. Η υποστήριξη συμπερασμών είναι σημαντική γιατί επιτρέπει: τον έλεγχο της συνέπειας της οντολογίας και της γνώσης τον έλεγχο των σχέσεων ανάμεσα στις κλάσεις την αυτόματη κατηγοριοποίηση των αντικειμένων σε κλάσεις. Η υποστήριξη αυτόματης εξαγωγής συμπερασμάτων επιτρέπει το χειρισμό πολύ περισσότερων περιπτώσεων από αυτών που μπορεί να ελεγχθούν από έναν χρήστη. Έ- λεγχοι σαν τους παραπάνω είναι πολύτιμοι για: τον σχεδιασμό μεγάλων οντολογιών, όπου συμμετέχουν πολλαπλοί χρήστες και το συνδυασμό και την ένωση πολλών οντολογιών από διάφορες πηγές Η επίσημη σημασιολογία και η υποστήριξη συμπερασμών συνήθως υλοποιείται με το να γίνει μια αντιστοίχηση της γλώσσας οντολογιών σε έναν γνωστό λογικό φορμαλισμό και με το να χρησιμοποιηθεί μια κατάλληλη μηχανή εξαγωγής συμπερασμάτων που υπάρχει για αυτόν το λογικό φορμαλισμό. 2.3 Περιορισμοί Εκφραστικότητας του RDFS Η RDF και RDFS επιτρέπουν τη μοντελοποίηση ορισμένης γνώσης. Τα βασικότερα στοιχεία μοντελοποίησης αφορούν το σχεδιασμό ιεραρχιών ανάμεσα στις κλάσεις και ανάμεσα στις ιδιότητες με τη χρήση domain και range περιορισμών για τις ιδιότητες. Όμως, ένα πλήθος από άλλα χαρακτηριστικά λείπει. Παραθέτουμε παρακάτω κάποια από αυτά. Τοπική σκοπιά των ιδιοτήτων: η ιδιότητα rdfs:range ορίζει τους επιτρεπτούς τύπους τιμών που μια ιδιότητα μπορεί να έχει. Επομένως, στη RDFS δεν μπορούμε να ορίσουμε range περιορισμούς οι οποίοι να ισχύουν σε ορισμένες κλάσεις μόνο. Ασυνδετότητα κλάσεων: Κάποιες φορές θέλουμε να πούμε ότι κάποιες κλάσεις είναι ασύνδετες μεταξύ τους, δηλαδή δεν μπορεί να έχουν κοινά αντικείμενα. 15

Λογικοί συνδυασμοί κλάσεων: Κάποιες φορές θέλουμε να ορίσουμε κλάσεις οι ο- ποίες προκύπτουν από το συνδυασμό άλλων μέσω λογικών τελεστών, όπως τομής, ένωσης και συμπληρώματος. Περιορισμοί πληθαρίθμου: Αρκετές φορές θέλουμε να βάλουμε περιορισμούς στον αριθμό των επιτρεπτών τιμών που μια ιδιότητα μπορεί να έχει. Ειδικά χαρακτηριστικά ιδιοτήτων: Υπάρχουν περιπτώσεις που είναι χρήσιμο να πούμε ότι κάποιες ιδιότητες είναι μεταβατικές ή συμμετρικές. Όλα αυτά που αναφέραμε πιο πάνω δεν μπορούν να εκφραστούν με τη RDF και τη RDFS. Επομένως, χρειαζόμαστε μια γλώσσα οντολογιών που να είναι πιο πλούσια και να μπορεί να μοντελοποιήσει τα παραπάνω χαρακτηριστικά. Στο σχεδιασμό μιας τέτοιας γλώσσας, κάποιος πρέπει να είναι πολύ προσεχτικός για δύο βασικά χαρακτηριστικά τα οποία είναι πολύ σημαντικά: την εκφραστική ικανότητα της γλώσσας και την υπολογιστική επάρκεια. Αυτοί οι δύο παράγοντες είναι αντίθετοι μεταξύ τους. Δηλαδή, όσο πιο πλούσια είναι η γλώσσα, τόσο δυσκολότερο είναι να εξαχθούν συμπεράσματα. Επομένως, χρειαζόμαστε έναν συμβιβασμό μεταξύ των δύο αυτών στοιχείων. 2.4 Οι Τρεις Υπογλώσσες της OWL Οι περιορισμοί που είδαμε προηγουμένως ανάμεσα στην εκφραστικότητα της γλώσσας και στις υπολογιστικές απαιτήσεις, οδήγησαν το W3C να ορίσει τρεις διαφορετικές υ- πογλώσσες της OWL, κάθε μία από τις οποίες έχει να εκπληρώσει διαφορετικό στόχο. Οι τρεις αυτές υπογλώσσες είναι: OWL Full: η πλήρης OWL γλώσσα ονομάζεται OWL Full και χρησιμοποιεί όλες τις δομές της OWL. Επίσης, επιτρέπει τον συνδυασμό αυτών των δομών με οποιονδήποτε τρόπο με την RDF και το RDFS Schema. Έτσι υπάρχει η δυνατότητα της αλλαγής της σημασίας των εγγενών χαρακτηριστικών του RDF και RDFS. Το μειονέκτημα είναι ότι εξαιτίας της μεγάλης εκφραστικότητας, η διαδικασία του συμπερασμού είσαι σχεδόν αδύνατη. OWL DL: στη προσπάθεια να γίνει η διαδικασία του συμπερασμού εφικτή, έχει προταθεί η OWL DL που θέτει κάποιους περιορισμούς στις δομές της OWL που μπορούν να χρησιμοποιηθούν. Το πλεονέκτημα αυτής της γλώσσας είναι ότι εγγυάται την ολοκλήρωση της διαδικασίας συμπερασμού. 16

OWL Lite: αυτή η υπογλώσσα επιβάλλει ακόμα περισσότερους περιορισμούς στις δομές της OWL που μπορούν να χρησιμοποιηθούν. Το πλεονέκτημα είναι ότι αποτελεί μια γλώσσα εύκολη στη χρήση της. Μειονέκτημα είναι ότι εξαιτίας της περιορισμένης εκφραστικότητας, δεν μπορεί να μοντελοποιήσει ορισμένα πεδία, για παράδειγμα δεν επιτρέπει τη χρήση του τελεστή ένωσης για τη δημιουργία κλάσεων. Οι χρήστες πρέπει να διαλέξουν ποια γλώσσα ικανοποιεί τις ανάγκες τους πριν ξεκινήσουν τη μοντελοποίηση εννοιών. Η επιλογή ανάμεσα στην OWL Lite και την OWL DL εξαρτάται από το βαθμό εκφραστικότητας που θέλουν να έχουν οι χρήστες στη διάθεσή τους για τη μοντελοποίηση. Η επιλογή ανάμεσα στην OWL DL και την OWL Full εξαρτάται από το αν οι χρήστες θέλουν την κατάλληλη υποδομή για μέταμοντελοποίηση των δομών του RDFS. Πρέπει όμως οι χρήστες να έχουν πάντα στο μυαλό τους ότι η διαδικασία συμπερασμού δεν μπορεί να οδηγήσει σε απόλυτα πλήρη αποτελέσματα αν επιλέξουν την OWL Full. 2.5 H Γλώσσα OWL Σε αυτήν την ενότητα θα παρουσιάσουμε τα βασικά δομικά και σημασιολογικά στοιχεία της γλώσσας δίνοντας παραδείγματα. 2.5.1 Σύνταξη Η OWL είναι δομημένη πάνω στο RDF και RDFS Schema και χρησιμοποιεί την XML σύνταξη του RDF. Η RDF/XML σύνταξη όμως δεν είναι πολύ φιλική. Για αυτό έχουν προταθεί και άλλες μορφές, όπως: μια σύνταξη βασισμένη στη XML αλλά δεν ακολουθεί την RDF. Αυτό το γεγονός κάνει αυτήν τη σύνταξη να είναι σημαντικά ευκολότερη στη χρήση της μια αφηρημένη σύνταξη (abstract) η οποία είναι πολύ πιο συμπαγής και ευανάγνωστη μια γραφική σύνταξη η οποία είναι βασισμένη στη UML [25] (Universal Modeling Language). Επειδή η UML είναι ευρέως διαδεδομένη, μπορεί να χρησιμοποιηθεί από τους χρήστες σαν μια πρώτη προσπάθεια απόκτησης οικειότητας με την OWL. 17

2.5.2 Κλάσεις Οι κλάσεις ορίζονται χρησιμοποιώντας το owl:class στοιχείο της γλώσσας. Για παράδειγμα μπορούμε να ορίσουμε την κλάση associateprofessor όπως φαίνεται παρακάτω: <owl:class rdf:id="associateprofessor"> <rdfs:subclassof rdf:resource="#academicstaffmember"/> </owl:class> Μπορούμε επίσης να πούμε ότι αυτή η κλάση είναι ασύνδετη με τις κλάσεις professor και assistantprofessor με τη χρήση του owl:disjointwith στοιχείου: <owl:class rdf:about="associateprofessor"> <owl:disjointwith rdf:resource="#professor"/> <owl:disjointwith rdf:resource="#assistantprofessor"/> </owl:class> Η ισοδυναμία κλάσεων μπορεί να ορισθεί μέσω του στοιχείου owl:equivalent- Class: <owl:class rdf:id="faculty"> <owl:equivalentclass rdf:resource="#academicstaffmember"/> </owl:class> Επίσης υπάρχουν δύο προκαθορισμένες κλάσεις, η owl:thing και η owl:nothing. Η πρώτη είναι η πιο γενική κλάση και περικλείει τα πάντα ενώ η δεύτερη είναι μια κενή κλάση. Επομένως, κάθε κλάση είναι υποκλάση της owl:thing και υπερκλάση της owl:nothing. 2.5.3 Ιδιότητες Στην OWL υπάρχουν δύο τύποι ιδιοτήτων: Ιδιότητες αντικειμένων (object properties) οι οποίες συνδέουν αντικείμενα με άλλα αντικείμενα και Ιδιότητες τύπων (datatype properties) οι οποίες συνδέουν αντικείμενα με τύπους δεδομένων. Ένα παράδειγμα μιας ιδιότητας τύπου φαίνεται στο παράδειγμα που ακολουθεί. <owl:datatypeproperty rdf:id="age"> <rdfs:range rdf:resource="http://www.w3.org/2001/xlmschema #nonnegativeinteger"/> </owl:datatypeproperty> 18

Επίσης, ένα παράδειγμα μιας ιδιότητας αντικειμένου φαίνεται παρακάτω. <owl:objectproperty rdf:id="istaughtby"> <owl:domain rdf:resource="#course"/> <owl:range rdf:resource="#academicstaffmember"/> <rdfs:subpropertyof rdf:resource="#involves"/> </owl:objectproperty> Επίσης μπορούν να ορισθούν ιδιότητες οι οποίες έχουν παραπάνω από μία τιμές για τους domain και range περιορισμούς. Σε αυτήν την περίπτωση, χρησιμοποιείται η τομή των αντίστοιχων κλάσεων ώστε κάθε domain και range περιορισμός να αναφέρεται μόνο σε μία κλάση. Στην OWL υπάρχει η δυνατότητα ορισμού ανάστροφων ιδιοτήτων. Για παράδειγμα: <owl:objectproperty rdf:id="teaches"> <rdfs:range rdf:resource="#course"/> <rdfs:domain rdf:resource="#academicstaffmember"/> <owl:inverseof rdf:resource="#istaughtby"/> </owl:objectproperty> Σε αυτήν την περίπτωση, οι τιμές των domain και range περιορισμών μπορούν να κληρονομηθούν από τις ανάστροφες, με το να αλλάξουν οι domain με τις range τιμές των αντίστοιχων ιδιοτήτων. Η ισοδυναμία των ιδιοτήτων μπορεί να ορισθεί με τη χρήση της owl:equivalentproperty ιδιότητας. Για παράδειγμα: <owl:objectproperty rdf:id="lecturesin"> <owl:equivalentproperty rdf:resource="#teaches"/> </owl:objectproperty> 2.5.4 Περιορισμοί ιδιοτήτων Με την ιδιότητα rdfs:subclassof μπορεί να ορισθεί ότι μια κλάση C είναι υποκλάση μιας άλλης D. Έτσι κάθε αντικείμενο της C είναι και αντικείμενο της D. Ας υποθέσουμε ότι θέλουμε να δηλώσουμε ότι μια κλάση Α πρέπει να ικανοποιεί κάποιες συνθήκες, έτσι ώστε όλα τα αντικείμενα της Α να έχουν κάποιες ορισμένες ιδιότητες. Προφανώς αυτό μπορούμε να το ορίσουμε με το να πούμε ότι η κλάση A είναι υποκλάση μιας κλάσης Β, όπου η Β περιέχει όλα τα αντικείμενα που ικανοποιούν τους περιορισμούς. 19

Για παράδειγμα, θα δώσουμε τον ορισμό μιας κλάσης η οποία απαιτεί τα μαθήματα πρώτου έτους να διδάσκονται μόνο από καθηγητές: <owl:class rdf:about="#firstyearcourse"> <rdfs:subclassof> <owl:restriction> <owl:onproperty rdf:resource="#istaughtby"/> <owl:allvaluesfrom rdf:resource="#professor"/> </owl:restriction> </rdfs:subclassof> </owl:class> Η owl:allvaluesfrom ιδιότητα χρησιμοποιείται για να ορίσουμε την κλάση των πιθανών τιμών της ιδιότητας που αναφέρεται από την ιδιότητα owl:onproperty. Στο παράδειγμά μας, μόνο οι professors επιτρέπεται να είναι οι τιμές της ιδιότητας is- TaughtBy. Επίσης μπορούμε να δηλώσουμε ότι τα μαθήματα που έχουν σχέση με μαθηματικά διδάσκονται από τον David Billington: <owl:class rdf:about="#mathcourse"> <rdfs:subclassof> <owl:restriction> <owl:onproperty rdf:resource="#istaughtby"/> <owl:hasvalue rdf:resource="#949352"/> </owl:restriction> </rdfs:subclassof> </owl:class> Η owl:hasvalue ιδιότητα χρησιμοποιείται για να ορίσει μια συγκεκριμένη τιμή για την ιδιότητα που αναφέρεται από την owl:onproperty ιδιότητα. Επίσης μπορούμε να δηλώσουμε ότι όλα τα ακαδημαϊκά μέλη πρέπει να διδάσκουν τουλάχιστον ένα προπτυχιακό μάθημα: <owl:class rdf:about="#academicstaffmember"> <rdfs:subclassof> <owl:restriction> <owl:onproperty rdf:resource="#teaches"/> <owl:somevaluesfrom rdf:resource="#ugradscourse"/> </owl:restriction> </rdfs:subclassof> </owl:class> Συνοψίζοντας, μπορούμε να πούμε ότι το παράδειγμα που χρησιμοποιεί την owl:allvaluesfrom ιδιότητα επιβάλλει κάθε άτομο που διδάσκει ένα αντικείμενο 20

της κλάσης firstyearcourse να είναι professor. Σε όρους λογικής, έχουμε έναν καθολικό ποσοδείκτη (universal quantifier). Το παράδειγμα που χρησιμοποιεί, η owl:somevaluesfrom ιδιότητα δηλώνει ότι υπάρχει ένα προπτυχιακό μάθημα το οποίο διδάσκεται από ένα αντικείμενο της κλάσης acadmicstaffmember. Σε όρους λογικής, έχουμε έναν υπαρξιακό ποσοδείκτη (existential quantifier). Γενικά, το στοιχείο owl:restriction περιέχει μια owl:onproperty ιδιότητα και μία ή περισσότερες δηλώσεις περιορισμού. Ένας τύπος περιορισμού είναι αυτοί που περιγράψαμε παραπάνω. Ένας άλλος τύπος είναι ο περιορισμός πληθαρίθμου. Για παράδειγμα, μπορούμε να δηλώσουμε ότι κάθε μάθημα θα πρέπει να διδάσκεται από τουλάχιστον ένα άτομο: <owl:class rdf:about="#course"> <rdfs:subclassof> <owl:restriction> <owl:onproperty rdf:resource="#istaughtby"/> <owl:mincardinality rdf:datatype="&xsd;nonnegativeinteger">1 </owl:mincardinality> </owl:restriction> </rdfs:subclassof> </owl:class> Επίσης, μπορούμε να δηλώσουμε ότι ένα τμήμα πρέπει να έχει τουλάχιστον 10 και το πολύ 30 μέλη: <owl:class rdf:about="#department"> <rdfs:subclassof> <owl:restriction> <owl:onproperty rdf:resource="#hasmember"/> <owl:mincardinality rdf:datatype="&xsd;nonnegativeinteger">10 </owl:mincardinality> <owl:maxcardinality rdf:datatype="&xsd;nonnegativeinteger">30 </owl:maxcardinality> </owl:restriction> </rdfs:subclassof> </owl:class> Επομένως, η owl:restriction κλάση ορίζει μια ανώνυμη κλάση η οποία δεν έχει κάποιο id, δεν ορίζεται με τη χρήση του owl:class στοιχείου και έχει τοπική σκοπιά. Δηλαδή μπορεί μόνο να ορισθεί στο μέρος που ο περιορισμός εμφανίζεται. 21

2.5.5 Ειδικές ιδιότητες Στην OWL υπάρχει η δυνατότητα του ορισμού ιδιοτήτων δίνοντάς τους ιδιαίτερα χαρακτηριστικά. Μπορούν να χρησιμοποιηθούν διάφορα στοιχεία της OWL, όπως: owl:transitiveproperty το οποίο ορίζει ότι μια ιδιότητα έχει μεταβατικό χαρακτήρα owl:symmetricproperty το οποίο δηλώνει ότι μια ιδιότητα έχει συμμετρικό χαρακτήρα owl:functionalproperty το οποίο δηλώνει ότι μια ιδιότητα μπορεί να πάρει το πολύ μία τιμή owl:inversefunctionalproperty το οποίο δηλώνει μια ιδιότητα στην οποία δύο διαφορετικά αντικείμενα δεν μπορεί να έχουν μια ίδια τιμή. Ένα παράδειγμα το οποίο δείχνει τη σύνταξη αυτών των ιδιοτήτων φαίνεται παρακάτω: <owl:objectproperty rdf:id="hassamegradeas"> <rdf:type rdf:resource="&owl;transitiveproperty" /> <rdf:type rdf:resource="&owl;symmetricproperty" /> <rdfs:domain rdf:resource="#student" /> <rdfs:range rdf:resource="#student" /> </owl:objectproperty> 2.5.6 Λογικοί συνδυασμοί κλάσεων Στην OWL είναι δυνατός ο ορισμός κλάσεων χρησιμοποιώντας λογικούς τελεστές συνόλων, όπως union, intersection και complement. Για παράδειγμα, μπορούμε να πούμε ότι τα courses και τα staff members είναι ασύνδετα ως εξής: <owl:class rdf:about="#course"> <rdfs:subclassof> <owl:restriction> <owl:complementof rdf:resource="#staffmember"/> </owl:restriction> </rdfs:subclassof> </owl:class> Ο πιο πάνω ορισμός δηλώνει ότι κάθε course είναι αντικείμενο μιας κλάσης η ο- ποία είναι συμπληρωματική της staff members, δηλαδή δεν μπορεί ένα course να 22

είναι και staff member. Αυτή η κατάσταση μπορεί να μοντελοποιηθεί επίσης χρησιμοποιώντας το στοιχείο owl:disjointwith. Η ένωση κλάσεων δηλώνεται με το στοιχείο owl:unionof: <owl:class rdf:id="peopleatuni"> <owl:unionof rdf:parsetype="collection"> <owl:class rdf:about="#staffmember"/> <owl:class rdf:about="#student"/> </owl:unionof> </owl:class> Το στοιχείο rdf:parsetype είναι μια συντόμευση για τη σύνταξη της δημιουργίας λίστας με τα στοιχεία rdf:first και rdf:rest. Τέτοιες λίστες απαιτούνται διότι τα εγγενή containers της RDF έχουν έναν σοβαρό περιορισμό: δεν υπάρχει τρόπος για το κλείσιμο μιας λίστας, δηλαδή δεν μπορούμε να πούμε ότι αυτά είναι μόνο τα στοιχεία της λίστας. Το παραπάνω παράδειγμα δεν εννοεί ότι η καινούργια κλάση είναι υποκλάση της ένωσης αλλά ότι η καινούργια κλάση είναι ισοδύναμη με την ένωση των κλάσεων. Με άλλα λόγια ορίζουμε ισοδυναμία κλάσεων. Η τομή κλάσεων ορίζεται με τη χρήση του στοιχείου owl:intersectionof: <owl:class rdf:id="facultyincs"> <owl:intersectionof rdf:parsetype="owl:collection"> <owl:class rdf:about="#faculty"/> <Restriction> <owl:onproperty rdf:resource="#belongsto"/> <owl:hasvalue rdf:resource="#csdepartment"/> </Restriction> </owl:intersectionof> </owl:class> Αξίζει να παρατηρηθεί ότι δηλώσαμε μια κλάση η οποία αναφέρεται στην τομή δύο κλάσεων από τις οποίες η μία έχει ορισθεί ανώνυμα: η κλάση όλων των αντικειμένων που ανήκουν στο CSDepartment. 2.5.7 Απαρίθμηση αντικειμένων Η απαρίθμηση αντικειμένων δηλώνεται με το στοιχείο owl:oneof και χρησιμοποιείται για τη δήλωση μιας κλάσης με την απαρίθμηση όλων των αντικειμένων της: <owl:oneof rdf:parsetype="collection"> <owl:thing rdf:about="#monday"/> <owl:thing rdf:about="#tuesday"/> <owl:thing rdf:about="#wednesday"/> 23

<owl:thing rdf:about="#thursday"/> <owl:thing rdf:about="#friday"/> <owl:thing rdf:about="#saturday"/> <owl:thing rdf:about="#sunday"/> </owl:oneof> 2.5.8 Αντικείμενα Τα αντικείμενα στην OWL δηλώνονται όπως ακριβώς και στην RDF. Για παράδειγμα: <rdf:description rdf:id="949352"> <rdf:type rdf:resource="#academicstaffmember"/> </rdf:description> ή ισοδύναμα: <academicstaffmember rdf:id="949352"/> Αντίθετα με ότι συμβαίνει στα συστήματα βάσεων δεδομένων, η OWL δεν ακολουθεί την υπόθεση των μοναδικών ονομάτων (unique names assumption). Έτσι, αν και δύο αντικείμενα μπορεί να έχουν διαφορετικό όνομα, δε σημαίνει ότι και στην πραγματικότητα αναφέρονται σε διαφορετικά αντικείμενα. Για παράδειγμα, αν δηλώσουμε ότι κάθε course διδάσκεται από έναν το πολύ staff member: <owl:objectproperty rdf:id="istaughtby"> <rdf:type rdf:resource="&owl;functionalproperty" /> </owl:objectproperty> και στη συνέχεια δηλώσουμε ότι ένα συγκεκριμένο μάθημα διδάσκεται από δύο staff members: <course rdf:about="cit1111"> <istaughtby rdf:resource="949318"> <istaughtby rdf:resource="949352"> </course> αυτό δεν προκαλεί έναν OWL reasoner να βγάλει μήνυμα σφάλματος. Οι περισσότεροι reasoners, σε αυτήν την περίπτωση, εξάγουν το συμπέρασμα ότι τα αντικείμενα "949318" και "949352" είναι ισοδύναμα. Επίσης, για να σιγουρευτούμε ότι δύο α- ντικείμενα δεν μπορεί να είναι ισοδύναμα, μπορούμε να ορίσουμε σαφώς την ανομοιότητά τους: <lecturer rdf:about="949318"> <owl:differentfrom rdf:resource="949352"> </lecturer> 24

Επειδή τέτοιοι ορισμοί ανομοιότητας αντικειμένων συνήθως υπάρχουν πολλοί, η OWL προσφέρει μία συντόμευση στον ορισμό τους χρησιμοποιώντας την έννοια της λίστας: <owl:alldifferent> <owl:distinctmembers rdf:parsetype="collection"> <lecturer rdf:about="949318"> <lecturer rdf:about="949352"> <lecturer rdf:about="949111"> </owl:distinctmembers> </owl:alldifferent> 2.5.9 Οι επιτρεπτές δομές για κάθε υπογλώσσα της OWL Αφού έχουμε περιγράψει με λεπτομέρεια τις δομές που υποστηρίζει η OWL, θα παρουσιάσουμε ποιες είναι οι επιτρεπτές δομές για κάθε μία υπογλώσσα της. OWL Full: στην OWL Full επιτρέπεται η χρήση όλων των δομών OWL DL: η OWL DL θέτει τους παρακάτω περιορισμούς: o Κάθε πηγή (resource) που ορίζεται, επιτρέπεται να είναι ή κλάση, ή τύπος δεδομένου, ή ιδιότητα αντικειμένου, ή ιδιότητα τύπου, ή αντικείμενο, ή να είναι μέρος του λεξιλογίου της OWL. Αυτό σημαίνει ότι μια κλάση δεν μπορεί να είναι ταυτόχρονα και αντικείμενο. o Το σύνολο των ιδιοτήτων τύπων και αντικειμένων πρέπει να είναι ασύνδετο. Αυτό σημαίνει ότι τα ανάστροφα, συναρτησιακά, ανάστροφα συναρτησιακά και άλλα χαρακτηριστικά δεν μπορούν ποτέ να δηλωθούν για ιδιότητες τύπων. o Δεν μπορούν περιορισμοί πληθαρίθμου να δηλωθούν σε επιμεριστικές ιδιότητες. o Οι ανώνυμες κλάσεις επιτρέπονται μόνο στoυς domain και range περιορισμούς των owl:equivalentclass και owl:disjointwith ιδιοτήτων και στο range της rdfs:subclassof ιδιότητας. Για παράδειγμα δεν επιτρέπεται να ορισθεί μια ανώνυμη κλάση ως υποκλάση. OWL Lite: η OWL Lite θέτει περιορισμούς στα στοιχεία της OWL DL, όπως: o δεν επιτρέπει τη χρήση των δομών owl:oneof, owl:disjointwith, owl:unionof, owl:complementof και owl:hasvalue o οι δηλώσεις πληθαρίθμων μπορούν μόνο να χρησιμοποιούν τιμές 0 ή 1 25

26

3 Η Χρήση Κανόνων στη Διαδικασία Συμπερασμού σε Οντολογίες και Υπάρχοντα Συστήματα Σε αυτό το κεφάλαιο παρουσιάζουμε τη διαδικασία εφαρμογής κανόνων σε OWL οντολογίες και το πως μπορεί κάτι τέτοιο να γίνει εφικτό. Επίσης, αναφερόμαστε σε ήδη υπάρχοντα συστήματα τα οποία υιοθετούν αυτήν την προσέγγιση, εντοπίζοντας πλεονεκτήματα και μειονεκτήματα ανάμεσα σε αυτές τις υλοποιήσεις και στη δική μας προσέγγιση. 3.1 Κανόνες στο Σημασιολογικό Διαδίκτυο Η αρχιτεκτονική του Σημασιολογικού Διαδικτύου αναπτύσσεται σε επίπεδα-στρώματα, όπου κάθε επίπεδο βασίζεται στο προηγούμενό του. Η Εικόνα 1 παρουσιάζει διαγραμματικά αυτήν την προσέγγιση. Εικόνα 1. Η διαστρωματωμένη αρχιτεκτονική του Σημασιολογικού Διαδικτύου 27

Σήμερα, το επίπεδο της οντολογίας έχει εξελιχθεί σημαντικά με την OWL να αποτελεί τη πιο διαδεδομένη μορφή ορισμού οντολογιών. Το επόμενο βήμα είναι να προχωρήσει η έρευνα στα επόμενα επίπεδα της λογικής και των αποδείξεων, τα οποία είναι «χτισμένα» πάνω στο επίπεδο της οντολογίας. Βασικό στοιχείο αυτών των επιπέδων θεωρούνται οι κανόνες, όπου μπορούν να θεωρηθούν σαν επέκταση ή σαν μία εναλλακτική προσέγγιση των γλωσσών οντολογιών και επίσης μπορούν να χρησιμοποιηθούν για την ανάπτυξη συστημάτων πάνω από τις οντολογίες. Έχει γίνει μεγάλη προσπάθεια για τον ορισμό μιας γλώσσας κανόνων για το σημασιολογικό Διαδίκτυο πάνω από τις οντολογίες με σκοπό να συνδυάσει ήδη υπάρχουσα πληροφορία και να εξάγει καινούρια. Σήμερα, η RuleML [18] αποτελεί την κύρια προσπάθεια δημιουργίας ενός στάνταρντ κανόνων στο Διαδίκτυο για την υποβολή ερωτήσεων και εξαγωγής συμπερασμάτων από τις οντολογίες. Επίσης, πρόσφατα συστήθηκε το Rule Interchange Format (RIF) group [17] από το W3C με σκοπό τη δημιουργία μιας γλώσσας κανόνων με επεκτάσεις οι οποίες θα επιτρέπουν τους κανόνες να μεταφράζονται ανάμεσα στις γλώσσες και επομένως, να μεταφέρονται μεταξύ των συστημάτων κανόνων. Μία προσέγγιση ανάπτυξης ενός συστήματος κανόνων στο Σημασιολογικό Διαδίκτυο είναι η δημιουργία εξαρχής ενός, το οποίο θα εξάγει συμπεράσματα απευθείας από τις οντολογίες. Όμως, μια τέτοια προσέγγιση δεν εκμεταλλεύεται τα ήδη υπάρχοντα συστήματα κανόνων τα οποία αναπτύσσονται και εξελίσσονται εδώ και δεκαετίες. Στο δικό μας σύστημα, ακολουθούμε μια διαφορετική προσέγγιση: επαναχρησιμοποιούμε ένα υπάρχον σύστημα κανόνων, το CLIPS [2], το οποίο του εφαρμόζουμε κανόνες για την εξαγωγή συμπερασμάτων από τις οντολογίες. Όμως πρέπει να υπάρξει ιδιαίτερη προσοχή για το πώς θα πρέπει να γίνει ο χειρισμός της σημασιολογίας των οντολογιών. Η υλοποίηση και ο σχεδιασμός θα πρέπει να γίνουν με προσοχή ώστε α) να εξάγονται τα σωστά συμπεράσματα με βάση τη σημασιολογία της γλώσσας και β) να τερματίζεται η διαδικασία του συμπερασμού σε λογικό χρόνο. 3.2 Συμπερασματικοί Κανόνες Οι συμπερασματικοί κανόνες (entailment rules) αποτελούν μια προσπάθεια ορισμού της σημασιολογίας της OWL γλώσσας οντολογιών με τη χρήση απλών κανόνων. Οι κανόνες αυτοί, βασισμένοι στα ιδιαίτερα στοιχεία της OWL και στην επίσημη σημασιολογία 28

της, προσπαθούν να ορίσουν τις προϋποθέσεις που πρέπει να ισχύουν ώστε να είναι δυνατή η εξαγωγή κάποιου συμπεράσματος. Αν και δεν υπάρχει πλήρες σύνολο τέτοιων κανόνων για την OWL εξαιτίας της πλούσιας εκφραστικότητά της, έχει γίνει μεγάλη προσπάθεια για τον ορισμό του. Η πιο πρόσφατη ερευνητική προσπάθεια και η πιο πλήρης είναι η [6]. Σε αυτήν την ερευνητική προσπάθεια, γίνεται επέκταση των συμπερασματικών κανόνων της RDF και προστίθενται αντίστοιχοι κανόνες για την OWL. Στις Εικόνες 2 και 3 παρουσιάζουμε τους πίνακες με τους συμπερασματικούς κανόνες της RDF και της OWL αντίστοιχα. Οι συμπερασματικοί κανόνες βασίζονται σε δηλώσεις (statements). Για παράδειγμα, ο συμπερασματικός κανόνας rdfs11 δηλώνει ότι αν υπάρχει μια δήλωση υποκλάσης ανάμεσα στο υ και στο w και μια αντίστοιχη δήλωση ανάμεσα στο w και στο u, τότε ένα σύστημα θα πρέπει να συμπεράνει τη δήλωση ότι το υ είναι επίσης υποκλάση του u. Στην ουσία αυτός ο κανόνας εφαρμόζει το μεταβατικό χαρακτήρα της rdfs:subclassof ιδιότητας που ουσιαστικά δηλώνεται με τον πιο γενικό συμπερασματικό κανόνα rdfp4 της OWL στην Εικόνα 3. Τέτοιοι κανόνες υπάρχουν για κάθε ιδιότητα και για κάθε στοιχείο τόσο του RDF όσο και της OWL. Εικόνα 2. Συμπερασματικοί κανόνες της RDF 29

Εικόνα 3. Συμπερασματικοί κανόνες της OWL 3.3 Οντολογίες και Tριπλέτες Τόσο οι RDF όσο και οι OWL οντολογίες αποτελούνται από τριπλέτες. Κάθε οντολογία, ανεξαρτήτως σύνταξης, μπορεί να μετατραπεί σε ένα σύνολο από τριπλέτες της μορφής: <subject predicate object> όπου subject είναι το υποκείμενο, predicate το κατηγόρημα και object το αντικείμενο της τριπλέτας. Η μετατροπή αυτή είναι μονοσήμαντη και πολύ εύχρηστη, ιδιαί- 30

τερα στα συστήματα εξαγωγής συμπερασμάτων με χρήση κανόνων. Για παράδειγμα, έστω ότι έχουμε την παρακάτω απλή οντολογία: <owl:class rdf:id="person"> <rdfs:subclassof rdf:resource="#human"/> </owl:class> <owl:class rdf:id="man"> <rdfs:subclassof rdf:resource="#person"/> </owl:class> Οι τριπλέτες που προκύπτουν από αυτή την οντολογία είναι οι παρακάτω: <Person rdf:type owl:class> <Human rdf:type owl:class> <Man rdf:type owl:class> <Person rdfs:subclassof Human> <Man rdfs:subclassof Person> Είναι φανερό ότι οι προηγούμενοι συμπερασματικοί κανόνες μπορούν να εφαρμοστούν πάνω στις τριπλέτες μια οντολογίας. Για παράδειγμα, ο rdfs4 κανόνας που αναφέραμε, αν εφαρμοστεί στις παραπάνω τριπλέτες θα δώσει την ακόλουθη τριπλέτα: <Man rdfs:subclassof Human> η οποία θεωρείται υπονοούμενη (implicit) πληροφορία η οποία δεν αναφέρεται σαφώς στην οντολογία άλλα ένα σύστημα συμπερασμού θα πρέπει να είναι σε θέση να την ε- ξάγει. 3.4 Συστήματα Συμπερασμού με Κανόνες Τα περισσότερα συστήματα συμπερασμού με κανόνες χρησιμοποιούν τη μορφή των τριπλετών των οντολογιών και εφαρμόζουν συμπερασματικούς κανόνες για να εξάγουν νέες τριπλέτες και με αυτόν τον τρόπο να εισάγουν την καινούρια πληροφορία στο σύστημα. Οι διαφορά αυτών των συστημάτων έγκειται στο διαφορετικό τρόπο υλοποίησης του κάθε συστήματος και στον διαφορετικό βαθμό σημασιολογίας που υποστηρίζουν. 3.4.1 Το σύστημα OWLIM Το OWLIM [10] είναι ένα σύστημα συμπερασμού του οποίου η λειτουργία βασίζεται σε εφαρμογή κανόνων συμπερασμού ορθής φοράς (forward chaining). Χρησιμοποιεί το Sesame [21] που είναι μια αποθήκη για RDF μεταδεδόμενα. Για την εξαγωγή συμπερα- 31

σμάτων, χρησιμοποιεί τη μηχανή κανόνων TRREE [24] (Triple Reasoning and Rule Entailment Engine) που είναι υλοποιημένη στην JAVA. Υπάρχει μια έκδοση του OWLIM που ονομάζεται SwiftOWLIM η οποία εφαρμόζει τη διαδικασία συμπερασμού και απαντά σε ερωτήματα χρησιμοποιώντας μόνο τη μνήμη του υπολογιστή. Αυτό έχει ως αποτέλεσμα η επεξεργασία των δεδομένων να γίνεται πιο γρήγορα από άλλες υλοποιήσεις του συστήματος που βασίζονται σε αρχεία (file-based versions). Η σημασιολογία που υποστηρίζεται είναι πιο πλούσια από την DLP. 3.4.2 Το σύστημα OWLJessKB Το OWLJessKB [15] είναι ένα σύστημα συμπερασμού το οποίο είναι υλοποιημένο στη γλώσσα JAVA και χρησιμοποιεί το σύστημα κανόνων JESS [9]. Το JESS μπορεί να θεωρηθεί σαν μια JAVA έκδοση του συστήματος CLIPS, με σαφώς λιγότερες δυνατότητες και χαμηλότερη απόδοση. Το OWLJessKB ορίζει συμπερασματικούς κανόνες στη γλώσσα κανόνων που υποστηρίζει το JESS και τους εφαρμόζει στις τριπλέτες των οντολογιών. Το αποτέλεσμα είναι να δημιουργούνται περισσότερες τριπλέτες οι οποίες προκύπτουν από τη διαδικασία συμπερασμού. Η σημασιολογία της OWL που υποστηρίζεται είναι μικρότερη από αυτή της OWL Lite και είναι ένα υποσύνολο της DLP. 3.4.3 Το σύστημα TRIPLE Το σύστημα TRIPLE [22] είναι ένα παρόμοιο σύστημα με το OWLJessKB με τη διαφορά ότι χρησιμοποιεί μια δικιά του γλώσσα κανόνων και ένα δικό του σύστημα για τη διαδικασία του συμπερασμού. Οι κανόνες που χρησιμοποιεί επεξεργάζονται από το XSB [19], ένα σύστημα λογικού προγραμματισμού και μια επαγωγική βάση. Η σημασιολογία της OWL που υποστηρίζει αναφέρεται ως OWL Lite-. 3.4.4 Το σύστημα JENA To JENA [8] είναι ένα σύστημα υλοποιημένο στην JAVA και προσφέρει ένα API για την ανάπτυξη εφαρμογών στο Σημασιολογικό Διαδίκτυο. Χρησιμοποιεί μια δικιά του μηχανή κανόνων για εξαγωγή συμπερασμάτων και υποστηρίζει τις γλώσσες RDF, RDFS, OWL και SPARQL. 32

3.5 Η προσέγγιση του O-DEVICE Είδαμε ότι τα παραπάνω συστήματα χρησιμοποιούν τις τριπλέτες σαν πληροφορία για να εξάγουν αποτελέσματα, εφαρμόζοντας κατάλληλους κανόνες. Οι κανόνες αυτοί, α- νάλογα με τις τριπλέτες που υπάρχουν, εξάγουν νέα γνώση βασισμένοι στη σημασιολογία της OWL. Το O-DEVICE ακολουθεί μια διαφορετική προσέγγιση. Βασισμένο στην πληροφορία των τριπλετών, δημιουργεί ένα αντικειμενοστραφές σχήμα στο σύστημα κανόνων CLIPS και εφαρμόζει συμπερασματικούς κανόνες πάνω σε αυτό το σχήμα. Δηλαδή, οι συμπερασματικοί κανόνες που εφαρμόζει αναφέρονται σε αντικειμενοστραφή στοιχεία, όπως σε κλάσεις και σε αντικείμενα. Τα OWL στοιχεία, όπως οι κλάσεις, οι ιδιότητες και τα αντικείμενα ορίζονται διάσπαρτα σε ένα OWL αρχείο. Για παράδειγμα, οι κλάσεις ορίζονται ξεχωριστά από τις ιδιότητες ή ακόμα μπορεί να βρίσκονται και σε ξεχωριστό αρχείο. Επίσης, υπάρχει και η περίπτωση που κάποιος επαναχρησιμοποιεί μια οντολογία και την επεκτείνει με το να προσθέτει νέες κλάσεις, ιδιότητες και αντικείμενα. Αν και αυτός ο τρόπος ορισμού των οντολογιών δίνει επεκτασιμότητα και βοηθάει στην επαναχρησιμοποίησή τους, η πληροφορία είναι κατανεμημένη σε πολλά αρχεία, κάνοντας δύσκολη την ανάκτησή τους από ένα σύστημα συμπερασμού. Ο δικός μας στόχος είναι να ορίσουμε μεθοδολογίες αντιστοίχησης των OWL στοιχείων και της σημασιολογίας σε ένα αντικειμενοστραφές περιβάλλον όπου οι κλάσεις περικλείουν τους ορισμούς των ιδιοτήτων και οι τιμές των ιδιοτήτων βρίσκονται μέσα στις αντίστοιχες ιδιότητες των αντικειμένων. Με την εφαρμογή της διαδικασίας μετασχηματισμού, θέλουμε να εκμεταλλευτούμε τα βασικά χαρακτηριστικά που ένα αντικειμενοστραφές περιβάλλον παρέχει. Το πιο σημαντικό χαρακτηριστικό είναι διαχείριση της ιεραρχίας των κλάσεων. Έτσι, στην περίπτωσή μας, αυτή η διαχείριση γίνεται από το εγγενή σύστημα διαχείρισης κλάσεων του CLIPS. Επομένως, οι rdfs11 και rdfs9 συμπερασματικοί κανόνες της Εικόνας 2, υλοποιούνται αυτόματα από το σύστημα. Με αυτόν τον τρόπο έχουμε γρήγορη πρόσβαση στις κλάσεις και στις υποκλάσεις και η κληρονομικότητα των ιδιοτήτων επιτυγχάνεται αυτόματα. Η υλοποίησή μας στοχεύει σε ένα σύστημα το οποίο δεν είναι δεσμευμένο απόλυτα στην πληροφορία των τριπλετών για την εξαγωγή των συμπερασμάτων. Αντίθετα, χρησιμοποιούμε τις τριπλέτες για να δημιουργήσουμε ένα αντικειμενοστραφές σχήμα, με 33

κλάσεις και αντικείμενα και η διαδικασία συμπερασμού λαμβάνει χώρα με βάση την πληροφορία του σχήματος. Οι οντολογίες χρησιμοποιούνται ευρέως για τη μοντελοποίηση ενός πεδίου γνώσης. Μπορούν να χρησιμοποιηθούν από ανθρώπους και συστήματα τα οποία χρειάζονται να μοιραστούν πληροφορίες με έναν κατανοητό από τις μηχανές τρόπο. Επομένως, για να μπορέσουμε να εκμεταλλευτούμε πλήρως τα πλεονεκτήματα που προσφέρουν, θα πρέπει να συστήματα συμπερασμού να μην οδηγούνται μόνο στα κατάλληλα συμπεράσματα αλλά να έχουν την ικανότητα να τη χρησιμοποιούν μέσα από προγράμματα. Η χρήση ενός συστήματος κανόνων, ικανό να συμπεραίνει νέα πληροφορία από τις οντολογίες, είναι μείζονος σημασίας γιατί μετά μπορούν να αναπτυχθούν προγράμματα τα οποία να τη χρησιμοποιούν με κανόνες. Επίσης, η μοντελοποίηση της πληροφορίας ακολουθώντας μια αντικειμενοστραφή προσέγγιση, δίνει ακόμα περισσότερα πλεονεκτήματα, αφού βρίσκεται πιο κοντά στον τρόπο σκέψης και ορισμού εννοιών των ανθρώπων. 34

4 Το Σύστημα Κανόνων Παραγωγής CLIPS Το CLIPS [2] (C Language Integrated Production System) είναι ένα περιβάλλον που προσφέρει δυνατότητες για προγραμματισμό με κανόνες, αντικείμενα και συναρτήσεις. Αναπτύχθηκε από την NASA με σκοπό να αποτελέσει μια χαμηλού κόστους πλατφόρμα ανάπτυξης έμπειρων συστημάτων, αντικαθιστώντας να ήδη υπάρχοντα τα οποία βασίζονταν στη γλώσσα Lisp. Σε αυτό το κεφάλαιο γίνεται μια σύντομη περιγραφή του συστήματος σε μια προσπάθεια να αναφερθούν τα κυριότερα στοιχεία του και ο τρόπος λειτουργίας του ώστε να γίνει πιο κατανοητός ο τρόπος με τον οποίον λειτουργεί το σύστημα το οποίο έχουμε αναπτύξει και βασίζεται στο CLIPS. Η περιγραφή αυτή βασίζεται σε ένα μεγάλο μέρος στην ανάλυση του συστήματος που γίνεται στο [31]. 4.1 Δομή του CLIPS Το CLIPS είναι ένα διερμηνευόμενο σύστημα παραγωγής το οποίο υποστηρίζει την ορθή λειτουργία εκτέλεσης. Τα κύρια μέρη του συστήματος είναι: Η λίστα γεγονότων (facts list) η οποία αντιστοιχεί στη μνήμη εργασίας των συστημάτων παραγωγής. Είναι ουσιαστικά ο χώρος που αποθηκεύονται τα γεγονότα. Η βάση κανόνων (rule base) όπου περιέχονται οι κανόνες του προγράμματος. Ο μηχανισμός εξαγωγής συμπερασμάτων (inference engine) ο οποίος ελέγχει τη λειτουργία ολόκληρου του συστήματος. Ο μηχανισμός αυτός προσφέρει ένα πλήθος από στρατηγικές επίλυσης συγκρούσεων (conflict resolution strategies) για την επιλογή του κανόνα που θα πυροδοτηθεί. Έτσι λοιπόν, ένα πρόγραμμα στο CLIPS είναι ένα σύνολο από κανόνες και γεγονότα και η εκτέλεση του συνίσταται σε μια ακολουθία από πυροδοτήσεις κανόνων, των οποίων οι συνθήκες ικανοποιούνται. Η ικανοποίηση των συνθηκών γίνεται μέσω της διαδικασίας ταυτοποίησής τους με τα γεγονότα που υπάρχουν στη λίστα γεγονότων. Η 35

εκτέλεση τερματίζεται όταν δεν υπάρχουν άλλοι κανόνες προς πυροδότηση ή όταν κληθεί συγκεκριμένη εντολή τερματισμού. 4.2 Σύνταξη του CLIPS Σε αυτήν την ενότητα παρουσιάζονται τα βασικά στοιχεία σύνταξης του CLIPS, όπως δομικά στοιχεία, μεταβλητές, γεγονότα και κανόνες. 4.2.1 Βασικά δομικά στοιχεία Τα δομικά στοιχεία του CLIPS είναι τα σύμβολα, τα αλφαριθμητικά, οι αριθμοί και τα σχόλια. Πιο συγκεκριμένα: Σύμβολα: Ένα σύμβολο αποτελεί μια οποιαδήποτε ακολουθία χαρακτήρων η οποία ξεκινά από οποιοδήποτε χαρακτήρα εκτός από <,, \, &, (, ), $,?, +, - και δεν περιέχει τους χαρακτήρες <,, \, &, (, ), ;. Αλφαριθμητικά: Ένα αλφαριθμητικό ξεκινά και τελειώνει με διπλά εισαγωγικά. Αριθμοί: Το CLIPS υποστηρίζει τις κλασικές αναπαραστάσεις αριθμών. Σχόλια: Καθετί που ακολουθεί το χαρακτήρα ; μέχρι το τέλος της γραμμής, θεωρείται σχόλιο. 4.2.2 Μεταβλητές Οι μεταβλητές στο CLIPS είναι σύμβολα τα οποία ξεκινούν με τους χαρακτήρες $? ή? και πρέπει ο πρώτος χαρακτήρας να μην είναι αριθμός. Υπάρχουν δύο είδη μεταβλητών, οι μονότιμες και οι πολλαπλών τιμών. Μονότιμες: Μπορούν να πάρουν ως τιμή μόνο ένα σύμβολο, αριθμό ή αλφαριθμητικό και ξεκινούν με το σύμβολο?, π.χ.?var. Πολλαπλών τιμών: Παίρνουν για τιμές ένα ή περισσότερα σύμβολα και ξεκινούν με το χαρακτήρα $?, π.χ. $?list. Οι μεταβλητές εμφανίζονται τόσο στις συνθήκες ενός κανόνα όσο και στις ενέργειές του. Η ανάθεση τιμών στις συνθήκες ενός κανόνα γίνεται μέσω της διαδικασίας της ταυτοποίησης. Στις ενέργειες ενός κανόνα πρέπει να χρησιμοποιηθεί μια κατάλληλη συνάρτηση (bind). Χαρακτηριστικό των μεταβλητών είναι ότι έχουν τοπικό χαρακτήρα, δηλαδή ισχύουν μόνο στον κανόνα στον οποίον ορίζονται. 36

4.2.3 Γεγονότα Τα γεγονότα αποτελούν την πληροφορία που το σύστημα γνωρίζει και στην οποία βασίζεται για να εξάγει συμπεράσματα. Τα γεγονότα είναι λίστες από σύμβολα τα οποία περικλείονται σε παρενθέσεις, π.χ. (person george meditkos). Τα γεγονότα αποθηκεύονται στη λίστα γεγονότων και είναι δυνατόν να εμφανιστούν στο χρήστη με δύο τρόπους: με την εντολή (facts) από τη γραμμή εντολών του CLIPS και μέσω του αντίστοιχου παραθύρου στο γραφικό περιβάλλον του CLIPS. Τα γεγονότα που υπάρχουν στη μνήμη εργασίας δεν είναι στατικά και μπορούν να εισαχθούν ή να διαγραφούν κατά την εκτέλεση του προγράμματος. Κάθε γεγονός που είναι αποθηκευμένο στη λίστα γεγονότων έχει ένα χαρακτηριστικό αριθμό (fact index) ο οποίος ορίζεται αυτόματα κατά την καταχώρηση του γεγονότος στη λίστα. Ο αριθμός αυτός χαρακτηρίζει μοναδικά το γεγονός και χρησιμεύει τόσο στη διαγραφή του όσο και στο να γνωρίζει ο χρήστης και το σύστημα ποια γεγονότα ενεργοποίησαν έναν κανόνα. Εισαγωγή γεγονότων: Η εισαγωγή μπορεί να γίνει με δύο τρόπους: με την εντολή assert και με την εντολή deffacts. (assert <fact>): Η εντολή assert δέχεται σαν όρισμα το γεγονός που θέλουμε να εισάγουμε στη μνήμη, π.χ. (assert (name george)). deffacts: Αυτή η εντολή χρησιμοποιείται για τη μαζική εισαγωγή γεγονότων στο σύστημα κατά την εκκίνηση του προγράμματος. Για να εισαχθούν τα γεγονότα αυτά θα πρέπει πρώτα να φορτωθεί το αντίστοιχο αρχείο που περιέχει τον ορισμό αυτών των γεγονότων και έπειτα να εκτελεστεί η εντολή (reset). Η σύνταξη αυτής της δομής φαίνεται παρακάτω: (deffacts <fact-set-name> comment (fact1) (fact2)... (factn)) 37