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

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

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

Transcript

1 ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ - ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ηµιουργία µιας ετικέτας (tab widget) στο εργαλείο ανάπτυξης οντολογιών Protégé ιπλωµατική Εργασία του Χατζηαγαπίου Στυλιανού (ΑΕΜ: 1169) Επιβλέπων Καθηγητής: Νικόλαος Βασιλειάδης ΘΕΣΣΑΛΟΝΙΚΗ ΙΟΥΛΙΟΣ i-

2 Πρόλογος Η παρούσα διπλωµατική εργασία ασχολείται µε τη διαδικασία κατασκευής µιας ετικέτας (tab widget) στο εργαλείο ανάπτυξης οντολογιών Protégé και τη δηµιουργία του κατάλληλου περιβάλλοντος για την αξιοποίηση προηγούµενου λογισµικού (CLIPS- OWL) σχετικά µε τη µετατροπή OWL οντολογιών στην αντικειµενοστρεφή γλώσσα COOL του συστήµατος κανόνων παραγωγής CLIPS. Αξιοποιώντας το γεγονός ότι το Protégé προσφέρει τη δυνατότητα ανάπτυξης εφαρµογών στο δικό του API σε JAVA, κατασκευάστηκε ένα περιβάλλον το οποίο επιτρέπει την εισαγωγή οντολογιών OWL στη βάση γνώσης του CLIPS για την ανάπτυξη αντικειµενοστρεφών προγραµµάτων κανόνων. Με την ενεργοποίηση της ετικέτας, δίνεται η δυνατότητα στους χρήστες να φορτώνουν ή να δηµιουργούν µια οντολογία στο περιβάλλον του Protégé και να παίρνουν για έξοδο ένα αρχείο µε τον αντίστοιχο κώδικα στη γλώσσα COOL. Θα ήθελα να εκφράσω τις θερµές µου ευχαριστίες στον κ. Νικόλαο Βασιλειάδη, Επίκουρο Καθηγητή του Τµήµατος Πληροφορικής του Αριστοτελείου Πανεπιστηµίου Θεσσαλονίκης για την εµπιστοσύνη που έδειξε στο πρόσωπό µου και µου ανάθεσε τη διπλωµατική εργασία αυτή και την επιστηµονική καθοδήγηση που µου πρόσφερε προκειµένου να πραγµατοποιηθεί η συγκεκριµένη έρευνα. Επίσης θα ήθελα να ευχαριστήσω τον κ. Γεώργιο Μεδίτσκο, διδάκτορα του Τµήµατος Πληροφορικής του Αριστοτελείου Πανεπιστηµίου Θεσσαλονίκης για τη ση- µαντική βοήθεια του και τη συνεχή καθοδήγηση που µου παρείχε σε κάθε δυσκολία η αδιέξοδο βρισκόµουν. Τέλος, ευχαριστώ πολύ την οικογένειά και το φιλικό µου περιβάλλον για τη συ- µπαράσταση και την υποστήριξη που µου πρόσφεραν σε όλη τη διάρκεια ενασχόλησης µου µε το έργο αυτό. Χατζηαγαπίου Στυλιανός Ιούλιος i-

3

4 ΠΡΟΛΟΓΟΣ ΕΙΣΑΓΩΓΗ Η ΓΛΩΣΣΑ ΟΝΤΟΛΟΓΙΩΝ OWL Σηµασιολογικός Ιστός Το σηµερινό διαδίκτυο Ο Σηµασιολογικός Ιστός ως πρόταση Οντολογίες Εισαγωγικά στις οντολογίες Απαιτήσεις µιας Γλώσσας Οντολογιών Τεχνολογία Οντολογιών OWL Οντολογίες Υπογλώσσες της OWL Περιγραφή της γλώσσας OWL CLIPS-COOL Τo CLIPS Χαρακτηριστικά του CLIPS Έµπειρα συστήµατα Σύνταξη του CLIPS Η αντικειµενοστρεφή γλώσσα COOL Οι κλάσεις στην COOL Το περιβάλλον του CLIPS Χρήση γνώσης OWL µε συστήµατα κανόνων ιασύνδεση ενός DL Reasoner µε µια µηχανή κανόνων Μετασχηµατισµός οντολογιών OWL σε κανόνες Συνδυασµός υβριδικών και οµογενών πλαισίων Η βιβλιοθήκη CLIPS-OWL Η αρχιτεκτονική της βιβλιοθήκης CLIPS-OWL Παράδειγµα µίξης γεγονότων και µοτίβων αντικειµένων PROTÉGÉ - ΜΕΘΟ ΟΛΟΓΙΑ Protégé Επισκόπηση του Protégé Μοντελοποίηση οντολογιών API Protégé Ετικέτες Protégé (plug-ins) ηµιουργία µιας οντολογίας Πρώτα βήµατα δηµιουργίας µιας νέας οντολογίας στο Protégé Λειτουργία της ετικέτας στην οντολογία Μεθοδολογία ανάπτυξης ετικέτας (plug-in) NetBeans ιαδικασία δηµιουργίας της ετικέτας Χρήση της ετικέτας από την κοινότητα ΣΥΜΠΕΡΑΣΜΑΤΑ iii-

5 ΒΙΒΛΙΟΓΡΑΦΙΑ iv-

6 1 Εισαγωγή Η σηµερινή εποχή χαρακτηρίζεται από την πληροφορία, την ευρεία διάθεση και εύκολη πρόσβασή της και τέλος, την αποθήκευσή της σε βάσεις δεδοµένων. Ο Παγκόσµιος Ι- στός αποτελεί το µέσο πρόσβασης σε µια αστείρευτη πηγή γνώσης και έχει αλλάξει τον τρόπο επικοινωνίας των ανθρώπων, έχοντας αποκτήσει ιδιαίτερη σηµασία στη ζωή του ανθρώπου. Αυτός ο απίστευτων διαστάσεων όγκος δεδοµένων συνεχώς αυξάνεται δη- µιουργώντας νέες απαιτήσεις και ανάγκες για την κατάλληλη διαχείρισή του. Ο Σηµασιολογικός Ιστός (Semantic Web) αποτελεί µια εναλλακτική προσέγγιση και περιλαµβάνει τεχνικές που υπόσχονται να βελτιώσουν εντυπωσιακά τον υπάρχοντα Παγκόσµιο Ιστό και τη χρήση του. Πρόκειται για την αρχιτεκτονική που αναφέρεται στην αναπαράσταση του διαδικτυακού περιεχοµένου σε µορφή που είναι ευκολότερα επεξεργάσιµη από υπολογιστές και η χρήση έξυπνων τεχνικών για την εκµετάλλευση αυτών των αναπαραστάσεων. Το όραµα του Σηµασιολογικού Ιστού είναι η µετατροπή του σηµερινού διαδικτύου σε ένα πιο αυτοµατοποιηµένο περιβάλλον, στο οποίο η αναζήτηση πληροφοριών θα επιτυγχάνεται από πράκτορες-προγράµµατα αυτόµατα. Προς την κατεύθυνση αυτή είναι η περιγραφή της πληροφορίας και των υπηρεσιών µε τρόπο κατανοητό από τις µηχανές. Ενώ για την υλοποίηση αυτής της ιδέας απαιτούνται οι κατάλληλες υποδοµές και στάνταρ, αυτή τη στιγµή οι οντολογίες παίζουν έναν κυρίαρχο ρόλο και χρησιµοποιούνται για την κατάλληλη αναπαράσταση της γνώσης µε έναν τυπικό και σαφή τρόπο. Οι οντολογίες αποτελούν την τυπική αναπαράσταση συνόλων εννοιών εντός κάποιου πεδίου συµπεριλαµβανοµένου και των σχέσεων µεταξύ των εννοιών αυτών. Χρησιµοποιούνται για τη λογική θεµελίωση των ιδιοτήτων, ή ακόµα και για τον ορισµό του πεδίου αυτού. Με τη χρήση οντολογιών, δίνεται στην πληροφορία µια καλά ορισµένη σηµασία, επιτρέποντας τις µηχανές-προγράµµατα να την καταλαβαίνουν και να ενεργούν αντί των ανθρώπων. Μπορούµε να πούµε ότι συλλαµβάνουν γνώση για συγκεκριµένο πεδίο ενδιαφέροντος. -1-

7 Η Web Ontology Language (OWL) είναι µια γλώσσα οντολογιών του σηµασιολογικού ιστού, η οποία ανήκει στις οικογένειες γλωσσών αναπαράστασης γνώσης, ε- γκεκριµένη από την επιστηµονική κοινότητα του παγκόσµιου ιστού World Wide Web Consortium (W3C). Πρόκειται για µια γλώσσα που ειδικεύεται στην παραγωγή και διαµοίραση οντολογιών στον Ιστό, όπου το θεωρητικό της υπόβαθρο βασίζεται στο φορ- µαλισµό αναπαράστασης γνώσης της Περιγραφικής Λογικής Description Logic (DL) που αποτελεί υποσύνολο της κατηγορηµατικής λογικής. Η ιδέα του ανοιχτού λογισµικού εµφανίστηκε από τα πρώτα χρόνια του Παγκόσµιου Ιστού µαζί µε τις µεγάλες εταιρίες παραγωγής λογισµικού και εµπορικής διανο- µής του και σύντοµα έγινε αρκετά δηµοφιλής. Αρχές του αποτελούν ο σχεδιασµός, η ανάπτυξη και η δωρεάν διανοµή λογισµικού είτε σε προσωπικό επίπεδο είτε από κάποιο οργανωµένο σύνολο προγραµµατιστών. Το Protégé ως σύστηµα απόκτησης γνώσης και σύνταξης ανοιχτού λογισµικού οντολογιών ακολουθεί πιστά αυτή την ιδεολογία, παρέχοντας πακεταρισµένα στις διάφορες εκδόσεις του το σύνολο των ετικετών (plug-ins) που έχουν κατασκευάσει και διανείµει οι διάφοροι χρήστες του. Αυτές οι πρόσθετες εφαρµογές, τις οποίες καθορίζει ο κάθε χρήστης αν θα είναι ενσωµατωµένες στο περιβάλλον του Protégé ή όχι, παρέχουν λειτουργίες που αφορούν ένα µεγάλο εύρος εφαρµογών. Στην πλειονότητά τους, οι ε- φαρµογές αφορούν τη διαχείριση οντολογιών του Σηµασιολογικού Ιστού (OWL). Η ανάγκη διαχείρισης σηµασιολογικά σχολιασµένης πληροφορίας σε συστήµατα κανόνων οδήγησε στη σύνδεση των OWL οντολογιών και των συστηµάτων κανόνων. Αυτή η ανάγκη είναι ζωτικής σηµασίας για επιχειρήσεις και για την επιτυχηµένη αξιοποίηση τεχνολογιών του Σηµασιολογικού Ιστού για το λόγο του ότι καθίσταται δυνατή η πρόσβαση από την υπάρχουσα και καλά γνώριµη δοµή των συστηµάτων κανόνων στο νέο και εξελίξιµο Σηµασιολογικό Ιστό. Το CLIPS (C Language Integrating Production System) είναι ένα εργαλείο ανάπτυξης έµπειρων συστηµάτων και αποτελεί ένα σύστηµα κανόνων παραγωγής. Το CLIPS διαθέτει την αντικειµενοστρεφή γλώσσα COOL (Classroom Object Oriented Language) για τη συγγραφή έµπειρων συστηµάτων, ακολουθώντας αρχές αντικειµενοστρέφιας. Η γλώσσα COOL ανήκει στις προγραµµατιστικές γλώσσες τεχνητής νοηµοσύνης. -2-

8 Στην παρούσα εργασία, αναπτύχθηκε µια ετικέτα, η οποία παρέχει το κατάλληλο περιβάλλον στο Protégé για τη µετατροπή οντολογιών OWL στην αντικειµενοστρεφή γλώσσα COOL του CLIPS. Η ανάπτυξη και χρήση της εφαρµογής απαιτεί βιβλιοθήκες του Protégé για την εκτέλεση του προγράµµατος και βιβλιοθήκες του CLIPS-OWL, µια επέκταση του συστήµατος κανόνων παραγωγής CLIPS η οποία αξιοποιεί την αντικειµενοστρεφή γλώσσα, COOL, για τη λειτουργία της εφαρµογής. Με αυτό τον τρόπο παρέχουµε τη δυνατότητα σε προγράµµατα κανόνων παραγωγής του CLIPS να προσπελάζουν ένα αντικειµενοστρεφές µοντέλο COOL, το οποίο προέρχεται από µια οντολογία OWL και χρησιµοποιώντας το, να απαντούν σε περιορισµούς σχετικά µε τα αντικείµενα του µοντέλου. Ακολουθεί στη συνέχεια, η συνοπτική περιγραφή του περιεχοµένου των επόµενων κεφαλαίων: Κεφάλαιο 2: Η Γλώσσα Οντολογιών OWL Στο κεφάλαιο αυτό περιγράφεται η ιδέα του Σηµασιολογικού Ιστού και αναλύονται τα οφέλη της γενικευµένης χρήσης του και αντικατάστασης του υπάρχοντος Ιστού. Επίσης, γίνεται µια εισαγωγή στις οντολογίες, αναφέρονται οι απαιτήσεις σε µια γλώσσα οντολογιών όπως και λίγα στοιχεία σχετικά µε την τεχνολογία οντολογιών. Τέλος περιγράφεται η γλώσσα οντολογιών OWL µε την παρουσίαση των υπογλωσσών της και µερικά παραδείγµατα. Κεφάλαιο 3: CLIPS-COOL Στο κεφάλαιο αυτό περιγράφεται το εργαλείο ανάπτυξης και παραγωγής έµπειρων συστηµάτων CLIPS και αναλύονται τα χαρακτηριστικά και η σύνταξή του. Αναφέρονται επίσης σύντοµα, κάποια στοιχεία για τα έµπειρα συστήµατα και τη χρησιµότητα τους. Στο ίδιο κεφάλαιο γίνεται εισαγωγή της αντικειµενοστρεφούς γλώσσας COOL. Τέλος, γίνεται µια αναφορά στη βιβλιοθήκη CLIPS-OWL και τη χρήση των οντολογιών OWL µε συστήµατα κανόνων. Στην ουσία, εξηγείται η λειτουργία του προγράµµατος που ενσωµατώνει η ετικέτα και αναλύεται ο σκοπός της υλοποίησής του. Κεφάλαιο 4: Protégé Μεθοδολογία Στο κεφάλαιο αυτό γίνεται επισκόπηση του Protégé που αποτελεί ένα ελεύθερο και α- νοιχτού κώδικα εργαλείο σύνταξης οντολογιών. Αναφέρονται οι τρόποι µοντελοποίησης οντολογιών στην πλατφόρµα του, το API που υποστηρίζει και οι δυνατότητες που προσφέρει. Επίσης, ακολουθούµε τα βήµατα δηµιουργίας µιας οντολογίας στα πλαίσια -3-

9 του Protégé και της µετατροπής της στο µοντέλο COOL. Στο τελευταίο µέρος του κεφαλαίου αυτού αναλύονται λεπτοµερώς τα βήµατα που ακολουθήθηκαν για την ανάπτυξη της ετικέτας µέχρι το στάδιο της διάθεσης της στην κοινότητα του Protégé για τη δηµόσια χρήση της. Κεφάλαιο 5: Συµπεράσµατα Στο τελευταίο κεφάλαιο παρουσιάζονται τα συµπεράσµατα από τη διαδικασία ανάπτυξης της ετικέτας στο Protégé και κάποιες παρατηρήσεις. -4-

10 2 Η Γλώσσα Οντολογιών OWL Σε αυτό το κεφάλαιο γίνεται µια σύντοµη εισαγωγή στη γλώσσα οντολογιών OWL [38] (Web Ontology Language) που αποτελεί την πρόταση της Κοινοπραξίας Παγκόσµιου Ιστού W3C [60] για τον ορισµό και διαµοιρασµό οντολογιών στο Σηµασιολογικό Ιστό [1][53][54]. Πιο συγκεκριµένα παρουσιάζονται τα βασικά χαρακτηριστικά των οντολογιών και η συµβολή τους στην αναπαράσταση της γνώσης και γίνεται µια σύντοµη α- ναφορά στις βασικότερες δοµές που προσφέρει η OWL για τον ορισµό οντολογιών. Με το τέλος του κεφαλαίου θα έχει αποκτηθεί το βασικό υπόβαθρο σχετικά µε τις οντολογίες και τη γλώσσα σηµασιολογικού ιστού OWL. 2.1 Σηµασιολογικός Ιστός Ο Σηµασιολογικός Ιστός, που εµπνευστής του αποτελεί ο ίδιος άνθρωπος που δηµιούργησε τον Παγκόσµιο Ιστό, ο Tim Berners Lee [57], αποτελεί την πρόταση που αποσκοπεί να βελτιώσει τον υπάρχοντα Ιστό και προωθείται από το W3C Το σηµερινό διαδίκτυο Το διαδίκτυο ξεκίνησε µε κύρια λειτουργία τη διάθεση και ανταλλαγή πληροφοριών. Σύντοµα όµως, επεκτάθηκε σε πλήθος άλλων λειτουργιών όπως η συλλογή, αποθήκευση και αναζήτηση πληροφοριών, είτε πρόκειται για πολυµεσικές εφαρµογές, στατιστικές αναλύσεις, ή συγκέντρωση επιστηµονικών δεδοµένων για ερευνητικούς σκοπούς, δηµιουργώντας έναν τροµακτικά µεγάλο όγκο δεδοµένων ο οποίος απαιτεί οργάνωση και δυνατότητα χρήσης αυτών αποδοτικά. Οι εφαρµογές [27] του σηµερινού διαδικτύου βρίσκονται σε υψηλό τεχνολογικά επίπεδο αλλά για να οδηγήσουν στην δηµιουργία γνώσης χρειάζονται την επέµβαση του ανθρώπινου παράγοντα. Η δυνατότητα που παρέχει το διαδίκτυο στην άνθρωποχρήστη, όταν αυτός προσπαθεί να παράγει γνώση είναι η αναζήτηση πληροφοριών µέσω των µηχανών αναζήτησης. Η λειτουργία τους στηρίζεται στην παραγωγή αποτελεσµάτων ως υπερσυνδέσµους, όσο το δυνατόν πιο σχετικούς µε τη λέξη κλειδί ή συνδυασµό λέξεων που εισήγαγε ο χρήστης. -5-

11 Οι παρούσες τεχνολογικές λύσεις για την αναζήτηση πληροφορίας στο διαδίκτυο είναι συχνά µη αποδοτικές επειδή στερούνται µηχανισµών σηµασιολογικής αναζήτησης ώστε να παρουσιάζεται µια συγκεκριµένη λύση που να ικανοποιεί τις ανάγκες του χρήστη. Σε αντίθεση µε τη στήριξη µόνο σε συντακτικού τύπου πληροφορία, η χρήση µεταδεδοµένων (metadata) θα αποτελούσε έναν ευφυή τρόπο περιγραφής της πληροφορίας αλλά προς το παρόν δεν υφίσταται Ο Σηµασιολογικός Ιστός ως πρόταση Ο Σηµασιολογικός Ιστός είναι η εξέλιξη του υπάρχοντος διαδικτύου µε τη διαφορά ότι οι πληροφορίες αποκτούν νόηµα έτσι ώστε οι υπολογιστές και οι άνθρωποι που τους χειρίζονται να συνεργάζονται καλύτερα [27]. Η σηµασιολογία ως έννοια έχει οριστεί ως η επιστηµονική και φιλοσοφική µελέτη της σηµασίας. Ο Σηµασιολογικός Ιστός είναι ένα νέο ερευνητικό πεδίο και αποτελεί τη λογική εξέλιξη του σηµερινού διαδικτύου, ενώ αναµένεται να εξελιχθεί σταδιακά µέσα από τον υφιστάµενο Ιστό. Αποτελεί την εναλλακτική προσέγγιση της αναπαράστασης του διαδικτυακού περιεχοµένου σε µορφή εύκολα επεξεργάσιµη από υπολογιστές και της χρήσης νοηµόνων τεχνικών για την εκµετάλλευση αυτών των αναπαραστάσεων. Εικόνα 2.1 Αρχιτεκτονική Σηµασιολογικού Ιστού Ο Σηµασιολογικός Ιστός αποτελεί επέκταση του υπάρχοντος Ιστού µε τη διαφορά ότι στο Σηµασιολογικό Ιστό η πληροφορία είναι κατανοητή όχι µόνο από τον άνθρωπο αλλά και από τα προγράµµατα πράκτορες. Η αρχιτεκτονική του Σηµασιολογικού -6-

12 Ιστού, κατά τον Tim Berners Lee, ο οποίος επινόησε τον Παγκόσµιο Ιστό και ίδρυσε τον Σηµασιολογικό Ιστό, παρουσιάζεται στην Εικόνα 2.1. Στις διαφορές του µε το σηµερινό Ιστό συνυπολογίζουµε το γεγονός ότι οι περισσότερες πληροφορίες σήµερα είναι διαθέσιµες σε µια ελαφρώς δοµηµένη µορφή, όπως είναι το κείµενο, ο ήχος, και το βίντεο. Στόχος του Σηµασιολογικού Ιστού αποτελεί η παροχή της δυνατότητας για πολύ πιο εξελιγµένα συστήµατα διαχείρισης γνώσης: Οργάνωση της γνώσης σε εννοιολογικές περιοχές ανάλογα µε τη σηµασία της Συντήρηση της γνώσης από αυτοµατοποιηµένα εργαλεία µε έλεγχο ασυνέπειας και παραγωγής νέας γνώσης Υποστήριξη απάντησης ερωτηµάτων σε περισσότερα από ένα έγγραφα υνατότητα καθορισµού πρόσβασης σε συγκεκριµένα τµήµατα πληροφορίας, ακόµα και τµήµατα εγγράφων. Τα προβλήµατα που υφίστανται στο περιβάλλον του διαδικτύου αναµένεται να λυθούν, ενώ οι περιορισµοί σε µεγάλες εµπορικές εφαρµογές που υπάρχουν προς το παρόν πρόκειται να εξαφανιστούν. Προς αυτή την κατεύθυνση ο Σηµασιολογικός Ιστός επιδιώκει να προσδώσει νόηµα στην πληροφορία που διακινείται στο διαδίκτυο ώστε να γίνεται κατανοητή από πληροφοριακά συστήµατα και χρήστες. Κύριο µέληµα του σηµασιολογικού ιστού είναι να προσδώσει χαρακτηριστικά ταυτότητας και σηµασιολογικού προσδιορισµού στις πηγές του διαδικτύου. Σε αντίθεση µε τη σηµερινή κατάσταση, όπου τα πληροφοριακά συστήµατα α- σχολούνται µε τη µετάδοση και µεταφορά υλικού, µε το Σηµασιολογικό Ιστό αναµένεται να αναλάβουν πολλές περισσότερες αρµοδιότητες όπως η δυνατότητα περιγραφής, κατανόησης, ανταλλαγής και συνεργασίας στο περιβάλλον του διαδικτύου. Μέχρι σήµερα µοναδικός αποδέκτης των πληροφοριών του Ιστού είναι ο τελικός χρήστης. Λαµβάνοντας υπόψη ότι στο ιαδίκτυο είναι αποθηκευµένη και διακινείται µια γιγάντια ποσότητα πληροφοριών, η προοπτική της επεξεργασίας αυτής από υ- πολογιστές ανοίγει το δρόµο για νέες επαναστατικές εφαρµογές. Ο Σηµασιολογικός Ιστός προσφέρει νέες τεχνολογίες για την ανάπτυξη διαδικτυακών εφαρµογών έχοντας ως σκοπό να συνεισφέρει στην ευφυέστερη πρόσβαση και διαχείριση των διαδικτυακών πληροφοριών µε σηµασιολογικά πλουσιότερα µοντέλα εφαρµογών [56]. Το εγχείρηµα αυτό, δηλαδή, της ευκολότερης πρόσβασης και διαχεί- -7-

13 ρισης της πληροφορίας του διαδικτύου, θα διευκολυνθεί καθώς ο Ιστός πλέον θα επιτρέπει ευκολότερη εύρεση, κοινή χρήση και επαναχρησιµοποίηση της πληροφορίας. Ο Σηµασιολογικός Ιστός έχει σχεδιαστεί έτσι ώστε να αποτελέσει ένα κοινά α- ποδεκτό µέσο για την ανταλλαγή δεδοµένων και να καθιστά δυνατό τον ορισµό και ε- παναχρησιµοποίηση σηµασιολογικών λεξικών από εξειδικευµένες πληροφορικές κοινότητες. Επίσης, στο σχεδιασµό του περιλαµβάνεται η προσφορά της δυνατότητας υψηλής ποιοτικής συγχώνευσης διαφορετικών µεταδεδοµένων, παρέχοντας στους χρήστες αποτελεσµατική καταγραφή της γνώσης µε µικρό οικονοµικό κόστος [55]. Η αναπαράσταση της πληροφορίας, η οποία θα έχει καλύτερη οργάνωση στο Σηµασιολογικό Ιστό, γίνεται µε τις γλώσσες RDF, RDF Schema και OWL, που βοηθούν τους πράκτορες να κατανοούν τη σηµασία της. Τεχνολογίες του Σηµασιολογικού Ιστού Η επίτευξη του στόχου του Σηµασιολογικού Ιστού είναι δυνατή µε πρόκληση όµως να αποτελεί η υιοθέτηση του σχεδιασµού και της τεχνολογίας. Προς το παρόν οι µεγαλύτερες ανάγκες βρίσκονται στους τοµείς της ενοποίησης (integration), της προτυποποίησης (standardization), της ανάπτυξης εργαλείων και της αποδοχής από τους χρήστες. Φυσικό είναι ότι η µεγαλύτερη τεχνολογική πρόοδος θα αποτελέσει επακόλουθο για έναν περισσότερο προηγµένο Σηµασιολογικό Ιστό. Οι τεχνολογίες για την επίτευξη της λειτουργικότητας του Σηµασιολογικού Ι- στού είναι οι παρακάτω: Τα ρητά µεταδεδοµένα, όπου ο όρος ρητά αναφέρεται στην επακριβώς διατύπωση και χρήση της γλώσσας αναπαράστασης δεδοµένων, ενώ ο όρος µεταδεδο- µένα αναφέρεται στην περιγραφή των δεδοµένων µε δεδοµένα. Τα µεταδεδοµένα συλλαµβάνουν µέρος του νοήµατος των δεδοµένων, έτσι προκύπτει και ο όρος «σηµασιολογικός». Σε αντίθεση µε την HTML που οι πληροφορίες παρουσιάζονται µε ικανοποιητική µορφή για τους ανθρώπους και αποτελεί την κυρίαρχη γλώσσα συγγραφής ιστοσελίδων, η XML αποτελεί ένα βήµα προς την κατεύθυνση της αναπαράστασης πιο εύκολα επεξεργάσιµης πληροφορίας από υπολογιστές. Οι οντολογίες, οι οποίες θα περιγραφούν στις επόµενες παραγράφους. Αξίζει να σηµειώσουµε ότι από τις σηµαντικότερες γλώσσες οντολογιών η OWL είναι η πλουσιότερη γλώσσα περιγραφής λεξιλογίου για την περιγραφή ιδιοτήτων και κλάσεων και αποτελεί την κατεξοχήν γλώσσα του Σηµασιολογικού Ιστού. -8-

14 Η λογική είναι το επιστηµονικό πεδίο που µελετά τις αρχές της συλλογιστικής (reasoning). Η λογική προσφέρει τυπικές γλώσσες για την αναπαράσταση της γνώσης µε τυπική σηµασιολογία (formal semantics). Αν και το αντίτιµο της εκφραστικής ισχύος είναι η µειωµένη υπολογιστική αποδοτικότητα, πλεονέκτηµα αποτελεί η δυνατότητα παροχής αιτιολογήσεων των συµπερασµάτων. Για να καταστεί χρήσιµη η λογική στον Ιστό, πρέπει να µπορεί να χρησιµοποιείται µαζί µε άλλα δεδοµένα και να είναι επεξεργάσιµη από υπολογιστές. Οι πράκτορες είναι προγράµµατα λογισµικού που λειτουργούν αυτόνοµα και προνοητικά. Με τη χρήση των υπόλοιπων τεχνολογιών του Σηµασιολογικού Ι- στού θα έχουν το ρόλο της συλλογής, οργάνωσης και παρουσίασης πληροφοριών και επιλογών στις οποίες θα καταλήγουν σε συνεργασία µεταξύ τους. Ο χώρος της Τεχνητής Νοηµοσύνης αποτελεί την περιοχή ανάπτυξης των περισσότερων τεχνολογιών του Σηµασιολογικού Ιστού ο οποίος θα κάνει εκτενή χρήση της σύγχρονης τεχνολογίας της Τεχνητής Νοηµοσύνης. Η παράδοση που έχει η Τεχνητή Νοηµοσύνη είναι η ανάπτυξη και χρήση γλωσσών οντολογιών, θα αποτελέσει όµως µια βάση πάνω στην οποία µπορεί να χτιστεί η έρευνα για το Σηµασιολογικό Ιστό. Η πρόοδος της συγκεκριµένης τεχνολογίας θα οδηγήσει σε έναν καλύτερο Σηµασιολογικό Ιστό. Η ανάπτυξη του Σηµασιολογικού Ιστού εξελίσσεται σε βήµατα (Εικόνα 2.1), µε το κάθε βήµα να δηµιουργεί ένα επίπεδο (layer) πάνω από κάποιο άλλο. Με τη δηµιουργία κάθε νέου επιπέδου ακολουθούνται οι αρχές της συµβατότητας προς τα κάτω και η µερική κατανόηση προς τα πάνω (upward partial understanding) µε την έννοια της κατάλληλης σχεδίασης ώστε οι πράκτορες να έχουν πλήρη γνώση ενός επιπέδου για την εκµετάλλευση του. 2.2 Οντολογίες Εισαγωγικά στις οντολογίες Ο όρος οντολογία προέρχεται από το πεδίο της φιλοσοφίας η ίδια ελληνική λέξη χρησιµοποιείται διεθνώς- και ως τέτοια έννοια αποτελεί τη µελέτη της φύσης της ύπαρξης. Αποτελεί ένα παρακλάδι της µεταφυσικής που ασχολείται µε τον προσδιορισµό των πραγµάτων που πραγµατικά υπάρχουν και την περιγραφή τους. -9-

15 Σύµφωνα µε την επιστήµη των υπολογιστών ο όρος οντολογία [6] αναφέρεται στη ρητή και τυπική προδιαγραφή ενός πεδίου εννοιών (conceptualization). Το πεδίο εννοιών αναφέρεται στα αντικείµενα, στις έννοιες και σε άλλες οντότητες που θεωρείται ότι υπάρχουν σε κάποια περιοχή ενδιαφέροντος και στις σχέσεις που υφίστανται µεταξύ τους. Ο όρος «ρητή» σηµαίνει ότι ο τύπος των εννοιών που χρησιµοποιούνται και οι περιορισµοί στη χρήση τους πρέπει να έχουν προσδιοριστεί επακριβώς. Ο όρος «τυπική» αναφέρεται στο γεγονός ότι η οντολογία θα πρέπει να είναι αναγνώσιµη από µηχανή. Γενικά µια οντολογία [1] περιγράφει ένα πεδίο ενδιαφέροντος και χρησιµοποιείται για να θεµελιώνει λογικά τις ιδιότητες, ή ακόµα και για τον ορισµό του πεδίου αυτού. Συνήθως, µια οντολογία αποτελείται από µια πεπερασµένη λίστα όρων και τις σχέσεις µεταξύ αυτών, όπου οι όροι υποδηλώνουν σηµαντικές έννοιες (κλάσεις αντικειµένων) του πεδίου και οι σχέσεις περιλαµβάνουν συνήθως ιεραρχίες κλάσεων. Μια ιεραρχία ορίζει ότι µια κλάση C είναι υποκλάση µιας άλλης κλάσης C, αν κάθε αντικείµενο της C περιέχεται επίσης και στη C. Για παράδειγµα, όλοι οι άνθρωποι, µικροί, µεγάλοι, άντρες και γυναίκες αποτελούν µέλη της παγκόσµιας κοινωνίας µας. Στην Εικόνα 2.2 παρουσιάζεται η ιεραρχία της οντολογίας universal. Εικόνα 2.2 Μια ιεραρχία κλάσεων Οι οντολογίες χρησιµοποιούνται ευρέως στη Μηχανική Γνώσης (Knowledge Engineering) [20], στην Τεχνητή Νοηµοσύνη και στην Επιστήµη Υπολογιστών σε ε- φαρµογές που σχετίζονται µε τη διαχείριση γνώσης, την επεξεργασία φυσικής γλώσσας, -10-

16 το ηλεκτρονικό εµπόριο, τη βιο-πληροφορική, την εκπαίδευση και σε νέα αναδυόµενα πεδία όπως ο Σηµασιολογικός Ιστός. Οι οντολογίες οργανώνουν τη γνώση και τις πληροφορίες βασιζόµενες σε ένα κοινό λεξιλόγιο και αυτό έχει σαν αποτέλεσµα την καλύτερη επικοινωνία και ανταλλαγή γνώσεων, την αποδοτικότερη επαναχρησιµοποίηση της υπάρχουσας γνώσης καθώς και την διευκόλυνση στην εξαγωγή συµπερασµάτων που βασίζονται σε αυτή τη γνώση. Στο πλαίσιο του Ιστού, οι οντολογίες παρέχουν µια κοινή κατανόηση ενός πεδίου κάτι που είναι απαραίτητο για να ξεπεραστούν οι διαφορές στην ορολογία. Οι οντολογίες υποστηρίζουν τη σηµασιολογική διαλειτουργικότητα µε την έννοια ότι η αντιστοίχιση συγκεκριµένης ορολογίας µε µια κοινή οντολογία βοηθά στην αποφυγή συγκρούσεων και στην εξοµάλυνση διαφορών στην επικοινωνία. Μέσω του κοινού τους λεξιλογίου, οι οντολογίες χρησιµοποιούνται για την α- ναπαράσταση της γνώσης στο Σηµασιολογικό Ιστό, επιτρέποντας την ανταλλαγή πληροφοριών ανάµεσα σε ετερογενή περιβάλλοντα και εφαρµογές, όπως είναι οι µηχανές αναζήτησης, οι ευφυείς πράκτορες, οι διαδικτυακές πύλες πληροφοριών και οι υπηρεσίες ιστού. Οι οντολογίες είναι χρήσιµες για την οργάνωση και την πλοήγηση σε ιστότοπους µε την ιεραρχική οργάνωση όρων και εννοιών σε κατηγορίες και υποκατηγορίες. Επίσης, χρησιµεύουν στη βελτίωση της ακρίβειας των αναζητήσεων στον Ιστό µε την αναζήτηση επακριβών εννοιών οντολογιών και την αξιοποίηση πληροφοριών γενίκευσης/εξειδίκευσης. Ο όρος της γενίκευσης αναφέρεται στη δυνατότητα της µηχανής αναζήτησης να υποδεικνύει στο χρήστη πιο γενικά ερωτήµατα σε περίπτωση αποτυχίας επιστροφής σχετικών εγγράφων µε το ερώτηµα του. Αντίστοιχα ο όρος της εξειδίκευσης αναφέρεται στην πρωτοβουλία της µηχανής να προτείνει ορισµένες εξειδικεύσεις στο χρήστη σε περιπτώσεις υπερβολικά πολλών απαντήσεων. Οι σηµαντικότερες γλώσσες οντολογιών για τον Ιστό είναι οι: Η RDF (Resource Description Framework) [50] είναι ένα µοντέλο δεδοµένων για αντικείµενα και τις σχέσεις µεταξύ αυτών. Παρέχει µια απλή σηµασιολογία για το συγκεκριµένο µοντέλο δεδοµένων και τα µοντέλα αυτά µπορούν να αναπαρασταθούν µε σύνταξη XML [61]. -11-

17 Η RDF Schema [50][51] είναι µια γλώσσα περιγραφής λεξιλογίου, µε την οποία µπορούν να περιγραφούν οι ιδιότητες και οι κλάσεις των πόρων RDF, µαζί µε µια σηµασιολογία για ιεραρχίες γενίκευσης τέτοιων ιδιοτήτων και κλάσεων. Η OWL (Web Ontology Language), είναι µια πλουσιότερη γλώσσα για την περιγραφή ιδιοτήτων και κλάσεων, και αποτελεί τη λεξικολογική επέκταση της RDF. Παρέχει επιπλέον λεξικό που περιλαµβάνει συσχετίσεις κλάσεων (πχ α- µοιβαίος αποκλεισµός), πλήθος (πχ ακριβώς ένα), ισότητα, περισσότερους τύπους ιδιοτήτων (typing), χαρακτηριστικά ιδιοτήτων (πχ η συµµετρία) και ορισµό κλάσεων µε απαρίθµηση των αντικειµένων τους. Οι γλώσσες οντολογιών επιτρέπουν στους χρήστες να γράφουν ρητές, επίσηµες έννοιες για µοντέλα πεδίων. Οι κύριες απαιτήσεις είναι η καλά ορισµένη σύνταξη, η αποδοτική υποστήριξη συλλογισµών, η τυπική σηµασιολογία, η επαρκής εκφραστική ισχύς και η ευκολία στην έκφραση. Οι γλώσσες RDF και RDFS επιτρέπουν την αναπαράσταση ενός µέρους της ο- ντολογικής γνώσης. Τα κύρια θεµελιώδη στοιχεία µοντελοποίησης των RDF/ RDFS αφορούν την οργάνωση των λεξιλογίων σε τυποποιηµένες ιεραρχίες: σχέσεις υποκλάσης και υποϊδιότητας, περιορισµούς πεδίου ορισµού και συνόλου τιµών, καθώς και στιγµιότυπα κλάσεων. Παρόλα αυτά, λείπουν αρκετές άλλες δυνατότητες που αναφέρθηκαν παραπάνω. Η OWL ως λύση για τους περιορισµούς έκφρασης του RDF και του RDFS υπό ι- δανικές συνθήκες θα αποτελούσε την επέκταση της RDF Schema. εν ισχύει όµως κάτι τέτοιο διότι θα λειτουργούσε ενάντια στην εκφραστική ισχύ και αποδοτική συλλογιστική Απαιτήσεις µιας Γλώσσας Οντολογιών Οι γλώσσες οντολογιών επιτρέπουν τους χρήστες να γράφουν µε έναν σαφή και επίση- µο τρόπο οντολογίες που µοντελοποιούν έννοιες ενός πεδίου. Οι βασικότερες απαιτήσεις είναι: Η ύπαρξη καλά ορισµένης σύνταξης. Η ύπαρξη καλά ορισµένης επίσηµης σηµασιολογίας Η ύπαρξη επαρκής υποστήριξης συµπερασµάτων Η ύπαρξη επαρκής εκφραστικότητας -12-

18 Η καλά ορισµένη σύνταξη είναι απαραίτητο στοιχείο όταν καλείται η µηχανή να επεξεργαστεί δεδοµένα. Η τυπική σηµασιολογία περιγράφει επακριβώς τη σηµασία της γνώσης που έχει µοντελοποιηθεί. Έτσι, η σηµασία του κάθε ορισµού δε βασίζεται σε υποκειµενικές θεωρήσεις ούτε υπόκειται σε πολλαπλές ερµηνείες. Η σηµασιολογία είναι ένα αναγκαίο χαρακτηριστικό για την αυτόµατη εξαγωγή συµπερασµάτων. Η υποστήριξη συµπερασµάτων επιτρέπει: τον έλεγχο της συνέπειας και της οντολογίας τον έλεγχο των σχέσεων ανάµεσα στις κλάσεις την αυτόµατη κατηγοριοποίηση των αντικειµένων σε κλάσεις Η τυπική σηµασιολογία και η υποστήριξη συµπερασµάτων υλοποιείται συνήθως µε την αντιστοίχηση της γλώσσας οντολογιών σε ένα λογικό φορµαλισµό και µε τη χρήση µιας κατάλληλης µηχανής εξαγωγής συµπερασµάτων για αυτόν το φορµαλισµό Τεχνολογία Οντολογιών Στην παράγραφο αυτή γίνεται µια σύντοµη επισκόπηση για το πως µπορούν τα εργαλεία και οι τεχνικές απαραίτητες για το Σηµασιολογικό Ιστό που αναφέρθηκαν σε προηγούµενες παραγράφους, να εφαρµοστούν καλύτερα. Παρακάτω βλέπουµε τις διάφορες προσεγγίσεις και µεθοδολογίες [14] [29] [35] που προτείνονται για το στάδιο της δη- µιουργίας οντολογιών: Κατασκευή οντολογιών µε µη αυτόµατο τρόπο [37] µε βασικά στάδια να αποτελούν ο καθορισµός εµβέλειας, η επαναχρησιµοποίηση, η απαρίθµηση όρων, ο ορισµός ταξινοµίας, ιδιοτήτων, στιγµιότυπων και ο έλεγχος ανωµαλιών. Επαναχρησιµοποίηση υφιστάµενων οντολογιών κάτι που αποτελεί πρόταση για εκκίνηση από µια υπάρχουσα οντολογία. Η υπάρχουσα οντολογία µπορεί να υπάρχει µε διάφορες παραλλαγές, σαν κωδικοποιηµένο υλικό εξειδικευµένης γνώσης, ως ενοποιηµένα λεξιλόγια, ως οντολογίες υψηλού επιπέδου, ως θεµατικές ιεραρχίες, ως γλωσσολογικοί πόροι και ως βιβλιοθήκες οντολογιών. Ηµιαυτόµατη ανάπτυξη οντολογιών που πρόκειται για µια εναλλακτική λύση για τη δηµιουργία οντολογιών µε τη βοήθεια της µηχανικής µάθησης ώστε να γλιτώσουµε από τη χρονοβόρα και πολυδάπανη µη αυτόµατη ανάπτυξη οντολογιών. Οι τύποι οντολογιών που µπορούν να υποστηριχτούν µε τη χρήση τεχνι- -13-

19 κών µηχανικής µάθησης είναι οι οντολογίες φυσικής γλώσσας, οι οντολογίες πεδίου και τα στιγµιότυπα οντολογίας. Αντιστοίχιση οντολογιών, η οποία αναφέρεται στη λύση της ανάγκης για εξυπηρέτηση των αναγκών εφαρµογών από συνδυασµό πολλών οντολογιών λόγω της µη κάλυψης τους από µια µόνο οντολογία. Πρόκειται για το πρόβληµα της ενοποίησης των οντολογιών (ontology integration) κρίσιµο για την υλοποίηση του Σηµασιολογικού Ιστού. Οι προσεγγίσεις που υπάρχουν είναι οι γλωσσολογικές, οι στατιστικές, οι δοµικές και οι λογικές µέθοδοι. Η αρχιτεκτονική Σηµασιολογικού Ιστού του προγράµµατος On-To-Knowledge [36] αφορά τα εργαλεία που σχετίζονται µε το Σηµασιολογικό Ιστό και µπορούν να ενοποιηθούν σε µια απλή αρχιτεκτονική µε τη χρήση προτύπων του για την επίτευξη της διαλειτουργικότητας µεταξύ των ανεξάρτητα κατασκευασµένων εργαλείων. Αυτά είναι η απόκτηση, η αποθήκευση, η συντήρηση και η χρήση γνώσης και η τεχνική διαλειτουργικότητα. 2.3 OWL Οντολογίες Η OWL [1] είναι η Γλώσσα Οντολογιών του Σηµασιολογικού Ιστού, η οποία ανήκει στις οικογένειες γλωσσών αναπαράστασης γνώσης, και αποτελεί την πρόταση της επιστηµονικής κοινότητας του παγκόσµιου ιστού (World Wide Web Consortium-W3C). Πρόκειται για µια γλώσσα που στοχεύει στον ορισµό και διαµοίραση οντολογιών στον Ιστό και το θεωρητικό της υπόβαθρο βασίζεται στην Περιγραφική Λογική (Description Logic-DL) [16], ένα φορµαλισµό αναπαράστασης γνώσης που αποτελεί υποσύνολο της λογικής πρώτης τάξης (first order logic). Η γλώσσα DAML+OIL [13], ως µια ισχυρή γλώσσα µοντελοποίησης, αποτέλεσε αφετηρία για τον ορισµό της OWL η οποία χτίστηκε πάνω στο RDF(S). Η γλώσσα OWL σχεδιάστηκε και εισήχθηκε από τον οργανισµό W3C για χρήση εφαρµογών που απαιτείται να επεξεργάζονται το περιεχόµενο της πληροφορίας αντί για την απλή αναπαράσταση πληροφορίας στους ανθρώπους. Η OWL έχει γίνει η πρότυπη και ευρέως αποδεκτή γλώσσα οντολογιών για το Σηµασιολογικό Ιστό. -14-

20 2.3.1 Υπογλώσσες της OWL Το πλήρες σύνολο των απαιτήσεων για µια γλώσσα οντολογιών µοιάζει ανέφικτο, δηλαδή ταυτόχρονα η αποδοτική υποστήριξη συλλογισµών και η ευκολία στην έκφραση για µια γλώσσα τόσο ισχυρή όσο είναι ο συνδυασµός της RDF Schema µε µια πλήρη λογική. Γενικά όσο πιο εκφραστική είναι µια γλώσσα, τόσο δυσκολότερη καθίσταται η διαδικασία του συλλογισµού. Η πλήρης γλώσσα OWL Full περιλαµβάνει όλες τις δοµές και για αυτό η διαδικασία συλλογισµού έχει πολύ µεγάλη πολυπλοκότητα. Έτσι, έχουν οριστεί άλλες δύο υπογλώσσες οι οποίες περιλαµβάνουν λιγότερες δοµές, έχουν δηλαδή µικρότερη εκφραστικότητα, αλλά η διαδικασία συλλογισµού είναι πιο απλή. Η πλήρης γλώσσα OWL µαζί µε τις υπογλώσσες της παρουσιάζονται εν συντοµία παρακάτω: Η πλήρης γλώσσα ονοµάζεται OWL Full και χρησιµοποιεί όλα τα θεµελιώδη γλωσσικά στοιχεία της OWL. Επιτρέπει επίσης το συνδυασµό αυτών των θεµελιωδών στοιχείων µε αυθαίρετους τρόπους µε τις RDF και RDFS αλλάζοντας τη σηµασιολογία των εγγενών χαρακτηριστικών τους. Μειονέκτηµα της γλώσσας αποτελεί η δυσκολία συµπερασµού λόγω της µεγάλης εκφραστικότητας. Η OWL DL (Description Logic) είναι µια υπογλώσσα της OWL Full που περιορίζει τον τρόπο χρήσης των δοµών της OWL µε στόχο την ανάκτηση της υπολογιστικής αποφασισιµότητας. Πλεονέκτηµα της γλώσσας αποτελεί η αποδοτική υποστήριξη συλλογισµών, ενώ ένα µειονέκτηµα είναι η απώλεια συµβατότητας µε την RDF. Η OWL Lite εισάγει πρόσθετους περιορισµούς στην OWL DL. Αποκλείει τις απαριθµητές κλάσεις (enumerated classes), τις προτάσεις µη επικάλυψης (disjointness statements) και την αυθαίρετη πληθικότητα (arbitrary cardinality). Το πλεονέκτηµα της γλώσσας είναι η ευκολότερη κατανόηση της από τους χρήστες και η ευκολία ανάπτυξης εργαλείων υποστήριξης από τους κατασκευαστές λογισµικού. Μειονέκτηµα της γλώσσας αποτελεί η περιορισµένη εκφραστικότητα, γεγονός που καθιστά τη µοντελοποίηση ορισµένων πεδίων αδύνατη. Κάθε µια από τις τρεις διαφορετικές υπογλώσσες της OWL έχει προσαρµοστεί να ανταποκρίνεται σε διαφορετικές πτυχές του πλήρους συνόλου των απαιτήσεων. Η επιλογή της κατάλληλης γλώσσας από τους χρήστες εξαρτάται από τις εκφραστικές α- νάγκες του πεδίου που καλούνται να µοντελοποιήσουν. -15-

21 Έτσι, η επιλογή ανάµεσα στην OWL Lite και OWL DL εξαρτάται από το βαθµό εκφραστικότητας που είναι επιθυµητό να υπάρχει για τη µοντελοποίηση. Η επιλογή α- νάµεσα στην OWL DL και OWL Full εξαρτάται από το αν είναι επιθυµητή η υποδοµή για µέτα-µοντελοποίηση των δοµών του RDFS. Πρέπει όµως να σηµειωθεί ότι η OWL Full δεν εγγυάται την αποφασισιµότητα της διαδικασίας συµπερασµού, λόγω της πλούσιας εκφραστικότητας Περιγραφή της γλώσσας OWL Η OWL βασίζεται στις γλώσσες RDF και RDF Schema και χρησιµοποιεί τη σύνταξη της RDF που βασίζεται στην XML. Για το λόγο όµως του ότι η RDF/XML σύνταξη δεν είναι πολύ φιλική προς τον άνθρωπο, έχουν προταθεί άλλες µορφές αναπαράστασης, όπως µια σύνταξη βασισµένη στην XML που δεν ακολουθεί την RDF, µια αφηρηµένη σύνταξη και η γραφική σύνταξη που βασίζεται στις συµβάσεις της UML (Unified Modeling Language) [58]. Τα έγγραφα OWL αποκαλούνται συνήθως οντολογίες OWL και είναι έγγραφα RDF. Το στοιχείο-ρίζα µιας οντολογίας OWL είναι ένα στοιχείο rdf:rdf το οποίο καθορίζει επίσης έναν αριθµό από χώρους ονοµάτων (namespace). Μια οντολογία OWL τυπικά, ξεκινάει µε µια συλλογή ισχυρισµών, οι οποίοι οµαδοποιούνται σε ένα στοιχείο owl:ontology που περιέχει σχόλια, έλεγχο εκδόσεων και εισαγωγή (import) άλλων οντολογιών, δηλαδή πληροφορία που αφορά την ίδια την οντολογία. Η σύνταξη <owl:ontology rdf:about=""> καλείται επικεφαλίδα οντολογίας και συναντάται στην αρχή ορισµού της οντολογίας. Ένα παράδειγµα επικεφαλίδας οντολογίας φαίνεται παρακάτω. <owl:ontology rdf:about=""> <owl:versioninfo>v /02/26 12:56:51 mdean</owl:versioninfo> <rdfs:comment>an example ontology</rdfs:comment> <owl:imports rdf:resource=" </owl:ontology> Η γραµµή <owl:ontology rdf:about=""> δηλώνει ότι αυτό το κοµµάτι περιγράφει τη συγκεκριµένη οντολογία. Ακριβέστερα, δηλώνει ότι η παρούσα βάση (base) URI [4] προσδιορίζει µια περίπτωση της κλάσης owl:ontology. Κλάσεις Οι κλάσεις ορίζονται µε τη χρήση του στοιχείου owl:class. Για παράδειγµα, µια ο- ντολογία µε τις 3 κλάσεις ena, duo, tria θα µπορούσε να οριστεί ως εξής: -16-

22 <owl:ontology rdf:about=""/> <owl:class rdf:id="ena"/> <owl:class rdf:id="duo"/> <owl:class rdf:id="tria"/> Πρέπει να σηµειωθεί ότι η πρώτη γραµµή είναι προαιρετική και στο συγκεκρι- µένο παράδειγµα δεν προσθέτει καµιά ιδιότητα στην οντολογία µε τις παραπάνω κλάσεις. Οι σχέσεις υποκλάσης δηλώνονται µε το στοιχείο rdfs:subclassof. Για παράδειγµα έχουµε την κλάση schoolclasses και την υποκλάση της gymclass που φαίνεται παρακάτω. <owl:class rdf:id=" gymclass "> <rdfs:subclassof rdf:resource="#schoolclasses"/> </owl:class> Επίσης, η OWL επιτρέπει τον ορισµό δύο ή περισσότερων κλάσεων ως ξένες µεταξύ τους, δηλαδή δεν επιτρέπονται αυτές οι κλάσεις να έχουν κοινά αντικείµενα. Αυτό δηλώνεται µε τη χρήση του στοιχείου owl:disjointwith της OWL, όπως φαίνεται παρακάτω, όπου οι κλάσεις student, teacher και gymteacher ορίζονται ξένες µεταξύ τους. <owl:class rdf:about="#student"> <owl:disjointwith rdf:resource="#teacher"/> <owl:disjointwith rdf:resource="#gymteacher"/> </owl:class> Στις οντολογίες πολλές φορές εκφράζονται συνώνυµες έννοιες γιατί είναι απαραίτητο να καλύπτεται ένα ευρύ φάσµα εκφράσεων που χρησιµοποιούνται για τις ίδιες έννοιες από ετερογενείς οµάδες ανθρώπων. Έτσι η ισοδυναµία µεταξύ κλάσεων δηλώνεται µε τις ιδιότητες equivalentclass, µεταξύ ιδιοτήτων µε την equivalent- Property και µεταξύ στιγµιότυπων µε την sameas. Στο παρακάτω παράδειγµα εξετάζουµε την ισοδυναµία µεταξύ κλάσεων. <owl:class rdf:id="school"> <owl:equivalentclass rdf:resource="#college"/> </owl:class> Τέλος, υπάρχουν δυο προκαθορισµένες κλάσεις, η owl:thing και η owl:nothing. Η πρώτη είναι η πιο γενική κλάση και περικλείει τα πάντα ενώ η δεύτερη είναι µια κενή κλάση. Εποµένως κάθε κλάση είναι υποκλάση της owl:thing και υπερκλάση της owl:nothing. -17-

23 Ιδιότητες Στην OWL υπάρχουν δυο τύποι ιδιοτήτων: Ιδιότητες αντικειµένου (object properties), οι οποίες συνδέουν αντικείµενα µε άλλα αντικείµενα. Παραδείγµατα αποτελούν οι ιδιότητες istaughtby (διδάσκεται από) και supervises (επιβλέπει). Ιδιότητες τύπου δεδοµένων (datatype properties), οι οποίες συσχετίζουν αντικεί- µενα µε τιµές ενός τύπου δεδοµένων. Παραδείγµατα αποτελούν οι ιδιότητες phone, title και age. Η OWL δεν έχει προκαθορισµένους τύπους δεδοµένων, ούτε και παρέχει ειδικές λειτουργίες ορισµού. Αντιθέτως, επιτρέπει τη χρήση των τύπων δεδοµένων της γλώσσας XML Schema, αξιοποιώντας έτσι τη διαστρω- µατωµένη αρχιτεκτονική του Σηµασιολογικού Ιστού. Ένα παράδειγµα µιας ιδιότητας αντικειµένου παρουσιάζεται στη συνέχεια όπου φαίνεται η δήλωση περισσότερων από ένα πεδία ορισµού και σύνολα τιµών. Στην περίπτωση αυτή, παίρνουµε την τοµή των πεδίων ορισµού και των συνόλων τιµών, αντίστοιχα. <owl:objectproperty rdf:id="istaughtby"> <owl:domain rdf:resource="#course"/> <owl:range rdf:resource="#schoolmember"/> <rdfs:subpropertyof rdf:resource="#involves"/> </owl:objectproperty> Ένα παράδειγµα µιας ιδιότητας τύπου δεδοµένων φαίνεται παρακάτω. Οι τύποι δεδοµένων που ορίζονται από το χρήστη συλλέγονται συνήθως σε ένα σχήµα XML και χρησιµοποιούνται στη συνέχεια σε µια οντολογία OWL. <owl:datatypeproperty rdf:id="age"> <rdfs:range rdf:resource=" #nonnegativeinteger"/> </owl:datatypeproperty> Στην Εικόνα 2.3 φαίνεται το σύνολο των ιδιοτήτων όπως παρουσιάζονται στο εγχειρίδιο κατασκευής οντολογιών του εργαλείου Protégé [21]. -18-

24 Εικόνα 2.3 Οι διαφορετικοί τύποι ιδιοτήτων στην OWL Η OWL επιτρέπει τον ορισµό αντίστροφων ιδιοτήτων. Χαρακτηριστικό παράδειγµα αποτελεί το ζεύγος teaches και istaughtby το οποίο βλέπουµε στο παρακάτω παράδειγµα. <owl:objectproperty rdf:id="teaches"> <rdfs:range rdf:resource="#course"/> <rdfs:domain rdf:resource="#schoolmember"/> <owl:inverseof rdf:resource="#istaughtby"/> </owl:objectproperty> Η ιδιότητα teaches συνδέει την κλάση schoolmember µε την κλάση course ενώ η ιδιότητα istaughtby συνδέει την κλάση course µε την κλάση schoolmember Τέλος, η ισοδυναµία των ιδιοτήτων µπορεί να ορισθεί µε τη χρήση της owl:equivalentproperty ιδιότητας. Το επόµενο παράδειγµα δείχνει την ισοδυνα- µία µεταξύ των ιδιοτήτων lecturesin και teaches. <owl:objectproperty rdf:id="lecturesin"> -19-

25 <owl:equivalentproperty rdf:resource="#teaches"/> </owl:objectproperty> Περιορισµοί ιδιοτήτων Με τη δήλωση ότι µια κλάση Class1 είναι υποκλάση µιας άλλης κλάσης Class2 που γίνεται µε την ιδιότητα rdfs:subclass, διασφαλίζουµε ότι κάθε στιγµιότυπο της Class1 είναι και στιγµιότυπο της Class2. Αυτό θα µπορούσαµε να το χρησιµοποιήσου- µε στην περίπτωση που θέλουµε να περάσουµε κάποιους περιορισµούς σε µια κλάση. Έστω ότι θέλουµε να δηλώσουµε ότι η κλάση Class1 ικανοποιεί συγκεκριµένες συνθήκες, δηλαδή ότι όλα τα στιγµιότυπα της Class1 ικανοποιούν τις συνθήκες. Όταν η κλάση Class2 συγκεντρώνει όλα τα αντικείµενα που ικανοποιούν τις συνθήκες τότε λόγω κληρονοµικότητας της Class1 από την Class2 ταυτόχρονα έχουµε επιτύχει και η Class1 να έχει τα ίδια επιθυµητά χαρακτηριστικά. Στο παράδειγµα µας υπάρχει η απαίτηση τα µαθήµατα της φυσικής να διδάσκονται µόνο από κατεξοχήν φυσικούς: <owl:class rdf:about="#physicsclass"> <rdfs:subclassof> <owl:restriction> <owl:onproperty rdf:resource="#istaughtby"/> <owl:allvaluesfrom rdf:resource="#physicsprofessor"/> </owl:restriction> </rdfs:subclassof> </owl:class> Το στοιχείο owl:allvaluesfrom χρησιµοποιείται για τον ορισµό της κλάσης των δυνατών τιµών που µπορεί να πάρει η ιδιότητα που καθορίζεται από το στοιχείο owl:onproperty, δηλαδή όλες οι τιµές της ιδιότητας πρέπει να προέρχονται από αυτή την κλάση. Έτσι παραπάνω βλέπουµε ότι µόνο οι καθηγητές µπορούν να είναι τιµές της ιδιότητας istaughtby. Αντίστοιχα θα µπορούσαµε να δώσουµε συγκεκριµένη τιµή µε το στοιχείο owl:hasvalue αντί του owl:allvaluesfrom το οποίο θα δήλωνε την τιµή που θα έπρεπε να έχει η ιδιότητα που καθορίζεται από το owl:onproperty για ένα αντικείµενο της κλάσης. Επίσης, υπάρχει το στοιχείο owl:somevaluesfrom το οποίο σε αντίθεση µε την πρώτη περίπτωση που έχουµε µια καθολική ποσοτικοποίηση (universal quantifica- -20-

26 tion), δηλώνει µια υπαρξιακή ποσοτικοποίηση (existential quantification) µε την έννοια ότι δεν αποκλείει τη δυνατότητα συσχέτισης της ιδιότητας µε κάποια τιµή άλλης κλάσης. Λογικοί συνδυασµοί κλάσεων Στην OWL είναι δυνατός ο ορισµός κλάσεων χρησιµοποιώντας λογικούς τελεστές συνόλων, όπως ένωση (union), τοµή (intersection) και συµπλήρωµα (complement). Έτσι, έχουµε τα στοιχεία owl:complementof που αναφέρεται στην ασυνδετότητα των κλάσεων και owl:unionof που δηλώνει την ένωση κλάσεων. Επίσης, µε το owl:intersectionof ορίζουµε την τοµή των κλάσεων. Ένα παράδειγµα αποτελεί το παρακάτω που αναφέρεται ότι τα µαθήµατα και τα µέλη του σχολείου είναι ξένα µεταξύ τους, κάτι που θα µπορούσε να εκφραστεί επίσης, µε τη χρήση του στοιχείου owl:disjointwith. <owl:class rdf:about="#course"> <rdfs:subclassof> <owl:class> <owl:complementof rdf:resource="#schoolmember"/> </owl:class> </rdfs:subclassof> </owl:class> Απαρίθµηση αντικειµένων Η απαρίθµηση αντικειµένων δηλώνεται µε το στοιχείο owl:oneof και χρησιµοποιείται για τη δήλωση µιας κλάσης µε την απαρίθµηση όλων των αντικειµένων της. Σαν παράδειγµα δίνεται παρακάτω ο ορισµός της κλάσης Summer και όλα τα αντικείµενά της. <owl:class rdf:id="summer"> <owl:one of rdf:parsetype="collection"> <owl:thing rdf:about="#june"/> <owl:thing rdf:about="#july"/> <owl:thing rdf:about="#august"/> </owl:oneof> </owl:class> Στιγµιότυπα Τα στιγµιότυπα στην OWL δηλώνονται όπως ακριβώς και στην RDF. <rdf:description rdf:id="949352"> <rdf:type rdf:resource="#schoolmember"/> -21-

27 </rdf:description> ή ισοδύναµα <schoolmember rdf:id= /> Σε αντίθεση µε τα τυπικά συστήµατα βάσεων δεδοµένων, η OWL δεν υιοθετεί την θεώρηση των µοναδικών ονοµάτων (unique name assumption). Έτσι αν και δυο στιγµιότυπα έχουν διαφορετικό ID δε συνεπάγεται απαραίτητα ότι είναι δυο διαφορετικά αντικείµενα. Για τη διασφάλιση της διαφορετικότητας των αντικειµένων, είναι απαραίτητη η ρητή διατύπωση της ανισότητας τους, όπως για παράδειγµα µε τη χρήση του στοιχείου owl:differentfrom. -22-

28 3 CLIPS-COOL Σε αυτό το κεφάλαιο γίνεται αναφορά στο CLIPS [15][59]και στην αντικειµενοστρεφή γλώσσα COOL [12]. Το CLIPS αποτελεί µια από τις πιο διαδεδοµένες γλώσσες βασισµένες σε κανόνες για την ανάπτυξη έµπειρων συστηµάτων - συστηµάτων γνώσης. Η εισαγωγή αντικειµενοστρεφών τεχνικών επιτυγχάνεται από την ενσωµατωµένη γλώσσα του CLIPS, που ονοµάζεται COOL και περιγράφεται παρακάτω. Επίσης περιγράφεται ένα πλαίσιο εργασίας για την ανάπτυξη προγραµµάτων παραγωγής κανόνων σε οντολογίες OWL ακολουθώντας µια υβριδική αντικειµενοστρεφή προσέγγιση. Η υβριδική φύση πραγµατοποιείται µε τη διαµοίραση οντολογιών και κανόνων, περιβάλλοντας ένα εξωτερικό DL reasoner και µια µηχανή παραγωγής κανόνων ενώ η αντικειµενοστρεφής φύση πραγµατοποιείται µε την αντιστοίχιση OWL οντολογιών στο αντικειµενοστρεφές µοντέλο µε τέτοιο τρόπο ώστε να διατηρείται η σηµασιολογία των αντικειµένων των οντολογιών. 3.1 Τo CLIPS Το CLIPS είναι ένα εργαλείο ανάπτυξης και παραγωγής έµπειρων συστηµάτων το ο- ποίο παρέχει ένα πλήρες περιβάλλον για προγραµµατισµό µε κανόνες, αντικείµενα και συναρτήσεις. Ως γλώσσα που δεν επικεντρώνεται στην αλληλεπίδραση µε το χρήστη, το περιβάλλον του δεν θεωρείται για πολλούς, αρκετά ελκυστικό για τη συγγραφή κώδικα. Η πορεία του ξεκινά το 1985, όταν δηµιουργήθηκε και αντικατέστησε τα υπάρχοντα συστήµατα τα οποία βασιζόταν στη γλώσσα LISP. Σήµερα, χρησιµοποιείται ευρέως για κυβερνητικούς, βιοµηχανικούς και ακαδηµαϊκούς σκοπούς Χαρακτηριστικά του CLIPS Τα βασικά χαρακτηριστικά του είναι: Αναπαράσταση Γνώσης. Το CLIPS παρέχει ένα περιεκτικό εργαλείο για διαχείριση µεγάλης ποικιλίας γνώσης µε την υποστήριξη τριών προγραµµατιστικών παραδειγµάτων βασισµένων σε κανόνες, σε αντικείµενα και συναρτήσεις. -23-

29 Φορητότητα. Το CLIPS είναι γραµµένο στη C για φορητότητα και ταχύτητα και έχει εγκατασταθεί σε πολλά διαφορετικά λειτουργικά συστήµατα χωρίς αλλαγές στον κώδικα συµπεριλαµβανοµένου τα Windows XP, MacOS X και Unix. Ολοκλήρωση/Επεκτασιµότητα. Το CLIPS µπορεί να ενσωµατωθεί µε διαδικαστικό κώδικα, καλούµενο ως υπορουτίνα και να ολοκληρωθεί µε γλώσσες όπως η C, η Java [24] [25], η FORTRAN και η ADA, επίσης, µπορεί εύκολα να επεκταθεί από κάποιον χρήστη µε τη χρήση καλά προσδιορισµένων πρωτοκόλλων. ιαδραστικό Περιβάλλον. Η βασική έκδοση του CLIPS παρέχει ένα διαδραστικό περιβάλλον ανάπτυξης περιλαµβάνοντας βοήθεια αποσφαλµάτωσης (debugging), ενεργό (on-line) βοήθεια και έναν ολοκληρωµένο συντάκτη (editor). Επαλήθευση/Επικύρωση. Το CLIPS περιλαµβάνει έναν αριθµό από χαρακτηριστικά για την υποστήριξη της επικύρωσης και επαλήθευσης των έµπειρων συστηµάτων. Κάποια από αυτά περιλαµβάνουν την υποστήριξη ιδιαίτερου σχεδιασµού και διαµερισµού µιας βάσης γνώσης, στατικό και δυναµικό έλεγχο περιορισµών στις τιµές και στις συναρτησιακές εντολές και σηµασιολογική ανάλυση των προτύπων των κανόνων για τον καθορισµό και αποτροπή λανθασµένης πυροδότησης κανόνα. Πλήρης τεκµηρίωση. Χαµηλό κόστος Έµπειρα συστήµατα Τα έµπειρα συστήµατα (expert systems) [18] [22] είναι αποτέλεσµα τεχνικών και έ- ρευνας στον τοµέα της τεχνητής νοηµοσύνης που αφορούν τη µοντελοποίηση πληροφορίας σε υψηλά επίπεδα αφαίρεσης ώστε η υλοποίηση προγραµµάτων να είναι κοντά στην ανθρώπινη λογική, συνεπώς ευκολότερα στην ανάπτυξη και συντήρηση. Αυτά τα προγράµµατα που προσοµοιώνουν ανθρώπινη γνώση και εµπειρία σε καλά προσδιορισµένα πεδία καλούνται έµπειρα συστήµατα. Η διαθεσιµότητα εργαλείων έµπειρων συστηµάτων, όπως το CLIPS, έχει µειώσει σηµαντικά την προσπάθεια και το κόστος ανάπτυξης αυτών των συστηµάτων. Σε αντίθεση µε τον κλασσικό προγραµµατισµό όπου το πρόγραµµα κωδικοποιεί τον τρόπο µε τον οποίο θα επεξεργασθούν τα δεδοµένα ένα έµπειρο σύστηµα διαθέτει τρία στοιχεία: -24-

30 Τη βάση γνώσης (knowledge base) που περιέχει όλη τη σχετική µε ένα γνωστικό τοµέα γνώση Τη βάση γεγονότων που περιέχει τα σχετικά µε το προς λύση πρόβληµα δεδοµένα Τη µηχανή εξαγωγής συµπερασµάτων (inference engine) Ως ένα διερµηνευόµενο τυπικό σύστηµα παραγωγής (interpreted production system), το CLIPS υποστηρίζει την ορθή ακολουθία εκτέλεσης (forward chaining) και τα παραπάνω αποτελούν κύρια µέρη του συστήµατός του. Ένα πρόγραµµα στο CLIPS είναι ένα σύνολο από κανόνες και γεγονότα και η εκτέλεση του συνίσταται σε µια ακολουθία από πυροδοτήσεις κανόνων, των οποίων οι συνθήκες ικανοποιούνται. Η ικανοποίηση των συνθηκών γίνεται µέσω ταυτοποίησης τους µε τα γεγονότα που υπάρχουν στη λίστα γεγονότων. Η εκτέλεση τερµατίζεται όταν δεν υπάρχουν άλλοι κανόνες προς πυροδότηση ή όταν κληθεί συγκεκριµένη εντολή τερµατισµού. Ο προγραµµατισµός βασισµένος στους κανόνες είναι µια από τις πιο κοινές τεχνικές ανάπτυξης έµπειρων συστηµάτων. Ένας κανόνας αποτελείται από το µέρος των συνθηκών if και το µέρος των ενεργειών then. Το πρώτο µέρος του κανόνα είναι µια σειρά από µοτίβα τα οποία καθορίζουν τα δεδοµένα που κάνουν τον κανόνα εφαρ- µόσιµο. Η διαδικασία αντιστοίχισης γεγονότων µε µοτίβα γίνεται αυτόµατα από ένα µηχανισµό των έµπειρων συστηµάτων και καθορίζεται ποιοι κανόνες είναι εφαρµόσι- µοι. Το δεύτερο µέρος του κανόνα είναι ένα σύνολο από εντολές που πρόκειται να ε- κτελεστούν όταν το πρώτο µέρος είναι αληθές. Αυτή η διαδικασία συνεχίζεται µέχρι να µείνει κανένας εφαρµόσιµος κανόνας. Στην Εικόνα 3.1 βλέπουµε την αρχιτεκτονική ενός έµπειρου συστήµατος -25-

31 3.1.3 Σύνταξη του CLIPS Εικόνα 3.1 Ένα έµπειρο σύστηµα Η σύνταξη της γλώσσας που προσφέρει το σύστηµα CLIPS είναι απλή και θυµίζει εκείνη της γλώσσας προγραµµατισµού LISP [28] [30]. Το CLIPS, όπως όλες οι γλώσσες προγραµµατισµού, αποτελείται από πηγαίο κώδικα δηλαδή, απλό κείµενο και βασικά δοµικά στοιχεία του αποτελούν τα σύµβολα, τα αλφαριθµητικά, οι αριθµοί και τα σχόλια που εισάγονται µε το χαρακτήρα ;. Όλα πρέπει να ακολουθούν συγκεκριµένους γραµµατικούς κανόνες. Για τη συγγραφή των κανόνων στο CLIPS, όπως και σε κάθε προγραµµατιστική γλώσσα, έχει καθιερωθεί η µορφή Backus-Naur Form(BNF) [5]. Οι µεταβλητές στο CLIPS είναι σύµβολα, τα οποία ξεκινούν µε τους χαρακτήρες? ή $? µε περιορισµό ο χαρακτήρας που ακολουθεί να µην είναι αριθµός. Τα γεγονότα αποτελούν τη γνωστή πληροφορία στο σύστηµα και στην οποία αυτό βασίζεται για την εξαγωγή συµπερασµάτων. Πρόκειται για λίστες από σύµβολα τα οποία περικλείονται σε παρενθέσεις. Ένα παράδειγµα γεγονότος είναι το παρακάτω: (person (name George Papadopoulos) (age 23) (eye-color brown) (hair-color black)) -26-

32 Ο ορισµός ενός συνόλου γεγονότων γίνεται µε το deffacts και παρακάτω παρατηρούµε τη µορφή που έχει: (deffacts <deffacts name> <facts>*) Το * έχει τη σηµασία µηδέν η περισσότερα. Μπορούµε επίσης να ορίσουµε το πρότυπο του προηγούµενου γεγονότος σύµφωνα µε τον παρακάτω τρόπο: (deftemplate person (multislot name) (slot age) (slot eye-color) (slot hair-color)) Επειδή συνήθως σε µεγάλα προγράµµατα υπάρχει ανάγκη αναπαράστασης της πληροφορίας µε µεγάλα σε µέγεθος γεγονότα κάτι που απαιτεί δύσκολο χειρισµό τους κυρίως στις συνθήκες, το CLIPS προσφέρει έναν εναλλακτικό τρόπο δηµιουργίας και διαχείρισης τους µέσω ορισµού προτύπων γεγονότων. Τα πρότυπα γεγονότων είναι µια δοµή µε την οποία µπορεί να οριστεί η µορφή που θα έχουν τα γεγονότα σε ένα πρόγραµµα. Κάθε πρότυπο έχει ένα σύνολο από ιδιότητες (slots) στις οποίες µπορεί να α- νατεθούν τιµές αυτόνοµα και να οριστούν οι τύποι των τιµών αυτών. Έτσι σε έναν κανόνα, ο οποίος θα τυπώνει το σύνολο των ατόµων που είναι εγγεγραµµένοι σε µια υποθετική λίστα, θα είναι πολύ πιο ευδιάκριτη και εύκολη η διαχείριση των συνθηκών του: (defrule print-persons (person (name?name)) => (printout t Person:?name crlf)) Όπως παρατηρούµε από το προηγούµενο παράδειγµα οι κανόνες στο CLIPS ο- ρίζονται από τη δοµή defrule. Όπως έχει ήδη αναφερθεί, σε όλα τα συστήµατα παραγωγής οι κανόνες αποτελούνται από δύο µέρη, τις συνθήκες και τις ενέργειες. Οι συνθήκες είναι ένα σύνολο από γεγονότα τα οποία θα πρέπει να υπάρχουν στη λίστα γεγονότων για να ικανοποιείται ο κανόνας. Στο παράδειγµα µας έχουµε το γεγονός (person (name?name)) και η µεταβλητή?name καθορίζει κάθε φορά το όνοµα του ατόµου από το σύνολο των γεγονότων. Στις ενέργειες του κανόνα, στις οποίες περιγράφεται το τι θα λάβει χώρα κατά την πυροδότηση του, µπορεί να περιλαµβάνεται οποιαδήποτε συνάρτηση του CLIPS, -27-

33 όπως για παράδειγµα η εισαγωγή ή διαγραφή ενός γεγονότος από τη λίστα γεγονότων ή εκτύπωση αποτελεσµάτων, όπως στη δικιά µας περίπτωση µε τη συνάρτηση printout. Αξίζει να παρατηρήσουµε ότι το CLIPS δεν έχει δεσµευµένες λέξεις, όπως άλλες γλώσσες προγραµµατισµού. Έτσι, παρά το ότι η γραµµατική πάνω στην οποία στηρίζεται είναι χωρίς συµφραζόµενα, οι λέξεις αποκτούν σηµασία ανάλογα µε τη θέση που βρίσκονται. Στο παρακάτω παράδειγµα φαίνεται ξεκάθαρα αυτό: (deftemplate deftemplate (slot slot(type SYMBOL)(allowed-symbols slot type)) (slot type(type SYMBOL)(allowed-symbols slot))) (deffacts deffacts (deftemplate(slot type)(type slot))) (defrule defrule (deftemplate (slot?x)(type?y)) => (printout t slot=?x, type=?y crl)) Το παραπάνω πρόγραµµα είναι έγκυρο και εκτελείται κανονικά στο CLIPS. Μπορούµε να παρατηρήσουµε πως εµφανίζονται οι ίδιες λέξεις µε διαφορετική κάθε φορά σηµασία. Το CLIPS δεν έχει πρόβληµα να δώσει διαφορετικό νόηµα κάθε φορά στο ίδιο σύµβολο. Σχετικά µε την επίλυση συγκρούσεων κανόνων για το CLIPS έχουµε ότι όλοι οι κανόνες των οποίων οι συνθήκες ικανοποιούνται εισάγονται στην ατζέντα, η οποία α- ντιστοιχεί στο σύνολο συγκρούσεων των κλασικών συστηµάτων παραγωγής. Ο κανόνας που επιλέγεται κάθε φορά πυροδοτείται µε βάση τα κριτήρια της προτεραιότητας των κανόνων και της στρατηγικής επίλυσης συγκρούσεων. Σε κάθε χρονική στιγµή µία από τις διαθέσιµες στρατηγικές είναι ενεργή και χρησιµοποιείται για την επιλογή του κανόνα από την ατζέντα. 3.2 Η αντικειµενοστρεφή γλώσσα COOL Το CLIPS ενσωµατώνει µια πλήρη αντικειµενοστρεφή γλώσσα, την COOL, για τη συγγραφή έµπειρων συστηµάτων. Η COOL αποτελεί ένα υβρίδιο από πολλά χαρακτηριστικά αντικειµενοστρεφών συστηµάτων όπως επίσης και καινούριων ιδεών. Για παράδειγµα, οι έννοιες της ενθυλάκωσης αντικειµένων είναι παρόµοιες µε αυτές της Smalltalk ενώ η CLOS παρέχει τη βάση για τους κανόνες κληρονοµικότητας. Μια µίξη ιδεών από τη Smalltalk, την CLOS και άλλων συστηµάτων σχηµατίζουν το θεµέλιο των µηνυµάτων στην COOL. -28-

34 Η δυνατότητα αντικειµενοστρεφούς προγραµµατισµού είναι εµφανής από τα παρακάτω χαρακτηριστικά της COOL, τα οποία αποτελούν βασικά χαρακτηριστικά των αντικειµενοστρεφών γλωσσών προγραµµατισµού και είναι η αφαίρεση (abstraction), η ενθυλάκωση (encapsulation), η κληρονοµικότητα (inheritance), ο πολυµορφισµός (polymorphism) και η δυναµική δέσµευση (dynamic binding). Η αφαίρεση είναι µια υψηλού επιπέδου αναπαράσταση µιας σύνθετης έννοιας και στην COOL ο ορισµός νέων κλάσεων επιτρέπει την αφαίρεση νέων τύπων δεδοµένων. Η ενθυλάκωση αναφέρεται στην απόκρυψη της εσωτερικής κατάστασης ενός α- ντικειµένου το οποίο δεν είναι απευθείας προσβάσιµο από τον υπόλοιπο κόσµο. Οι κλάσεις, οι οποίες είναι οργανωµένες σε ιεραρχίες, εµφανίζουν απλή και πολλαπλή κληρονοµικότητα. Τέλος, ο πολυµορφισµός µε την έννοια ότι δυο αντικείµενα διαφορετικής κλάσης µπορούν να απαντήσουν στο ίδιο µήνυµα µε διαφορετικό τρόπο και η δυναµική δέσµευση µε την έννοια ότι µια αναφορά αντικειµένου κατά την κλήση µιας συνάρτησης δεν έχει τιµή µέχρι τη στιγµή της εκτέλεσης, είναι παρόντα στα προγράµµατα της COOL Οι κλάσεις στην COOL Η COOL ορίζει κάποιες συγκεκριµένες κλάσεις συστήµατος οι οποίες δεν µπορούν να διαγραφούν ή να τροποποιηθούν. Όλες οι κλάσεις συστήµατος εκτός της INITIAL- OBJECT είναι αφηρηµένες και χρησιµοποιούνται µόνο για λόγους κληρονοµικότητας. Έτσι, καµιά κλάση δεν έχει αντικείµενα και εκτός της USER, καµιά κλάση δεν έχει µεθόδους. Η υπερκλάση όλων των άλλων είναι η OBJECT, συµπεριλαµβανοµένων και των κλάσεων ορισµένων από το χρήστη. Η κατασκευή κλάσεων στην COOL ακολουθεί συγκεκριµένη σύνταξη. Με την ειδική δοµή defclass κατασκευάζουµε µια κλάση αντικειµένων καθορίζοντας τις ιδιότητες (slots) και τους χειριστές µηνυµάτων (message handlers). Μια defclass αποτελείται από πέντε στοιχεία: Ένα όνοµα Μια λίστα από κλάσεις (superclasses) από τις οποίες κληρονοµεί ιδιότητες και χειριστές µηνυµάτων. Έναν προσδιοριστή που καθορίζει αν θα δηµιουργούνται άµεσα αντικείµενα της κλάσης. -29-

35 Έναν προσδιοριστή που καθορίζει αν τα αντικείµενα αυτής της κλάσης ταιριάζουν µε πρότυπα αντικειµένων στο αριστερό µέρος των κανόνων. Μια λίστα από ιδιότητες (slots) συγκεκριµένες για τη νέα κλάση. Όλες οι ορισµένες από το χρήστη κλάσεις πρέπει να κληρονοµούν τουλάχιστον από µια κλάση και για αυτό η COOL παρέχει προσδιορισµένες από πριν κλάσεις για χρήση ως βάση στον ορισµό νέων κλάσεων. Η κλάση συστήµατος USER αποτελεί την κλάση από την οποία όλες οι κλάσεις κληρονοµούν, είτε άµεσα είτε έµµεσα. Σύµφωνα µε τα παραπάνω, έχουµε τη σύνταξη: (defclass <name> [<comment>] (is-a <superclass-name>+) [<role>] [<pattern-match-role>] <slot>* <handler-documentation>*) Παρακάτω φαίνεται ο ορισµός δυο κλάσεων transport-mean (όχηµα µεταφοράς) και airplane (αεροπλάνο). Η πρώτη περιγράφει γενικά ένα µέσο µεταφοράς και πρόκειται για βασική κλάση και υποκλάση της κλάσης USER. Η δεύτερη περιγράφει ένα αεροπλάνο ως εξειδίκευση του µέσου µεταφοράς, επεκτείνοντας τα γενικά χαρακτηριστικά µε πιο συγκεκριµένα. Οι ιδιότητες και στις δυο κλάσεις ορίζονται ως µια λίστα από slots. (defclass transport-mean (is-a USER) (slot passengers-capacity (type INTEGER)) (slot fuel-type (type SYMBOL)) (slot fuel-loaded (type INTEGER))) (defclass airplane (is-a transport-mean) (slot travel-speed (type INTEGER)) (slot model (type SYMBOL))) Οι ιδιότητες (slots) αποθηκεύουν τιµές που σχετίζονται µε τα στιγµιότυπααντικείµενα κάθε κλάσης. Κάθε αντικείµενο έχει ένα αντίγραφο από τις ιδιότητες της άµεσης κλάσης του, καθώς και των ιδιοτήτων που κληρονοµεί η κλάση. Οι όψεις (facets) είναι προσδιοριστές που υπάρχουν µέσα στην περιγραφή µιας ιδιότητας και τη χαρακτηρίζουν. Υπάρχουν όψεις όπως η προκαθορισµένη τιµή (default) µε την οποία καθορίζεται κάποια τιµή για µια ιδιότητα, οι περιορισµοί τιµών (constraints) που καθορίζουν τον τύπο των δεδοµένων κ.α. [59]. -30-

36 Υπάρχουν ιδιότητες που δεν κληρονοµούνται λόγω της όψης (propagation noinherit), εκτός από τις ιδιότητες που έχουν την όψη (source composite). Στιγµιότυπα Η δηµιουργία και η αρχικοποίηση ενός στιγµιότυπου µιας κλάσης ορισµένης από το χρήστη γίνεται µέσω της συνάρτησης make-instance. Η συνάρτηση make-instance στέλνει αρχικά ένα µήνυµα δηµιουργίας και έπειτα ένα µήνυµα αρχικοποίησης στο νέο αντικείµενο. Επίσης, επιτρέπει την αλλαγή οποιωνδήποτε προκαθορισµένων τιµών των ιδιοτήτων του συγκεκριµένου στιγµιότυπου. Η τιµή που επιστρέφει η συνάρτηση makeinstance είναι το όνοµα του νέου στιγµιότυπου, ενώ επιστρέφει το σύµβολο FALSE στην περίπτωση που η συνάρτηση αποτύχει. Ο ορισµός του στιγµιότυπου ενός φορτηγού οχήµατος γίνεται όπως παρακάτω, όπου το truck αποτελεί το όνοµα του νέου αντικειµένου και είναι προαιρετικό, το vehicle το όνοµα της κλάσης του αντικειµένου και οι τρεις ιδιότητες που ακολουθούν αποτελούνται από ζεύγη ιδιότητα-τιµή και αρχικοποιούν τις αντίστοιχες ιδιότητες του αντικειµένου µε τιµές. (make-instance [truck] of vehicle (fuel-type diesel) (tank-capacity 100) (fuel-loaded 50)) Η µαζική δηµιουργία στιγµιότυπων, που συναντάται κυρίως µέσα σε αρχεία, γίνεται µε τη χρήση της συνάρτησης definsances που αποτελεί το αντίστοιχο της συνάρτησης deffacts για τον ορισµό ενός συνόλου γεγονότων. Τη δήλωση της συνάρτησης definsances ακολουθεί το όνοµα της οµάδας των νέων αντικειµένων, το οποίο είναι ένα προαιρετικό σχόλιο, ενώ οι υπόλοιπες παράµετροι είναι ίδιες όπως στη συνάρτηση make-instance. Παρακάτω φαίνεται ο ορισµός µιας οµάδας αυτοκινήτων µιας οµάδας αυτοκινήτων family-cars, η οποία περιλαµβάνει δύο αυτοκίνητα, τα fiat_brava και Hyundai_lantra. Τα δυο στιγµιότυπα παρατίθενται το ένα µετά το άλλο και το κάθε ένα από αυτά έχει από δύο ιδιότητες, τις fuel-type και tank-capacity ενώ µόνο στη δεύτερη διαφοροποιούνται ως προς τις τιµές που παίρνουν. (definstances family-cars (fiat_brava of car (fuel-type benzene) (tank-capacity 45)) (hyundai_landra of car (fuel-type benzene) -31-

37 (tank-capacity 58))) Ερωτήσεις και ενέργειες σε οµάδες αντικειµένων Η COOL δίνει τη δυνατότητα εκτέλεσης ερωτήσεων και ενεργειών σε πολλά αντικείµενα µαζί βάσει συγκεκριµένων κριτηρίων αναζήτησης που θέτει ο χρήστης, µε τη χρήση συναρτήσεων. Υπάρχουν έξι συναρτήσεις για το λόγο αυτό οι οποίες έχουν ένα κοινό τρόπο µε τον οποίο προσδιορίζονται τα αντικείµενα στα οποία θα ενεργήσει η εντολή. Στην Εικόνα 3.2 [23] φαίνεται το σύνολο των συναρτήσεων όπου η συνάρτηση any-instancep ελέγχει αν υπάρχει έστω και µια οµάδα αντικειµένων που ικανοποιεί µια συνθήκη, η find-instance επιστρέφει την πρώτη οµάδα αντικειµένων που ικανοποιεί µια συνθήκη ενώ η find-all-instances τις επιστρέφει όλες. Η τελευταία κατηγορία συναρτήσεων επιτρέπει ενέργειες στα σύνολα των αντικειµένων που ικανοποιούν µια συνθήκη. Εικόνα 3.2 Συναρτήσεις οµάδων αντικειµένων -32-

38 3.2.2 Το περιβάλλον του CLIPS Η εκκίνηση του περιβάλλοντος του CLIPS σε λειτουργικό σύστηµα MS-Windows, γίνεται µε την εκτέλεση του αρχείου CLIPSWIN.EXE. Αφού ανοίξει το παραθυρικό περιβάλλον της γλώσσας φορτώνουµε ένα πρόγραµµα CLIPS επιλέγοντας το αρχείο που θέλουµε από το µονοπάτι File, Load Constructs. Για την εκτέλεση κάποιου προγράµµατος γραµµένου σε CLIPS πρέπει να πληκτρολογήσουµε την εντολή reset µε την οποία θα καταχωρηθούν στη µνήµη όλα τα γεγονότα που βρίσκονται στο αρχείο που φορτώσαµε και στη συνέχεια την εντολή run για την εκκίνηση του κύκλου λειτουργίας. 3.3 Χρήση γνώσης OWL µε συστήµατα κανόνων Παρακάτω γίνεται µια γενική επισκόπηση των µεθοδολογιών για τη χρήση οντολογικής γνώσης OWL σε συστήµατα κανόνων, οι οποίες ταξινοµούνται ανάλογα µε το µηχανισµό συλλογισµού που χρησιµοποιείται ιασύνδεση ενός DL Reasoner µε µια µηχανή κανόνων Ένας τρόπος χρήσης οντολογικής γνώσης OWL σε προγράµµατα κανόνων είναι να διασυνδεθεί ένας εξωτερικός DL reasoner στο σύστηµα κανόνων. Αυτές οι αρχιτεκτονικές, γνωστές και σαν υβριδικές, ακολουθούν µια σταθερή αρχιτεκτονική δυο υποσυστηµάτων, καθένα από τα οποία ασχολείται µε ξεχωριστή αναλογία της βάσης γνώσης. Πιο συγκεκριµένα, συνδυάζουν τις δυνατότητες συλλογιστικής DL reasoning προτύπου και τις δυνατότητες εκτέλεσης κανόνων της µηχανής κανόνων. Το βασικό χαρακτηριστικό τέτοιων αρχιτεκτονικών είναι ότι τα κατηγορήµατα των κανόνων και των οντολογιών είναι αυστηρώς διαχωρισµένα. Οι υβριδικές προσεγγίσεις ταξινοµούνται σε αµφίδροµες και µονόδροµες, σύµφωνα µε το αν η παραγόµενη γνώση των προγραµµάτων κανόνων ρέει από τη µονάδα κανόνων προς τη µονάδα DL ή όχι. Σε µονόδροµα πλαίσια, η πληροφορία ρέει µόνο από το σύστηµα DL στο σύστηµα κανόνων µε το να επιτρέπει κατηγορήµατα κανόνων να χρησιµοποιούνται µόνο στο σώµα των κανόνων ως περιορισµοί και έτσι η οντολογική γνώση του DL reasoner παραµένει αµετάβλητη κατά τη διάρκεια της εκτέλεσης του προγράµµατος κανόνων. Σε αµφίδροµα πλαίσια, τα κατηγορήµατα DL µπορούν να χρησιµοποιηθούν στο σώµα και στην κεφαλή των κανόνων και µε αυτό τον τρόπο, η οντολογική γνώση του -33-

39 DL reasoner µπορεί να µεταβάλλεται, επιτρέποντας την ανάπτυξη οντολογιών σε κανόνες Μετασχηµατισµός οντολογιών OWL σε κανόνες Σε αντίθεση µε τα υβριδικά πλαίσια, υπάρχουν µεθοδολογίες οι οποίες δε χρησιµοποιούν ένα DL reasoner για OWL συλλογισµό. Αντίθετα ακολουθούν µια µεθοδολογία α- ντιστοίχισης OWL οντολογιών σε κανόνες και γεγονότα στο σύστηµα κανόνων. Αυτές οι τεχνικές γνωστές και ως οµογενείς, χειρίζονται τους κανόνες και τα οντολογικά κατηγορήµατα οµοιογενώς, ως µια νέα γλώσσα λογικής. Η γενική ιδέα είναι ότι οι κανόνες µπορούν να χρησιµοποιήσουν µοναδιαία και δυαδικά κατηγορήµατα από την οντολογία (κλάσεις και ιδιότητες), όπως επίσης και κατηγορήµατα που εµφανίζονται µόνο στους κανόνες. Προκειµένου να διατηρηθεί η αποφασισιµότητα της ολοκληρωµένης γλώσσας, υπάρχει συνήθως µία συνθήκη ασφαλείας που περιορίζει τις µεταβλητές που εµφανίζονται στην κεφαλή του κανόνα σε αυτές που εµφανίζονται σε τουλάχιστον ένα θετικό κατηγόρηµα στο σώµα του κανόνα. ιαισθητικά, η σηµασιολογία της OWL αντιστοιχείται σε ένα φορµαλισµό κανόνα, που προϋπάρχει στη βάση κανόνων µε κατηγορήµατα κανόνων, βελτιώνοντας την εκφραστικότητα. Οι οµογενείς τεχνικές µπορούν να χρησιµοποιηθούν είτε για την ανάπτυξη προγραµµάτων κανόνων σε οντολογίες, είτε για οντολογίες σε κανόνες. Οπότε, ένας νέος reasoner χρειάζεται, ικανός να χειριστεί τη νέα οµοιογενή γλώσσα που δηµιουργείται Συνδυασµός υβριδικών και οµογενών πλαισίων Ένας άλλος τρόπος χρήσης της OWL οντολογικής πληροφορίας στα συστήµατα κανόνων είναι η αντιστοίχιση της γνώσης ενός DL reasoner στη Βάση Γνώσης της µηχανής κανόνων, όπως η υλοποίηση της Jena της DIG διασύνδεσης. Σε τέτοιες προσεγγίσεις, ο συλλογισµός OWL εκτελείται από το DL reasoner και η γνώση του χαρτογραφείται στο φορµαλισµό αναπαράστασης γνώσης τον οποίο υποστηρίζει η µηχανή κανόνων και συνήθως πρόκειται για γεγονότα βασισµένα σε τριπλέτες. Μετά την αντιστοίχιση της οντολογικής γνώσης, ίσως υπάρξουν περισσότερες αλληλεπιδράσεις µεταξύ του DL reasoner και της µηχανής κανόνων. Αν τα κατηγορή- µατα οντολογίας χρησιµοποιούνται µόνο στο σώµα των κανόνων, τότε η οντολογική γνώση παραµένει αµετάβλητη, διατηρώντας την αρχική σηµασιολογία η οποία έχει ε- -34-

40 ξαχθεί από το DL reasoner. Για αυτό το λόγο, δεν υπάρχει ανάγκη περαιτέρω αλληλεπίδρασης µεταξύ των δύο συστηµάτων. ιαφορετικά, αν τα κατηγορήµατα οντολογίας χρησιµοποιηθούν στην κεφαλή των κανόνων, η οντολογική γνώση τροποποιείται και ο DL reasoner πρέπει να χρησι- µοποιηθεί ξανά ώστε να συλλογιστεί πάνω στην τροποποιηµένη οντολογία και να χαρτογραφήσει ξανά την οντολογία. Το σύστηµα CLIPS-OWL διαφέρει από την παραπάνω αρχιτεκτονική για το λόγω του ότι ακολουθεί διαφορετική αναπαράσταση γνώσης για την απεικόνιση των OWL αξιωµάτων και αναφερόµαστε σε αυτή ως αντικειµενοστρεφές µονόδροµο οµογενές πλαίσιο εργασίας. Πιο συγκεκριµένα, χρησιµοποιείται ένας DL reasoner για OWL συλλογισµό και χαρτογραφείται η Βάση Γνώσης του reasoner στη Βάση Γνώσης του αντικειµενοστρεφούς συστήµατος κανόνων χωρίς την περαιτέρω χρήση του DL συστήµατος για την απάντηση ερωτηµάτων. Αντίθετα τα ερωτήµατα απαντώνται απευθείας από τη Βάση Γνώσης µε τη µορφή αντικειµενοστρεφών κατηγορηµάτων οντολογίας στο σώµα των κανόνων σαν περιορισµοί. Για αυτόν το λόγο στο πλαίσιο εργασίας µας, η µηχανή κανόνων δεν χρησιµοποιείται για οντολογικό συλλογισµό αλλά χρησιµοποιείται αποκλειστικά για την εκτέλεση του προγράµµατος κανόνων. Ακολουθούµε αυτή την προσέγγιση γιατί ενδιαφερόµαστε για την αποδοτική εκτέλεση των προγραµµάτων κανόνων σε αποµονωµένα οντολογικά περιβάλλοντα α- κολουθώντας τις θεωρήσεις κλειστού κόσµου (Closed World Assumption - CWA) και µοναδικού ονόµατος (Unique Name Assumption UNA) και στη διατήρηση της αρχικής σηµασιολογίας της χαρτογραφηµένης επεκτατικής γνώσης του DL reasoner. 3.4 Η βιβλιοθήκη CLIPS-OWL Η βιβλιοθήκη CLIPS-OWL [9] είναι µια υλοποίηση πρωτοτύπου για τους αντικειµενοστρεφείς αλγορίθµους αντιστοίχισης (mapping algorithms), χρησιµοποιώντας το Pellet DL reasoner [41] χαρτογραφώντας τη Βάση Γνώσης (KB) του στην αντικειµενοστρεφή γλώσσα COOL της µηχανής κανόνων CLIPS. Παρέχει τη δυνατότητα σε αντικείµενα να αντιστοιχηθούν στο σώµα παραγωγής κανόνων του CLIPS. -35-

41 Εικόνα 3.3 Η αρχιτεκτονική της βιβλιοθήκης CLIPS-OWL Η αρχιτεκτονική της βιβλιοθήκης CLIPS-OWL Η αρχιτεκτονική της βιβλιοθήκης CLIPS-OWL παρουσιάζεται στην Εικόνα 3.3. Ο πυρήνας της βιβλιοθήκης είναι το σύστηµα OOMG (Object-Oriented Model Generator), η µονάδα που παράγει το αντικειµενοστρεφές µοντέλο στη γλώσσα COOL του CLIPS βασισµένο στις δυνατότητες συµπερασµού του Pellet DL reasoner. Το OOMG αποτελείται από τρία υποσυστήµατα, τα Class Generator, Attribute Generator και Object Generator. Ένα σενάριο τυπικής χρήσης της βιβλιοθήκης CLIPS-OWL περιλαµβάνει τα παρακάτω βήµατα: 1. Τη φόρτωση της οντολογίας OWL στο Pellet DL reasoner ώστε να εκτελεστεί TBox και ABox συλλογισµούς. Κατά τη διάρκεια αυτής της φάσης το Pellet ε- κτελεί ταξινόµηση εννοιών και συλλογιστική στα αντικείµενα, καθώς επίσης ελέγχει την οντολογία για έλλειψη συνέπειας. 2. Με την επιτυχή ολοκλήρωση του πρώτου βήµατος, µε την έννοια του ότι δεν εντοπίστηκαν καθόλου ασυνέπειες, το OOMG αρχίζει τη διαδικασία αντιστοίχισης κάνοντας χρήση του API του Pellet στη γλώσσα Java. Τα συστήµατα Class Generator και Attribute Generator συνεργάζονται επειδή οι ιδιότητες ορίζονται µέσα στις κλάσεις. Το σύστηµα Object Generator ενεργεί ανεξάρτητα και εφαρ- µόζεται µετά την εφαρµογή των άλλων δύο συστηµάτων. -36-

42 3. Η έξοδος της βιβλιοθήκης CLIPS-OWL είναι το αντίστοιχο µοντέλο COOL της οντολογικής γνώσης η οποία φορτώθηκε στο Pellet. Αυτό το µοντέλο µπορεί στη συνέχεια να φορτωθεί στη µηχανή παραγωγής κανόνων CLIPS, µαζί µε το πρόγραµµα κανόνων το οποίο χρησιµοποιεί το παραγόµενο αντικειµενοστρεφές µοντέλο για την απάντηση των περιορισµών των αντικειµένων. Από την αρχιτεκτονική της βιβλιοθήκης CLIPS-OWL που φαίνεται στην Εικόνα 3.3 παρατηρείται ότι το Pellet και το CLIPS δεν είναι στενά συνδεδεµένα. Η λειτουργικότητα των δύο συστατικών δε διαστρωµατώνεται «interleaved» όπως συµβαίνει στα υβριδικά περιβάλλοντα όπου η µηχανή κανόνων χρειάζεται να καλεί το σύστηµα συλλογιστικής τη στιγµή που εκτελείται (run-time). Με αυτό τον τρόπο µπορεί να χρησι- µοποιείται ένα σύστηµα συλλογιστικής οντολογιών και η µηχανή κανόνων χωρίς καµία τροποποίηση της αρχιτεκτονικής τους Παράδειγµα µίξης γεγονότων και µοτίβων αντικειµένων Στο σηµείο αυτό θα παρουσιαστεί ένα παράδειγµα µιας εφαρµογής βασισµένης σε κανόνες που συνδυάζει τις δυνατότητες των κανόνων παραγωγής βασισµένων σε γεγονότα και των µοτίβων των αντικειµένων COOL, µε βάση τα αποτελέσµατα που δίνει η βιβλιοθήκη CLIPS-OWL. Η οντολογική γνώση του παραδείγµατος προέρχεται από την εργασία [33] και προσδιορίζει πανεπιστηµιακούς κανονισµούς (Εικόνα 3.4). Εικόνα 3.4 Κανόνες Πανεπιστηµίου -37-

43 Πιο συγκεκριµένα: u1. Ένας full professor (FP) αποτελεί µέλος του ακαδηµαϊκού συµβουλίου (FM) u2. Ένας µη διδάσκοντας full professor (NFP) είναι ένας full professor ο οποίος δεν διδάσκει (teach) (TC) κανένα µάθηµα (course) (Co) u3. Ένα µάθηµα θεωρείται advanced (AC) ή basic (BC) u4. Τα advanced και basic courses είναι disjoint u5. Η mary είναι µια περίπτωση ενός full professor η οποία διδάσκει µόνο advanced courses u6. Ο paul είναι µια περίπτωση ενός µαθητή (student) (St) u7. Ο john είναι µια περίπτωση ενός full professor u8. Η Artificial Intelligence (ai) είναι ένα advanced course u9. Η Knowledge representation (kr) είναι µια περίπτωση του µαθήµατος(instance of topic) (Tp) u10. Ο Logic programming (lp) είναι µια περίπτωση του µαθήµατος (instance of topic) u11. Ο john διδάσκει artificial intelligence Χρησιµοποιούνται τα παρακάτω γεγονότα στο CLIPS, σε αντιστοιχία µε τα κατηγορήµατα κανόνων [17]. (maydothesis?x?y). Ο Student?x είναι δικαιούχος για να κάνει την thesis του µε τον professor?y. (curr?x?y). Ο Student?x έχει το µάθηµα?y στο curriculum του/της. (expert?x?y). Ο Professor?x αποτελεί expert στο αντικείµενο?y. (exam?x?y). Ο Student?x πέρασε τις εξετάσεις στο µάθηµα?y. (subject?x?y). Το Course?x καλύπτει το αντικείµενο?y. Ο στόχος του προγράµµατος κανόνων είναι να εξάγει γεγονότα της µορφής (maydothesis x y), τα οποία δηλώνουν µε ποιον καθηγητή (y) ένας µαθητής (x) δικαιούται να κάνει τη διατριβή του, µε βάση τη γνώση που µοντελοποιείται στην ο- ντολογία. εν είναι επιθυµητό να χρησιµοποιούνται κανόνες για τη µετατροπή της ο- ντολογικής γνώσης και της αναπαράστασης πιο σύνθετων σχέσεων. Αντίθετα, χρησι- µοποιείται οντολογική γνώση ως η βάση για την ανάπτυξη µιας εφαρµογής βασισµένης σε κανόνες. Το παραγόµενο µοντέλο COOL απεικονίζεται στην Εικόνα 3.5. Η Εικόνα 3.6 απεικονίζει τους αντίστοιχους κανόνες παραγωγής CLIPS της εργασίας [33]. Πιο συγκεκριµένα, ο κανόνας curr εισάγει ένα γεγονός (curr?x?z) αν ο?x πέρασε τις εξετάσεις στο µάθηµα?y µε θέµα?z. Ο κανόνας maydothesis εισάγει ένα γεγονός (maydothesis?x?y) αν ο?x µε θέµα?z στο πρόγραµµα µαθηµάτων?y είναι ειδι- -38-

44 κός στο?z και ο?y είναι ένα µέλος των καθηγητών που διδάσκει τουλάχιστον ένα υψηλού επιπέδου µάθηµα. Εικόνα 3.5 Το παράδειγµα των σχέσεων πανεπιστηµίου στο COOL µοντέλο Συνεπώς, εισάγοντας τα γεγονότα (subject [ai] [kr]), (subject [ai] [lp]), (expert [mary] [lp]), (expert [john] [kr]), and (exam [paul] [ai]), και εκτελώντας τους κανόνες παραγωγής της εικόνας Εικόνα 3.6, καταλήγουµε στην προσθήκη του γεγονότος (maydothesis [paul] [john]) στη Βάση Γνώσης. Πιο συγκεκριµένα ο κανόνας curr ενεργοποιείται και εισάγει τα γεγονότα (curr [paul] [kr]) και (curr [paul] [lp]). Στη συνέχεια, ο κανόνας maydothesis ενεργοποιείται, εφόσον το γεγονός (expert [john] [kr]) υπάρχει και το γεγονός (curr [paul] [kr]) έχει προστεθεί από τον κανόνα curr. Αξίζει να προσεχθεί, ότι ο τρόπος που τα µοτίβα αντικειµένων χρησιµοποιούνται είναι έτσι ώστε να προσδιορίσουν τα αντικείµενα να ανήκουν σε συγκεκριµένες κλάσεις ή να έχουν συγκεκριµένες τιµές χαρακτηριστικών. -39-

45 Εικόνα 3.6 Οι κανόνες παραγωγής του παραδείγµατος -40-

46 4 Protégé - Μεθοδολογία Σε αυτό το κεφάλαιο αναφέρονται µερικά βασικά στοιχεία του εργαλείου Protégé, στο οποίο κατασκευάστηκε η ετικέτα (plug-in), και το περιβάλλον στο οποίο δουλεύει για το οποίο περιγράφεται συνοπτικά η δηµιουργία µιας οντολογίας. Στη συνέχεια παρουσιάζεται η ίδια οντολογία στο σύστηµα κανόνων CLIPS σαν αποτέλεσµα της µετατροπής που διενεργήθηκε µε την ενεργοποίηση και χρήση της ετικέτας. Τέλος, γίνεται ε- κτενής αναφορά στη µεθοδολογία που ακολουθήθηκε για την ανάπτυξη της ετικέτας αυτής. 4.1 Protégé Το Protégé [45] είναι ένα ελεύθερο και ανοιχτού κώδικα εργαλείο σύνταξης οντολογιών. Παρέχει µια σουίτα από εργαλεία κατασκευής µοντέλων πεδίων και εφαρµογών βασισµένων στη γνώση µε οντολογίες. Χάρη στην αυξανόµενη κοινότητα χρηστών του, παρέχονται στις διάφορες εκδόσεις του όλες οι εφαρµογές που έχουν συνεισφέρει οι χρήστες του µέχρι τότε ως πακέτα plug-ins Επισκόπηση του Protégé Στον πυρήνα του, το Protégé πραγµατοποιεί ένα πλούσιο σύνολο από δοµές µοντελοποιηµένης γνώσης και πράξεις που υποστηρίζουν τη δηµιουργία, την οπτική απεικόνιση και το χειρισµό των οντολογιών µε διάφορες µορφοποιήσεις αναπαράστασης. Το Protégé µπορεί να τροποποιηθεί σύµφωνα µε τις ανάγκες των χρηστών ώστε να παρέχει φιλική υποστήριξη για τη δηµιουργία µοντέλων οντολογικής γνώσης. Βασισµένο στη Java και επεκτάσιµο, το Protégé παρέχει ένα περιβάλλον κατάλληλο για τη δηµιουργία επιπρόσθετων εφαρµογών µε χαρακτηριστική αρχιτεκτονική plug-ins [43] να αποτελεί µια ευέλικτη βάση για γρήγορη ανάπτυξη εργαλείων και ε- φαρµογών βασισµένων στη γνώση. Στην Εικόνα 4.1 παρουσιάζεται µια οντολογία που αφορά τα ζώα όπου παρατηρείται µια ιεραρχία κλάσεων. Έχοντας µια τυχαία κλάση επιλεγµένη, έστω την κλάση KoalaWithMS φαίνεται στην ίδια εικόνα ένα σύνολο από ιδιότητες στις διπλανές καρτέλες, οι οποίες θα εξηγηθούν στη συνέχεια. -41-

47 Εικόνα 4.1 Το περιβάλλον του Protégé Μοντελοποίηση οντολογιών Η πλατφόρµα Protégé υποστηρίζει δύο βασικούς τρόπους µοντελοποίησης οντολογιών: Ο συντάκτης πλαισίων Protégé επιτρέπει στους χρήστες να χτίζουν και να δη- µιουργούν οντολογίες που είναι βασισµένες σε πλαίσια. Σε αυτό το µοντέλο µια οντολογία αποτελείται από ένα σύνολο κλάσεων οργανωµένες σε µια ιεραρχία συλλογισµών για την αναπαράσταση βασικών εννοιών ενός πεδίου, ένα σύνολο από ιδιότητες (slots) συσχετισµένες µε τις κλάσεις για την περιγραφή των ιδιοτήτων και των σχέσεων τους και ένα σύνολο από στιγµιότυπα αυτών των κλάσεων. -42-

48 Ο συντάκτης Protégé-OWL δίνει τη δυνατότητα στους χρήστες να κατασκευάζουν οντολογίες για το Σηµασιολογικό Ιστό στη γλώσσα OWL. Μια οντολογία OWL µπορεί να περιλαµβάνει περιγραφές κλάσεων, ιδιοτήτων και των στιγµιότυπών τους. εδοµένης µιας τέτοιας οντολογίας, η επίσηµη σηµασιολογία της OWL καθορίζει πως προέρχονται οι λογικές συνέπειες της. Οι οντολογίες µπορούν να εξαχθούν σε µια ποικιλία µορφοποιήσεων µε πιο βασικές τις RDF(S), OWL, XML Schema API Protégé Το API [2] του Protégé είναι µια ανοιχτού λογισµικού βιβλιοθήκη Java ιδανική για την επεξεργασία και χρήση της γλώσσας οντολογιών OWL του Σηµασιολογικού Ιστού (OWL). Παρέχει κλάσεις και µεθόδους για την επεξεργασία των OWL αρχείων, για την κλήση ερωτηµάτων και διαχείριση των µοντέλων του και για τη χρήση λογικής. Τέλος, το API είναι ιδανικό για την ανάπτυξη γραφικού περιβάλλοντος Ετικέτες Protégé (plug-ins) Η ανάπτυξη ετικετών (plug-ins) στο Protégé αποτελεί κεντρικό χαρακτηριστικό της πλατφόρµας και για αυτό υπάρχει ολόκληρο σύνολο τεκµηρίωσης και παραδειγµάτων (Protégé Programming Development Kit - PDK) [40] που περιγράφουν και απεικονίζουν τη διαδικασία ανάπτυξης και εγκατάστασης ετικετών στο Protégé όπως επίσης και το πώς να δουλεύεις απευθείας στο API του Protégé. Οι ετικέτες µπορούν να χρησιµοποιηθούν για την αλλαγή ή επέκταση της συµπεριφοράς του Protégé. Το Protégé από µόνο του είναι γραµµένο ως µια συλλογή από ετικέτες και αυτές µπορούν να αντικατασταθούν από τους εκάστοτε δηµιουργούς µοναδικώς η ολοκληρωτικά για την ολοκληρωτική αλλαγή του περιβάλλοντος και της συµπεριφοράς του Protégé. Υπάρχουν έξι τύποι plug-ins οι οποίοι παρατίθενται παρακάτω: Tab widget Slot widget Back-end Createproject Export -43-

49 Project Η παρούσα εργασία ασχολήθηκε µε τον πρώτο τύπο ο οποίος είναι µια ετικέτα ή καρτέλα περιβάλλοντος χρήστη η οποία εµφανίζεται σαν πρόσθετη εφαρµογή στο κεντρικό παράθυρο του Protégé µετά την επιλογή του. Στην Εικόνα 4.2 φαίνεται το παράθυρο Tab Widget µε το σύνολο των ετικετών που προκύπτει αν ακολουθηθεί το µονοπάτι Edit, Configure. Παρατηρείται ότι οι πέντε πρώτες από το σύνολο των ετικετών είναι επιλεγµένες και αποτελούν αυτές που εµφανίζονται εξ ορισµού στο κεντρικό περιβάλλον του Protégé. Κάθε πρόσθετη ετικέτα που επιλέγεται θα προστεθεί στις ήδη υπάρχουσες. Εικόνα 4.2 Επιλογή ετικετών plug-ins 4.2 ηµιουργία µιας οντολογίας Στην ενότητα αυτή περιγράφεται η δηµιουργία [48] µιας οντολογίας µε τη χρήση του Protégé. -44-

50 4.2.1 Πρώτα βήµατα δηµιουργίας µιας νέας οντολογίας στο Protégé Με την εκκίνηση του Protégé επιλέγεται New Project και στη συνέχεια OWL/RDF Files στις καρτέλες που ανοίγουν. Ένα νέο άδειο Protégé-OWL αρχείο έχει δηµιουργηθεί στο οποίο µπορεί να ξεκινήσει ο ορισµός κλάσεων και ιδιοτήτων. Στην καρτέλα OWL Classes βλέπουµε την ιεραρχία των κλάσεων όπου προς το παρόν, η οντολογία περιλαµβάνει µόνο µια κλάση µε όνοµα owl:thing. Οι κλάσεις στην OWL ερµηνεύονται ως σύνολα από αντικείµενα. Η κλάση owl:thing αναπαριστά το σύνολο το οποίο περιλαµβάνει όλα τα αντικείµενα και εξαιτίας αυτού, όλες οι κλάσεις είναι υποκλάσεις του owl:thing. Στην Εικόνα 4.3 απεικονίζεται µια οντολογία µετά τη διαδοχική εισαγωγή κλάσεων σύµφωνα µε τη µέθοδο create subclass στην κλάση ρίζα owl:thing και αντίστοιχα create subclass στις κλάσεις που επιθυµεί ο χρήστης να δηµιουργήσει υποκλάσεις. Εικόνα 4.3 Οντολογία Υπολογιστής Στο σηµείο αυτό θα οριστούν οι κλάσεις pc, Desktop και Peripherals ως ξένες/ διαχωρίσιµες (disjoint) µεταξύ τους µε τις επιλογές που βρίσκονται στο παράθυρο Disjoints της καρτέλας OWLClasses. Έτσι θα εξασφαλιστεί ότι η µια κλάση αποκλείει α- µοιβαία την άλλη και ότι ένα αντικείµενο δεν µπορεί να είναι ταυτόχρονα στιγµιότυπο -45-

51 σε περισσότερες από µια κλάσεις. Η διαδικασία απαιτεί για κάθε κλάση την προσθήκη των άλλων δύο µε το κουµπί Add disjoint class. Παρατηρείται ότι αυτές που έχουν ήδη προστεθεί δε χρειάζεται να οριστούν ξανά. Στη συνέχεια, ο χρήστης µπορεί να προσθέσει και κάποιες ιδιότητες. Οι ιδιότητες στην OWL αναπαριστούν σχέσεις µεταξύ δύο αντικειµένων. Από τους δύο βασικούς τύπους ιδιοτήτων που υπάρχουν, δηλαδή τις ιδιότητες αντικειµένων (Object properties) και τις ιδιότητες τύπων (Datatype properties), οι ιδιότητες αντικειµένων είναι αυτές που συνδέουν ένα αντικείµενο µε ένα άλλο αντικείµενο. Οπότε, από την καρτέλα Properties επιλέγεται το κουµπί Create Object Property για τη δηµιουργία µιας νέας ιδιότητας. Στο παράδειγµα, δηµιουργούνται δύο ιδιότητες οι hascomponents και hasperipherals για τις οποίες στη συνέχεια δηµιουργούνται και οι αντίστροφες (inverse properties) ιδιότητες τους, iscomponentof και isperipheralof. Αυτό σηµαίνει ότι αν ένα αντικείµενο συνδέεται µε την ιδιότητα hascomponents µε ένα άλλο άτοµο, τότε το δεύτερο άτοµο θα συνδέεται µε το πρώτο µε την ιδιότητα iscomponentof. Εικόνα 4.4 Ρύθµιση των ιδιοτήτων των κλάσεων στην καρτέλα Properties -46-

52 Οι ιδιότητες µπορούν να έχουν ένα πεδίο τιµών (domain) και ένα εύρος τιµών (range) στο οποίο ορίζονται. Για παράδειγµα, το πεδίο τιµών της ιδιότητας hascomponents είναι το Pc και το εύρος τιµών της είναι το Desktop. Θα ακολουθηθεί η ίδια διαδικασία για τον ορισµό του πεδίου και του εύρους τιµών των δύο ιδιοτήτων και των α- ντίστροφων τους. Στην καρτέλα Properties επιλέγεται η ιδιότητα hascomponent και µε την επιλογή Specialise Domain στο κάτω µέρος του κεντρικού παραθύρου, προστίθεται ως πεδίο η κλάση Pc. Επίσης, µε την επιλογή Specialise Range ορίζεται ως εύρος τιµών η κλάση Desktop. Αντίστοιχη διαδικασία ακολουθείται και για την ιδιότητα has- Peripheral, η οποία θα έχει πεδίο τιµών το Pc και εύρος τιµών το Peripherals. Στην Εικόνα 4.4 φαίνεται το περιβάλλον της καρτέλας Properties µετά τις αλλαγές που συντελέστηκαν από τα προηγούµενα βήµατα. Εικόνα 4.5 Τελική µορφή της οντολογίας Υπολογιστής Στο σηµείο αυτό θα παρουσιαστεί η µέθοδος εισαγωγής περιορισµών στις ιδιότητες. Στην OWL, οι ιδιότητες χρησιµοποιούνται για να δηµιουργούν περιορισµούς οι οποίοι περιορίζουν τα αντικείµενα που ανήκουν σε µια κλάση. Υπάρχουν τρεις κατηγορίες περιορισµών στην OWL, οι περιορισµοί ποσοδείκτη (quantifier), οι περιορισµοί πληθικότητας (cardinality) και οι περιορισµοί έχει ιδιότητα (hasvalue). Εµείς θα χρησι- -47-

53 µοποιήσουµε τους περιορισµούς ποσοδείκτη και συγκεκριµένα τον υπαρξιακό ποσοδείκτη. Στην καρτέλα OWLClasses επιλέγεται η κλάση Pc. Στην περιοχή Asserted Conditions στο µέσο του κεντρικού παραθύρου επιλέγεται το κουµπί Create restriction µε το οποίο θα προστεθεί ο περιορισµός. Στο παράθυρο που ανοίγει, επιλέγεται στο Restricted Property η ιδιότητα hascomponent, στο Restriction ο περιορισµός somevaluesfrom και στο Filler εισάγεται η κλάση Desktop για να δηλωθεί ότι το Pc έχει τουλάχιστον ένα Desktop. Στην Εικόνα 4.6 παρουσιάζεται η οντολογία που έχει µόλις δηµιουργηθεί µετά την ολοκλήρωση των παραπάνω σταδίων Λειτουργία της ετικέτας στην οντολογία Στο σηµείο αυτό θα εξεταστούν οι λειτουργίες τις ετικέτας πάνω στην οντολογία που µόλις κατασκευάστηκε. Έτσι, µέσα από το περιβάλλον της ετικέτας OWLtoCOOLTab θα παρουσιαστεί η διαδικασία µετατροπής της οντολογίας OWL Υπολογιστής στο α- ντίστοιχο αρχείο CLIPS. Εικόνα 4.6 Καρτέλα Transform Ontology -48-

54 Όπως εξηγήθηκε στην ενότητα 4.1.4, η ενεργοποίηση µιας καινούργια ετικέτας, εκτός των εξ-ορισµού ετικετών (default plug-ins), απαιτεί την ακολουθία από το χρήστη του µονοπατιού Edit, Configure. Με την επιλογή της νέας ετικέτας που κατασκευάστηκε µε όνοµα OWLtoCOOLTab, θα προστεθεί στο µενού του Protégé η καρτέλα Transform Ontology, η οποία και εµφανίζεται δίπλα στην καρτέλα Forms. Στην Εικόνα 4.6 παρουσιάζεται το περιβάλλον της ετικέτας όταν αυτή είναι επιλεγµένη. Εικόνα 4.7 Επιλογή του επιθυµητού καταλόγου Στο περιβάλλον της επιλεγµένης καρτέλας το πλήκτρο browse δίνει τη δυνατότητα αναζήτησης του καταλόγου που επιθυµεί ο χρήστης να αποθηκεύσει το αρχείο της µετατροπής, δηλαδή το αρχείο.clp. Πρόκειται για έναν απλό στη χρήση File Chooser [19] που φαίνεται παραπάνω στην Εικόνα 4.7. Στη συνέχεια, µε το πάτηµα του κουµπιού save and view, επιτελούνται δύο λειτουργίες. Με τη λειτουργία save παράγονται στην έξοδο τα αρχεία της οντολογίας µαζί µε το ζητούµενο αρχείο.clp το οποίο είναι το αποτέλεσµα της µετατροπής της υπάρχουσας οντολογίας στη γλώσσα COOL, ενώ η λειτουργία view περιλαµβάνει την απεικόνιση των περιεχοµένων του νέου αρχείου CLIPS στο χώρο του κεντρικού παραθύρου -49-

55 της καρτέλας. Στην Εικόνα 4.8 παρουσιάζεται ένα µέρος των περιεχοµένων του αρχείου αυτού. Το περιεχόµενο του παραθύρου της καρτέλας OWL2COOL που απεικονίζεται στην Εικόνα 4.8 αποτελεί ένα σύνολο από κλάσεις ιδιότητες και αντικείµενα τα οποία ορίζονται µε τους κανόνες σύνταξης της αντικειµενοστρεφής γλώσσας COOL. Εικόνα 4.8 Ο ορισµός των κλάσεων της οντολογίας Υπολογιστής στην COOL Όλες οι κλάσεις ορίζονται µέσω της ειδικής συνάρτησης defclass µε την οποία καθορίζονται οι ιδιότητες και η συµπεριφορά τους. Η κλάση owl:thing που αποτελεί τη µητέρα κλάση όλων των υπολοίπων αναπαριστάται στην COOL όπως φαίνεται στις παρακάτω γραµµές κώδικα. (defclass (is-a USER) (multislot (type INSTANCE-NAME) (allowed-classes (slot delegator (type SYMBOL) (storage shared) (access read-only) -50-

56 ) (default TRUE)) (multislot (type SYMBOL) (storage shared) (access read-only) (default )) Το πρώτο όρισµα της κλάσης owl:thing είναι το (is-a USER) µε το οποίο κληρονοµεί από την κλάση USER, η οποία έχει όλες τις βασικές µεθόδους του συστή- µατος, όπως αρχικοποίηση (initialization) και διαγραφή (deletion). Για το λόγο ότι κάθε άλλη κλάση είναι υποκλάση της owl:thing όλες κληρονοµούν έµµεσα από τη USER. Η κλάση Pc αποτελεί µια από τις βασικές κλάσεις της οντολογίας που δηµιουργήθηκε στις προηγούµενες παραγράφους και παρακάτω παρουσιάζεται ο κώδικας που παράγεται στη γλώσσα COOL. (defclass (is-a (multislot (type INSTANCE-NAME) (allowed-classes (multislot (type INSTANCE-NAME) (allowed-classes (slot delegator (source composite) (default TRUE)) (multislot (source composite) (default )) ) Η κλάση Pc, όπως και κάθε άλλη κλάση, κληρονοµεί από την owl:thing και αυτό δηλώνεται από τη γραµµή (is-a Επίσης, φαίνεται από το σύνολο των ιδιοτήτων multislot, το οποίο δηλώνει ότι δέχεται πολλαπλές τιµές, ότι η κλάση Pc έχει τις ιδιότητες hasperipheral που τη συνδέει µε την κλάση Peripherals και hascomponent που τη συνδέει µε την κλάση Desktop. Τέλος, υπάρχει η γραµµή (definstances instances) µε την οποία ορίζεται µια οµάδα στιγµιότυπων µε το όνοµα instances. -51-

57 4.3 Μεθοδολογία ανάπτυξης ετικέτας (plug-in) Στην ενότητα αυτή περιγράφεται η µεθοδολογία [42] [46] που ακολουθήθηκε για την ανάπτυξη του συγκεκριµένου plug-in. Το λογισµικό υλοποιήθηκε στην πλατφόρµα α- νάπτυξης προγραµµατιστικών εφαρµογών NetBeans [34] NetBeans Το NetBeans αναφέρεται ταυτόχρονα σε µια πλατφόρµα ανάπτυξης εφαρµογών για το διαδίκτυο χρησιµοποιώντας Java, JavaScript, PHP, Python, Ruby, Groovy, C και C++ και σε ένα ολοκληρωµένο περιβάλλον ανάπτυξης (IDE) που αναπτύσσεται µε τη χρήση της πλατφόρµας του NetBeans. Η πλατφόρµα του NetBeans επιτρέπει τις εφαρµογές να αναπτύσσονται από ένα σύνολο πρότυπων συστατικών λογισµικού που καλούνται µονάδες (modules). Η µονάδα είναι ένας φάκελος αρχείων Java ο οποίος περιέχει κλάσεις Java γραµµένες για αλληλεπίδραση µε το ανοιχτό API του NetBeans και ένα αρχείο manifest το οποίο την προσδιορίζει ως µονάδα. Οι εφαρµογές που χτίζονται στη µονάδα module µπορούν να επεκταθούν µε την πρόσθεση νέων µονάδων. Γεγονός είναι ότι επειδή οι µονάδες µπορούν να αναπτυχθούν ανεξάρτητα, οι εφαρµογές που βασίζονται στην πλατφόρµα του NetBeans µπορούν να επεκταθούν από άλλους προγραµµατιστές ιαδικασία δηµιουργίας της ετικέτας. Από τη στιγµή της δηµιουργίας µιας εργασίας στο NetBeans (project) παράγονται αυτόµατα όλα τα αρχεία για την ανάπτυξη κώδικα και η επικοινωνία γίνεται µε τη φόρτωση βιβλιοθηκών σε κάθε αρχείο.java που δουλεύουµε. Η εντολή µε την οποία φορτώνεται το σύνολο του πακέτου και των ρυθµίσεων που παράγει το NetBeans είναι: package owltocool; Για την επικοινωνία µε το Protégé χρειάζεται να φορτωθούν οι βιβλιοθήκες του Protégé που είναι απαραίτητες για την εκτέλεση των µεθόδων και της κλήσης του ίδιου του εργαλείου. Τα αρχεία jar που φορτώθηκαν στον κατάλογο libraries του NetBeans ήταν τα τρία αρχεία του καταλόγου εγκατάστασης του Protégé µαζί µε όλα τα αρχεία από το φάκελο των plugins edu.stanford.smi.protegex.owl για την αξιοποίηση των νέων χαρακτηριστικών που εισήχθηκαν µε το protegex. Στην Εικόνα 4.9 φαίνεται ο κατάλογος libraries µέσα από το περιβάλλον του NetBeans και µερικά από τα αρχεία jar που -52-

58 εισήχθησαν. Τα τρία πρώτα αρχεία είνα αυτά που προήλθαν από το φάκελο εγκατάστασης του Protégé. Μερικές από τις εντολές εισόδου βιβλιοθηκών στο αρχείο µας java είναι: import edu.stanford.smi.protege.model.project; import edu.stanford.smi.protegex.owl.jena.jenaowlmodel; import edu.stanford.smi.protegex.owl.model.owlmodel; Εικόνα 4.9 Οι βιβλιοθήκες (Libraries) στο περιβάλλον του NetBeans Τέλος, για τη χρήση των µεθόδων και ιδιοτήτων του CLIPS και για την χρήση του λογισµικού CLIPS-OWL που υλοποιεί τη µετατροπή της οντολογίας OWL σε σύνολο κλάσεων στη γλώσσα COOL προστέθηκαν επιπλέον στη βιβλιοθήκη του NetBeans το παρακάτω σύνολο από αρχεία: aterm-java-1.6.jar, ClipsOWL_lib.jar, commons-logging-1.1.jar, owlapi-bin.jar, pellet.jar, relaxngdatatype.jar, servlet.jar, xsdlib.jar. Μερικές από τις εντολές εισόδου των βιβλιοθηκών αυτών µέσα στον κώδικα είναι: import univ.auth.iskp.semantictools.clipsowl.clipsowl; import univ.auth.iskp.semantictools.clipsowl.classes.clipsclassnotfound Exception; -53-

59 import univ.auth.iskp.semantictools.clipsowl.classes.clipsobjectnotfoun dexception; Αφού εξασφαλίστηκε η κατάλληλη επικοινωνία µε τους εξωτερικούς παράγοντες, ακολουθεί το κοµµάτι του κώδικα που υλοποιεί το περιβάλλον λειτουργίας της ετικέτας του Protégé. Το σύνολο του κώδικα περιλαµβάνεται σε µια κλάση που ονοµάζεται OWLtoCOOLTab. Η κλάση αυτή κληρονοµεί από την κλάση AbstractTabWidget η ο- ποία µας δίνει τη δυνατότητα χειρισµού των ετικετών του Protégé. Μέσα στην κλάση FrameCounter έχουµε τη main, την κλάση OpenAction, τις µεθόδους initialize, issuitable και setfile και µερικές public µεταβλητές. Η main Η main περιλαµβάνει µόνο την κλήση του Protégé στο σώµα της που είναι: edu.stanford.smi.protege.application.main(args); Η κλάση OpenAction Πρόκειται για την κλάση που υλοποιεί τη διεπαφή ActionListener και ορίζει το εκτελέσιµο σώµα του κουµπιού browse που εισάγεται στο περιβάλλον της ετικέτας. Με το πάτηµα του κουµπιού ενεργοποιείται το σώµα αυτό και καλεί έναν filechooser για την επιλογή καταλόγου (directory) που θα σωθούν τα αρχεία που παράγονται. Στην ουσία στον επιλεγµένο κατάλογο θα σωθεί η υπάρχουσα οντολογία.owl µαζί µε το αρχείο CLIPS.clp που θα παραχθεί από την οντολογία. Η µέθοδος initialize Η µέθοδος initialize αποτελεί τη βασική µέθοδο µέσα στην οποία υλοποιείται το περιβάλλον της ετικέτας και εµφανίζονται τα βασικά κουµπιά αλληλεπίδρασης. ύο είναι τα κουµπιά µε τα οποία δουλεύει ο χρήστης: Το κουµπί browse µε το οποίο γίνεται αναζήτηση στον επιθυµητό κατάλογο και το κουµπί save and view µε το πάτηµα του οποίου σώζονται τα δυο παραγόµενα αρχεία και απεικονίζεται το περιεχόµενο του αρχείου CLIPS που παράγεται από τη δεδοµένη οντολογία. Μέσα στο try{ } catch βρίσκεται ο κώδικας που µετατρέπει τις οντολογίες σε σύνολο κλάσεις CLIPS. Με παρακάτω εντολή δηµιουργείται ένα αντικείµενο της κλάσης ClipsOWL: ClipsOWL c = new ClipsOWL(); Με την εντολή αυτή δηλώνεται το µονοπάτι του αρχείου CLIPS: -54-

60 c.setexportfile(out); Ενώ µε την παρακάτω εντολή ξεκινά η διαδικασία της µετατροπής: c.startlocal(false, false); Αφού ελεγχθούν όλες οι πιθανές περιπτώσεις λάθους µε τα exceptions που πιάνουν τα catch γίνεται ένας έλεγχος αν ο κατάλογος που δόθηκε δεν είναι κενός (null) και καλείται η µέθοδος setfile που θα αναλυθεί παρακάτω. Τέλος, ακολουθούν οι εντολές µε τις οποίες προστίθεται το κουµπί αναζήτησης καταλόγου, η περιοχή που θα εµφανιστεί η διεύθυνση του καταλόγου, το κουµπί που θα σώζει τα αρχεία και η περιοχή που θα εµφανίζεται σαν κείµενο το περιεχόµενο του αρχείου CLIPS: add(filenametf); add(browsebutton); add(button); add(textarea); Η µέθοδος setfile Η µέθοδος αυτή λαµβάνει σαν είσοδο το παραχθέν αρχείο.clp και δίνει ως έξοδο ένα κείµενο µε το περιεχόµενο του αρχείου. Με το παρακάτω σύνολο εντολών γίνεται η εκτύπωση στο παράθυρο κειµένου: while((len = in.read(buffer))!= -1) { // Read a batch of chars String s = new String(buffer, 0, len); // Convert to a string textarea.append(s); // And display them } Χρήση της ετικέτας από την κοινότητα Για να γίνει λειτουργικός ο κώδικας που δηµιουργήθηκε µέσω της πλατφόρµας Netbeans και για τη διάθεση του στην κοινότητα για δωρεάν και δηµόσια χρήση του από κάθε χρήστη του Protégé χρειάστηκε να ακολουθηθεί η παρακάτω διαδικασία: ηµιουργία του αρχείου JAR στην κατάλληλη µορφή για χρήση Με την ολοκλήρωση του κώδικα και τη µεταγλώττιση του, δηµιουργήθηκε ένα jar αρχείο το οποίο αφού ελεγχθεί πρώτα, είναι έτοιµο προς χρήση. Ήταν επιθυµητό από την αρχή να παραδοθεί στην κοινότητα ένα jar αρχείο αντί για ένα σύνολο από αρχεία class, στα οποία είναι εύκολο να δηµιουργηθούν λάθη και είναι µια διαδικασία αποθαρρυντική για δηµιουργό και χρήστη ταυτόχρονα. -55-

61 Αυτό που χρειάζεται να γίνει ώστε ο κώδικας που αναπτύχθηκε να καταστεί εκ- µεταλλεύσιµος από το Protégé ανεξάρτητα από κάποια πλατφόρµα ανάπτυξης εφαρµογών, είναι η τροποποίηση του αρχείου manifest.mf [31] που περιλαµβάνεται µέσα στο jar. Είναι απαραίτητο να βρίσκεται σε µορφή που αντιλαµβάνεται το Protégé γιατί η παρούσα µορφοποίηση είναι αποκλειστική για το Netbeans. Στην Εικόνα 4.10 παρουσιάζονται η αρχική (στην αριστερή πλευρά) και η τελική, επιθυµητή (στη δεξιά πλευρά) µορφοποίηση του αρχείου manifest.mf: Εικόνα 4.10 Η παλιά και η νέα έκδοση του manifest.mf Το manifest είναι ένα ειδικό αρχείο που περιέχει πληροφορία σχετικά µε τα αρχεία που πακετάρονται σε ένα JAR αρχείο. Αυτή η µετά-πληροφορία που βρίσκεται στο manifest χαρίζει στο JAR αρχείο τη δυνατότητα να περιέχει ένα µεγάλο εύρος λειτουργικότητας για πολλαπλές χρήσεις και εφαρµογές. Με τη δηµιουργία ενός JAR αρχείου, αυτό λαµβάνει αυτόµατα ένα εξ ορισµού αρχείο manifest, το οποίο είναι µοναδικό και πάντα έχει όνοµα µονοπατιού το: META-INF/MANIFEST.MF Όταν το αρχείο JAR έχει δηµιουργηθεί µε την έκδοση 1.2 του JDK [26] (Java Development Kit), το εξ ορισµού manifest αρχείο είναι πολύ απλό και περιέχει την παρακάτω δήλωση: Manifest-Version: 1.0 Πρέπει να σηµειώσουµε, ότι η προϋπόθεση για να είναι λειτουργικό το αρχείο manifest στην περίπτωση του Protégé είναι η ύπαρξη µιας κενής γραµµής µεταξύ διαδοχικών εντολών, αν δεν είναι η µία συνέχεια της άλλης. Για παράδειγµα, στη νέα έκδοση του manifest στην Εικόνα 4.8 βλέποµε την ύπαρξη µια κενής σειράς µεταξύ της -56-

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

ΑΝΑΠΑΡΑΣΤΑΣΗ ΓΝΩΣΗΣ ΣΤΟΝ ΠΑΓΚΟΣΜΙΟ ΙΣΤΟ ΑΝΑΠΑΡΑΣΤΑΣΗ ΓΝΩΣΗΣ ΣΤΟΝ ΠΑΓΚΟΣΜΙΟ ΙΣΤΟ Γλώσσα Οντολογιών Ιστού: OWL Ι. Χατζηλυγερούδης Γλώσσες Οντολογιών Ιστού RDF και RDFS έχουν περιορισμένη εκφραστικότητα Η RDF περιορίζεται σε δυαδικά κατηγορήματα

Διαβάστε περισσότερα

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

ΤΙΤΛΟΣ ΙΠΛΩΜΑΤΙΚΗΣ ΕΡΓΑΣΙΑΣ: GoNToggle: ΕΞΥΠΝΗ ΜΗΧΑΝΗ ΑΝΑΖΗΤΗΣΗΣ ΜΕ ΧΡΗΣΗ ΟΝΤΟΛΟΓΙΩΝ ΠΕΡΙΟΧΗ ΕΡΕΥΝΑΣ: ΣΥΓΓΡΑΦΕΑΣ: ΤΙΤΛΟΣ ΙΠΛΩΜΑΤΙΚΗΣ ΕΡΓΑΣΙΑΣ: GoNToggle: ΕΞΥΠΝΗ ΜΗΧΑΝΗ ΑΝΑΖΗΤΗΣΗΣ ΜΕ ΧΡΗΣΗ ΟΝΤΟΛΟΓΙΩΝ ΠΕΡΙΟΧΗ ΕΡΕΥΝΑΣ: Υπολογιστικά Συστήµατα & Τεχνολογίες Πληροφορικής ΣΥΓΓΡΑΦΕΑΣ: Γιώργος Γιαννόπουλος, διδακτορικός φοιτητής

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Σχεδιασµός Ανάπτυξη Οντολογίας Σχεδιασµός Ανάπτυξη Οντολογίας ΈλεναΜάντζαρη, Γλωσσολόγος, Ms.C. ΙΑΤΡΟΛΕΞΗ: Ανάπτυξη Υποδοµής Γλωσσικής Τεχνολογίας για το Βιοϊατρικό Τοµέα Τι είναι η οντολογία; Μιαοντολογίαείναιέναλεξικόόρωνπου διατυπώνονται

Διαβάστε περισσότερα

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

Αναπαράσταση Γνώσης και Αναζήτηση στον Σηµασιολογικό Ιστό Αναπαράσταση Γνώσης και Αναζήτηση στον Σηµασιολογικό Ιστό Αλέξανδρος Βαλαράκος (alexv@iit.demokritos.gr) (alexv@aegean.gr) Υποψήφιος ιδάκτορας Τµήµα Μηχανικών Υπολογιστικών και Πληροφοριακών Συστηµάτων.

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Σημασιολογική Ολοκλήρωση Δεδομένων με τη χρήση Οντολογιών Σημασιολογική Ολοκλήρωση Δεδομένων με τη χρήση Οντολογιών Λίνα Μπουντούρη - Μανόλης Γεργατσούλης Ιόνιο Πανεπιστήμιο 15ο Πανελλήνιο Συνέδριο Ακαδημαϊκών Βιβλιοθηκών Διαδίκτυο και Επίπεδα ετερογένειας δεδομένων

Διαβάστε περισσότερα

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

GoNToggle: ΕΞΥΠΝΗ ΜΗΧΑΝΗ ΑΝΑΖΗΤΗΣΗΣ ΜΕ ΧΡΗΣΗ ΟΝΤΟΛΟΓΙΩΝ ΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ: GoNToggle: ΕΞΥΠΝΗ ΜΗΧΑΝΗ ΑΝΑΖΗΤΗΣΗΣ ΜΕ ΧΡΗΣΗ ΟΝΤΟΛΟΓΙΩΝ ΣΠΟΥ ΑΣΤΗΣ: Γιαννόπουλος Γεώργιος ΕΠΙΒΛΕΠΩΝ: Καθ. Ι. Βασιλείου ΒΟΗΘΟΙ: Α. ηµητρίου, Θ. αλαµάγκας Γενικά Οι µηχανές αναζήτησης

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Οντολογία για την περιγραφή των προσωπικοτήτων της Σάμου, την κατηγοριοποίηση και τις σχέσεις τους Οντολογία για την περιγραφή των προσωπικοτήτων της Σάμου, την κατηγοριοποίηση και τις σχέσεις τους Επιμέλεια: Καρανικολάου Θεοδώρα Επιβλέπων καθηγητής: Δενδρινός Μάρκος Αθήνα, 2017 Σκοπός Στόχος της πτυχιακής

Διαβάστε περισσότερα

Περιεχόµενα. Πληροφοριακά Συστήµατα: Κατηγορίες και Κύκλος Ζωής. Π.Σ. ιαχείρισης Πράξεων. Π.Σ. ιοίκησης. Κατηγορίες Π.Σ. Ο κύκλος ζωής Π.Σ.

Περιεχόµενα. Πληροφοριακά Συστήµατα: Κατηγορίες και Κύκλος Ζωής. Π.Σ. ιαχείρισης Πράξεων. Π.Σ. ιοίκησης. Κατηγορίες Π.Σ. Ο κύκλος ζωής Π.Σ. Πληροφοριακά Συστήµατα: Κατηγορίες και Κύκλος Ζωής Περιεχόµενα Κατηγορίες Π.Σ. ιαχείρισης Πράξεων ιοίκησης Υποστήριξης Αποφάσεων Έµπειρα Συστήµατα Ατόµων και Οµάδων Ο κύκλος ζωής Π.Σ. Ορισµός Φάσεις Χρήστες

Διαβάστε περισσότερα

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

OWL. Μανόλης Γεργατσούλης. Ομάδα Βάσεων Δεδομένων και Πληροφοριακών Συστημάτων, Τμήμα Αρχειονομίας Βιβλιοθηκονομίας Ιόνιο Πανεπιστήμιο OWL Μανόλης Γεργατσούλης Χρήστος Παπαθεοδώρου Ομάδα Βάσεων Δεδομένων και Πληροφοριακών Συστημάτων, Τμήμα Αρχειονομίας Βιβλιοθηκονομίας Ιόνιο Πανεπιστήμιο W3C s Web Ontology Language (OWL) Η DAML+OIL εξελίχθηκε

Διαβάστε περισσότερα

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

Aναπαράσταση Γνώσης στο Σημασιολογικό Ιστό Aναπαράσταση Γνώσης στο Σημασιολογικό Ιστό Οι γλώσσες RDF(S) και OWL Γ. Στάμου Περιγραφή Μεταδεδομένων με την RDF Η RDF χρησιμοποιείται για την απλή περιγραφή πόρων (resources) του διαδικτύου o Περιγράφει

Διαβάστε περισσότερα

Κεφάλαιο 8. Βασικές Αρχές Αναπαράστασης Γνώσης και Συλλογιστικής. Τεχνητή Νοηµοσύνη - Β' Έκδοση

Κεφάλαιο 8. Βασικές Αρχές Αναπαράστασης Γνώσης και Συλλογιστικής. Τεχνητή Νοηµοσύνη - Β' Έκδοση Κεφάλαιο 8 Βασικές Αρχές Αναπαράστασης Γνώσης και Συλλογιστικής Τεχνητή Νοηµοσύνη - Β' Έκδοση Ι. Βλαχάβας, Π. Κεφαλάς, Ν. Βασιλειάδης, Φ. Κόκκορας, Η. Σακελλαρίου Αναπαράσταση Γνώσης Σύνολο συντακτικών

Διαβάστε περισσότερα

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

Μηχανική Λογισμικού για Διαδικτυακές & Φορητές Εφαρμογές Μεταπτυχιακό Δίπλωμα Ειδίκευσης Μηχανική Λογισμικού για Διαδικτυακές & Φορητές Εφαρμογές Δρ. Κακαρόντζας Γεώργιος Επίκουρος Καθηγητής Τμ. Μηχανικών Πληροφορικής Τ.Ε. Μηχανική Λογισμικού για Διαδικτυακές

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Πρόλογος των Συγγραφέων

Πρόλογος των Συγγραφέων Πρόλογος των Συγγραφέων Τεχνητή Νοηµοσύνη (ΤΝ) είναι ο τοµέας της επιστήµης των υπολογιστών, που ασχολείται µε τη σχεδίαση ευφυών (νοηµόνων) υπολογιστικών συστηµάτων, δηλαδή συστηµάτων που επιδεικνύουν

Διαβάστε περισσότερα

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

ΚΕΦΑΛΑΙΟ Σηµασιολογικό ιαδίκτυο ΚΕΦΑΛΑΙΟ 29 29 Σηµασιολογικό ιαδίκτυο "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."

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Συστήματα Γνώσης. Θεωρητικό Κομμάτι Μαθήματος Ενότητα 2: Βασικές Αρχές Αναπαράστασης Γνώσης και Συλλογιστικής ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΙΚΑ ΜΑΘΗΜΑΤΑ Θεωρητικό Κομμάτι Μαθήματος Ενότητα 2: Βασικές Αρχές Αναπαράστασης Γνώσης και Συλλογιστικής Νίκος Βασιλειάδης, Αναπλ. Καθηγητής Άδειες

Διαβάστε περισσότερα

Η ΟΝΤΟΛΟΓΙΑ ΤΟΥ ΕΛΛΗΝΙΚΟΥ ΚΤΗΜΑΤΟΛΟΓΙΟΥ. Μελέτη υλοποίησης στο Protégé-2000

Η ΟΝΤΟΛΟΓΙΑ ΤΟΥ ΕΛΛΗΝΙΚΟΥ ΚΤΗΜΑΤΟΛΟΓΙΟΥ. Μελέτη υλοποίησης στο Protégé-2000 ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΑΓΡΟΝΟΜΩΝ ΤΟΠΟΓΡΑΦΩΝ ΜΗΧΑΝΙΚΩΝ ΕΡΓΑΣΤΗΡΙΟ ΧΑΡΤΟΓΡΑΦΙΑΣ Η ΟΝΤΟΛΟΓΙΑ ΤΟΥ ΕΛΛΗΝΙΚΟΥ ΚΤΗΜΑΤΟΛΟΓΙΟΥ Μελέτη υλοποίησης στο Protégé-2000 Μαρίνος Κάβουρας Αν. Καθηγητής ΕΜΠ ευκαλίων

Διαβάστε περισσότερα

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

Σύγκριση Προγραµµατιστικών ιεπαφών (APIs) για διαχείριση Οντολογιών Ιστού και Ανάπτυξη Μηχανισµού υποβολής Ευφυών Ερωτηµάτων ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ ΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ Σύγκριση Προγραµµατιστικών ιεπαφών (APIs) για διαχείριση Οντολογιών Ιστού και Ανάπτυξη

Διαβάστε περισσότερα

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

1 Συστήματα Αυτοματισμού Βιβλιοθηκών 1 Συστήματα Αυτοματισμού Βιβλιοθηκών Τα Συστήματα Αυτοματισμού Βιβλιοθηκών χρησιμοποιούνται για τη διαχείριση καταχωρήσεων βιβλιοθηκών. Τα περιεχόμενα των βιβλιοθηκών αυτών είναι έντυπα έγγραφα, όπως βιβλία

Διαβάστε περισσότερα

Κεφάλαιο 7 : Είδη, Τεχνικές, και Περιβάλλοντα Προγραµµατισµού

Κεφάλαιο 7 : Είδη, Τεχνικές, και Περιβάλλοντα Προγραµµατισµού ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ Κεφάλαιο 7 : Είδη, Τεχνικές, και Περιβάλλοντα Προγραµµατισµού ( Απαντήσεις & Λύσεις Βιβλίου) 1. Σκοποί κεφαλαίου Κύκλος ανάπτυξης προγράµµατος Κατηγορίες γλωσσών προγραµµατισµού

Διαβάστε περισσότερα

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

Εργαστήριο Σημασιολογικού Ιστού Εργαστήριο Σημασιολογικού Ιστού Ενότητα 6: RDF Schema (RDFS) Μ.Στεφανιδάκης 21-3-2016. Τι μπορούμε να εκφράσουμε με την RDF; Δηλώσεις σε μορφή τριάδων (s,p,o) Χωρίς οποιαδήποτε έννοια δομής... Παράδειγμα:

Διαβάστε περισσότερα

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

Α. Ερωτήσεις Ανάπτυξης οµηµένος Προγραµµατισµός-Κεφάλαιο 7 Σελίδα 1 α ό 10 ΕΝΟΤΗΤΑ ΙΙΙ (ΠΡΟΓΡΑΜΜΑΤΑ) ΚΕΦΑΛΑΙΟ 7: Είδη, Τεχνικές και Περιβάλλοντα Προγραµµατισµού Α. Ερωτήσεις Ανάπτυξης 1. Τι ονοµάζουµε γλώσσα προγραµµατισµού;

Διαβάστε περισσότερα

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

ιαχείριση Γνώσης σε Ενδοεπιχειρισιακά ίκτυα και το ιαδίκτυο (ΗΥ-566) ιαχείριση Γνώσης σε Ενδοεπιχειρισιακά ίκτυα και το ιαδίκτυο (ΗΥ-566) Άσκηση 3 - Αναφορά "Κατασκευή Οντολογίας σε DAML+OIL για την Περιγραφή του Παραδείγµατος που εκφράστηκε σε RDFS στην Άσκηση 2" Γιαννακόπουλος

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Διαχείριση οντολογιών: μελέτη και εμβάθυνση στα βασικά προβλήματα που την αφορούν και παρουσίαση υπαρχουσών βιβλιοθηκών οντολογιών 15ο ΠΑΝΕΛΛΗΝΙΟ ΣΥΝΕΔΡΙΟ ΑΚΑΔΗΜΑΪΚΩΝ ΒΙΒΛΙΟΘΗΚΩΝ Διαχείριση οντολογιών: μελέτη και εμβάθυνση στα βασικά προβλήματα που την αφορούν και παρουσίαση υπαρχουσών βιβλιοθηκών οντολογιών ΓΑΪΤΑΝΟΥ ΠΑΝΩΡΑΙΑ gaitanou@benaki.gr

Διαβάστε περισσότερα

Επιµέλεια Θοδωρής Πιερράτος

Επιµέλεια Θοδωρής Πιερράτος Εισαγωγή στον προγραµµατισµό Η έννοια του προγράµµατος Ο προγραµµατισµός ασχολείται µε τη δηµιουργία του προγράµµατος, δηλαδή του συνόλου εντολών που πρέπει να δοθούν στον υπολογιστή ώστε να υλοποιηθεί

Διαβάστε περισσότερα

ΓΛΩΣΣΙΚΟΙ ΠΟΡΟΙ & ΤΕΧΝΟΛΟΓΙΕΣ:

ΓΛΩΣΣΙΚΟΙ ΠΟΡΟΙ & ΤΕΧΝΟΛΟΓΙΕΣ: ΓΛΩΣΣΙΚΟΙ ΠΟΡΟΙ & ΤΕΧΝΟΛΟΓΙΕΣ: Η ΣΗΜΕΡΙΝΗ ΕΛΛΗΝΙΚΗ ΠΡΑΓΜΑΤΙΚΟΤΗΤΑ Ημερίδα παρουσίασης CLARIN-EL 1/10/2010 Πένυ Λαμπροπούλου Ινστιτούτο Επεξεργασίας Λόγου / Ε.Κ. "Αθηνά" ΧΑΡΤΟΓΡΑΦΗΣΗ ΧΩΡΟΥ ΓΤ ΓΙΑ ΚΑΕ Στο

Διαβάστε περισσότερα

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

Διαδίκτυο: δίκτυο διασυνδεμένων δικτύων Ξεκίνησε ως ένα μικρό κλειστό στρατιωτικό δίκτυο, απόρροια του Ψυχρού Πολέμου μεταξύ ΗΠΑ και ΕΣΣΔ. ΚΕΦΑΛΑΙΟ 9 Διαδίκτυο: δίκτυο διασυνδεμένων δικτύων Ξεκίνησε ως ένα μικρό κλειστό στρατιωτικό δίκτυο, απόρροια του Ψυχρού Πολέμου μεταξύ ΗΠΑ και ΕΣΣΔ. Το 1966 αρχίζει ο σχεδιασμός του ARPANET, του πρώτου

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Εισαγωγή στο RDF. Το Resource Description Framework (RDF) Σταύρος Πολυβίου Εισαγωγή στο RDF Σταύρος Πολυβίου Το Resource Description Framework (RDF) RDF: µία γλώσσα περιγραφής πληροφοριών (metadata) που αφορούν πόρους (resources) στο world wide web. Παραδείγµατα: ο τίτλος, ο

Διαβάστε περισσότερα

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

Π2 Το Σύστηµα Κανόνων CLIPS ΠΑΡΑΡΤΗΜΑ 2 Π2 Το Σύστηµα Κανόνων CLIPS Το CLIPS (C Language Integrated Production System) είναι ένα περιβάλλον που προσφέρει δυνατότητες για προγραµµατισµό µε κανόνες, αντικείµενα και συναρτήσεις. Αναπτύχθηκε

Διαβάστε περισσότερα

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

ΑΝΑΠΑΡΑΣΤΑΣΗ ΓΝΩΣΗΣ ΣΤΟΝ ΠΑΓΚΟΣΜΙΟ ΙΣΤΟ ΑΝΑΠΑΡΑΣΤΑΣΗ ΓΝΩΣΗΣ ΣΤΟΝ ΠΑΓΚΟΣΜΙΟ ΙΣΤΟ RDF (Resource Description Framework) Ι. Χατζηλυγερούδης Ανεπάρκεια της XML Η XML είναι Μετα-γλώσσα ορισμού σήμανσης για ανταλλαγή δεδομένων και μεταδεδομένων μεταξύ

Διαβάστε περισσότερα

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

Γλώσσες Σήµανσης (Markup Languages) Τεχνολογία ιαδικτύου και Ηλεκτρονικό Εµπόριο Γλώσσες Σήµανσης (Markup Languages) Τεχνολογία ιαδικτύου και Ηλεκτρονικό Εµπόριο 1 Γλώσσες Σήµανσης Γλώσσες σήµανσης: Αρχικά για τον καθορισµό εµφάνισης σελίδων, γραµµατοσειρών. Στη συνέχεια επεκτάθηκαν

Διαβάστε περισσότερα

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΑΚΩΝ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΠΡΟΠΤΥΧΙΑΚΟ ΠΡΟΓΡΑΜΜΑ ΣΠΟΥΔΩΝ ΜΑΘΗΜΑ: ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ ΜΟΝΤΕΛΑ ΣΥΣΤΗΜΑΤΟΣ Διδάσκων: Γ. Χαραλαμπίδης, Επ. Καθηγητής

Διαβάστε περισσότερα

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

Σημασιολογικός Ιστός RDF(S) OWL Οντολογίες. Pervasive Computing Research Group Σημασιολογικός Ιστός RDF(S) OWL Οντολογίες Ο Παγκόσμιος Ιστός Εφαρμογή του Internet Δημοσίευση εγγράφων και υπερσύνδεσμοι Δυναμικό περιεχόμενο Αναζήτηση πληροφοριών - Κατανοητός μόνο από ανθρώπους (έμφαση

Διαβάστε περισσότερα

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

Περιεχόμενα. Κατάλογος εικόνων 13. Πρόλογος 15. 1 Το όραμα του Σημασιολογικού Ιστού 19 Περιεχόμενα Κατάλογος εικόνων 13 Πρόλογος 15 1 Το όραμα του Σημασιολογικού Ιστού 19 1.1 Ο σημερινός Ιστός 19 1.2 Από το σημερινό Ιστό στο Σημασιολογικό Ιστό: παραδείγματα 22 1.3 Τεχνολογίες Σημασιολογικού

Διαβάστε περισσότερα

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

Διαδικασίες παραγωγής λογισμικού. Βασικές αρχές Τεχνολογίας Λογισμικού, 8η αγγ. έκδοση Διαδικασίες παραγωγής λογισμικού Περιεχόμενα Παρουσίαση μοντέλων διεργασίας ανάπτυξης λογισμικού Περιγραφή τριών γενικών μοντέλων διεργασίας ανάπτυξης λογισμικού Γενική περιγραφή των διαδικασιών που περιλαμβάνονται

Διαβάστε περισσότερα

Κλάσεις και Αντικείµενα

Κλάσεις και Αντικείµενα Κλάσεις και Αντικείµενα Γρηγόρης Τσουµάκας Τµήµα Πληροφορικής, Αριστοτέλειο Πανεπιστήµιο Θεσσαλονίκης Κλάσεις και Αντικείµενα 2 Τα αντικείµενα σε µια αντικειµενοστρεφή γλώσσα προγραµµατισµού, µοντελοποιούν

Διαβάστε περισσότερα

ΥΠΗΡΕΣΙΑ. Ηλεκτρονική ιαχείριση Τάξης. Οδηγίες χρήσης για τον µαθητή.

ΥΠΗΡΕΣΙΑ. Ηλεκτρονική ιαχείριση Τάξης. Οδηγίες χρήσης για τον µαθητή. ΥΠΗΡΕΣΙΑ Ηλεκτρονική ιαχείριση Τάξης Οδηγίες χρήσης για τον µαθητή http://eclass.sch.gr Η υπηρεσία ηλεκτρονικής διαχείρισης τάξης αναπτύχθηκε από το Εθνικό και Καποδιστριακό Πανεπιστήµιο Αθηνών για λογαριασµό

Διαβάστε περισσότερα

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

Μάθημα: Δ3. Δίκτυα Γνώσης και Σημασιολογικός Ιστός. Διάλεξη 02 & 03. Δρ. Γεώργιος Χρ. Μακρής ΔΙΑΤΜΗΜΑΤΙΚΟ ΠΡΟΓΡΑΜΜΑ ΜΕΤΑΠΤΥΧΙΑΚΩΝ ΣΠΟΥΔΩΝ στα ΔΙΚΤΥΑ και ΠΟΛΥΠΛΟΚΟΤΗΤΑ Μάθημα: Δ3. Δίκτυα Γνώσης και Σημασιολογικός Ιστός Χειμερινό Εξάμηνο Σπουδών Διάλεξη 02 & 03 Δρ. Γεώργιος Χρ. Μακρής Αναπαράσταση

Διαβάστε περισσότερα

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

Ανάκτηση Πληροφορίας Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Ανάκτηση Πληροφορίας Διδάσκων: Φοίβος Μυλωνάς fmylonas@ionio.gr Διάλεξη #02 Ιστορική αναδρομή Σχετικές επιστημονικές περιοχές 1 Άδεια χρήσης Το παρόν εκπαιδευτικό

Διαβάστε περισσότερα

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

Μάθημα: Δ3. Δίκτυα Γνώσης και Σημασιολογικός Ιστός. Διάλεξη 01 & 02. Δρ. Γεώργιος Χρ. Μακρής ΔΙΑΤΜΗΜΑΤΙΚΟ ΠΡΟΓΡΑΜΜΑ ΜΕΤΑΠΤΥΧΙΑΚΩΝ ΣΠΟΥΔΩΝ στα ΠΟΛΥΠΛΟΚΑ ΣΥΣΤΗΜΑΤΑ και ΔΙΚΤΥΑ Μάθημα: Δ3. Δίκτυα Γνώσης και Σημασιολογικός Ιστός Χειμερινό Εξάμηνο Σπουδών Διάλεξη 01 & 02 Δρ. Γεώργιος Χρ. Μακρής Αναπαράσταση

Διαβάστε περισσότερα

Α. Βαγγελάτος 2, Γ. Ορφανός 2, Χ. Τσαλίδης 2, Χ. Καλαμαρά 3

Α. Βαγγελάτος 2, Γ. Ορφανός 2, Χ. Τσαλίδης 2, Χ. Καλαμαρά 3 Ανάπτυξη Οντολογίας Βιοϊατρικών Όρων Α. Βαγγελάτος 2, Γ. Ορφανός 2, Χ. Τσαλίδης 2, Χ. Καλαμαρά 3 www.iatrolexi.cti.gr 1 Ερευνητικό Ακαδημαϊκό Ινστιτούτο Τεχνολογίας Υπολογιστών (ΕΑΙΤΥ) Σελίδα 1 Ημερομηνία:

Διαβάστε περισσότερα

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

Μαλούτα Θεανώ Σελίδα 1 ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΑΡΧΕΣ ΤΗΣ ΕΠΙΣΤΗΜΗΣ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ Α. ΕΡΩΤΗΣΕΙΣ ΘΕΩΡΙΑΣ ΦΥΛΛΑΔΙΟ 6 ο ( Ενότητες 2.3 ) 1.Τι είναι πρόγραμμα; 2. Ποια είναι τα πλεονεκτήματα των γλωσσών υψηλού επιπέδου σε σχέση με τις γλώσσες

Διαβάστε περισσότερα

Διαχείριση Πληροφοριακών Συστημάτων

Διαχείριση Πληροφοριακών Συστημάτων ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Διαχείριση Πληροφοριακών Συστημάτων Ενότητα #7: UML Χρήστος Δρόσος Τμήμα Μηχανικών Αυτοματισμού Τ.Ε. Άδειες Χρήσης Το παρόν εκπαιδευτικό

Διαβάστε περισσότερα

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

Σχεδίαση και Ανάπτυξη Ιστότοπων Σχεδίαση και Ανάπτυξη Ιστότοπων Ιστορική Εξέλιξη του Παγκόσμιου Ιστού Παρουσίαση 1 η 1 Βελώνης Γεώργιος Καθηγητής Περιεχόμενα Τι είναι το Διαδίκτυο Βασικές Υπηρεσίες Διαδικτύου Προηγμένες Υπηρεσίες Διαδικτύου

Διαβάστε περισσότερα

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

«Ανάπτυξη μηχανής παραγωγής φυσικής γλώσσας για οντολογίες OWL» «Ανάπτυξη μηχανής παραγωγής φυσικής γλώσσας για οντολογίες OWL» Διπλωματική εργασία ΜΠΣ «Επιστήμη Υπολογιστών» Γαλάνης Δημήτριος Επιβλέπων: Ι. Ανδρουτσόπουλος Δεύτερος Αξιολογητής: Π. Κωνσταντόπουλος Παραγωγή

Διαβάστε περισσότερα

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

ΑΝΑΚΤΗΣΗ ΠΟΛΥΜΕΣΙΚΟΥ ΠΕΡΙΕΧΟΜΕΝΟΥ ΚΑΙ ΣΗΜΑΣΙΟΛΟΓΙΚΟΣ ΙΣΤΟΣ Γ.Τ.Π ΑΝΑΚΤΗΣΗ ΠΟΛΥΜΕΣΙΚΟΥ ΠΕΡΙΕΧΟΜΕΝΟΥ ΚΑΙ ΣΗΜΑΣΙΟΛΟΓΙΚΟΣ ΙΣΤΟΣ Ε.Α.Π. Γ.Τ.Π. 61 2008 Τσιγώνιας Αντώνης 14/12/2008 Εισαγωγή Το ιαδίκτυο και ο Παγκόσµιος Ιστός ήταν µια επανάσταση για την τεχνολογία της πληροφόρησης

Διαβάστε περισσότερα

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΤΜΗΜΑ ΜΗΧ/ΚΩΝ Η/Υ & ΠΛΗΡΟΦΟΡΙΚΗΣ ΑΝΑΠΑΡΑΣΤΑΣΗ ΓΝΩΣΗΣ ΣΤΟΝ ΠΑΓΚΟΣΜΙΟ ΙΣΤΟ ΕΚΠΟΝΗΣΗ ΕΡΓΑΣΙΑΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΤΜΗΜΑ ΜΗΧ/ΚΩΝ Η/Υ & ΠΛΗΡΟΦΟΡΙΚΗΣ ΑΝΑΠΑΡΑΣΤΑΣΗ ΓΝΩΣΗΣ ΣΤΟΝ ΠΑΓΚΟΣΜΙΟ ΙΣΤΟ 2010-2011 2011-2012 ΕΚΠΟΝΗΣΗ ΕΡΓΑΣΙΑΣ Στα πλαίσια της εργασίας θα δημιουργήσετε μια οντολογία που να αναπαριστά

Διαβάστε περισσότερα

Υποστήριξη στη ιαχείριση Γνώσης

Υποστήριξη στη ιαχείριση Γνώσης Υποστήριξη στη ιαχείριση Γνώσης Νίκος Καρακαπιλίδης Industrial Management & Information Systems Lab MEAD, University of Patras, Greece nikos@mech.upatras.gr Βασικές έννοιες ιάρθρωση ενότητας Γνώση και

Διαβάστε περισσότερα

Ανάπτυξη Εφαρµογών σε Προγραµµατιστικό Περιβάλλον

Ανάπτυξη Εφαρµογών σε Προγραµµατιστικό Περιβάλλον Ανάπτυξη Εφαρµογών σε Προγραµµατιστικό Περιβάλλον Κεφάλαιο 6ο Εισαγωγή στον Προγραµµατισµό Μέρος Πρώτο (6.1, 6.2 και 6.3) Α. Ερωτήσεις Σωστού Λάθους 1. Η γλώσσα µηχανής είναι µία γλώσσα υψηλού επιπέδου.

Διαβάστε περισσότερα

Γεωγραφικά Πληροφοριακά Συστήµατα (Geographical Information Systems GIS)

Γεωγραφικά Πληροφοριακά Συστήµατα (Geographical Information Systems GIS) Γεωγραφικά Πληροφοριακά Συστήµατα (Geographical Information Systems GIS) ρ. ΧΑΛΚΙΑΣ ΧΡΙΣΤΟΣ xalkias@hua.gr Χ. Χαλκιάς - Εισαγωγή στα GIS 1 Ορισµοί ΓΠΣ Ένα γεωγραφικό πληροφοριακό σύστηµα Geographic Information

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

ΓΕΩΠΟΝΙΚΗ ΣΧΟΛΗ ΑΠΘ Εργαστήριο Πληροφορικής στη Γεωργία ΠΛΗΡΟΦΟΡΙΚΗ Ι ΓΕΩΠΟΝΙΚΗ ΣΧΟΛΗ ΑΠΘ Εργαστήριο Πληροφορικής στη Γεωργία ΠΛΗΡΟΦΟΡΙΚΗ Ι Συστήματα Υποστήριξης Αποφάσεων Τα Συστήματα Υποστήριξης Αποφάσεων (Σ.Υ.Α. - Decision Support Systems, D.S.S.) ορίζονται ως συστήματα

Διαβάστε περισσότερα

Μεθοδολογίες Παραγωγής Λογισµικού

Μεθοδολογίες Παραγωγής Λογισµικού Μεθοδολογίες Παραγωγής Λογισµικού Βασικά Γενικά Μοντέλα Μοντέλο καταρράκτη (waterfall model) Ξεχωριστές φάσεις καθορισµού απαιτήσεων και ανάπτυξης, επικύρωσης, εξέλιξης Εξελικτική ανάπτυξη (evolutionary

Διαβάστε περισσότερα

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

Συστήματα Γνώσης. Πρακτικό Κομμάτι Μαθήματος Πρότυπα Γεγονότων. Νίκος Βασιλειάδης, Αναπλ. Καθηγητής Τμήμα Πληροφορικής ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΙΚΑ ΜΑΘΗΜΑΤΑ Πρακτικό Κομμάτι Μαθήματος Πρότυπα Γεγονότων Νίκος Βασιλειάδης, Αναπλ. Καθηγητής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε

Διαβάστε περισσότερα

Δομημένος Προγραμματισμός

Δομημένος Προγραμματισμός Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων Δομημένος Προγραμματισμός Ενότητα 1: Εισαγωγή Το περιεχόμενο του μαθήματος διατίθεται με άδεια Creative Commons εκτός και αν αναφέρεται διαφορετικά Το έργο

Διαβάστε περισσότερα

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

Τεχνολογία ανάπτυξης νέων ιστοσελίδων στο Semantic Web. Τεχνολογία ανάπτυξης νέων ιστοσελίδων στο Semantic Web. ΒΕΖΕΡΗΣ ΔΗΜΗΤΡΙΟΣ Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Η/Υ Δημοκρίτειο Πανεπιστήμιο Θράκης Λευκίππου 6, 67100 Ξάνθη ΕΛΛΑΔΑ leader@cosmos4u.com,

Διαβάστε περισσότερα

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

Περιβάλλον Σηµασιολογικής Αναζήτησης Κανόνων ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ - ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ Περιβάλλον Σηµασιολογικής Αναζήτησης Κανόνων ιπλωµατική Εργασία του Ivaylo Kehayov (ΑΕΜ: 1392) Επιβλέπων Καθηγητής: Νικόλαος

Διαβάστε περισσότερα

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

Περιεχόμενο του μαθήματος ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Η Αντικειμενοστρεφής Τεχνολογία Δρ Βαγγελιώ Καβακλή Τμήμα Πολιτισμικής Τεχνολογίας και Επικοινωνίας Πανεπιστήμιο Αιγαίου Εαρινό Εξάμηνο 202-203 Περιεχόμενο του μαθήματος Η έννοια

Διαβάστε περισσότερα

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

ΑΕΠΠ Ερωτήσεις θεωρίας ΑΕΠΠ Ερωτήσεις θεωρίας Κεφάλαιο 1 1. Τα δεδομένα μπορούν να παρέχουν πληροφορίες όταν υποβάλλονται σε 2. Το πρόβλημα μεγιστοποίησης των κερδών μιας επιχείρησης είναι πρόβλημα 3. Για την επίλυση ενός προβλήματος

Διαβάστε περισσότερα

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

ΕΙΔΗ,ΤΕΧΝΙΚΕΣ ΚΑΙ ΠΕΡΙΒΑΛΛΟΝΤΑ ΠΡΟΓΡΑΜΜΑΤΙ- ΣΜΟΥ Κεφάλαιο 7 ΕΙΔΗ,ΤΕΧΝΙΚΕΣ ΚΑΙ ΠΕΡΙΒΑΛΛΟΝΤΑ ΠΡΟΓΡΑΜΜΑΤΙ- ΣΜΟΥ Ερωτήσεις 1. Να αναφέρετε διαφορές μεταξύ γλωσσών μηχανής και γλωσσών χαμηλού επιπέδου. Οι γλώσσες μηχανής κωδικοποιούν τις εντολές τους με ομάδες

Διαβάστε περισσότερα

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Λογική. Δημήτρης Πλεξουσάκης

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Λογική. Δημήτρης Πλεξουσάκης ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Λογική Δημήτρης Πλεξουσάκης 2ο μέρος σημειώσεων: Συστήματα Αποδείξεων για τον ΠΛ, Μορφολογική Παραγωγή, Κατασκευή Μοντέλων Τμήμα Επιστήμης Υπολογιστών Άδειες Χρήσης

Διαβάστε περισσότερα

ιπλωµατική εργασία: Νικόλαος Ματάνας Επιβλέπων Καθηγήτρια: Μπούσιου έσποινα

ιπλωµατική εργασία: Νικόλαος Ματάνας Επιβλέπων Καθηγήτρια: Μπούσιου έσποινα ιπλωµατική εργασία: Νικόλαος Ματάνας Επιβλέπων Καθηγήτρια: Μπούσιου έσποινα ΤµήµαΕφαρµοσµένης Πληροφορικής Πανεπιστήµιο Μακεδονίας Θεσσαλονίκη Ιούνιος 2006 εισαγωγικού µαθήµατος προγραµµατισµού υπολογιστών.

Διαβάστε περισσότερα

Η στοίβα (stack) H στοίβα είναι ένας αποθηκευτικός χώρος οργανωµένος κατά τέτοιο τρόπο ώστε να υποστηρίζει δύο βασικές λειτουργίες:

Η στοίβα (stack) H στοίβα είναι ένας αποθηκευτικός χώρος οργανωµένος κατά τέτοιο τρόπο ώστε να υποστηρίζει δύο βασικές λειτουργίες: Άσκηση 5Α_5 26/3/2003 11.5. Άσκηση 5A - [αναγνώριση αντικειµένων-διάγραµµα κλάσεων] [Σε αντικατάσταση της άσκησης 5 του κεφαλαίου 11] 11.5.1. Περιγραφή Η άσκηση αυτή είναι η πρώτη από µία σειρά ασκήσεων

Διαβάστε περισσότερα

...στις µέρες µας, όσο ποτέ άλλοτε, οι χώρες καταναλώνουν χρόνο και χρήµα στη µέτρηση της απόδοσης του δηµόσιου τοµέα...(oecd)

...στις µέρες µας, όσο ποτέ άλλοτε, οι χώρες καταναλώνουν χρόνο και χρήµα στη µέτρηση της απόδοσης του δηµόσιου τοµέα...(oecd) Κατηγορία Καλύτερης Εφαρµογής 4-delta: ηµιουργία & ιαχείριση ιαδικασιών Αξιολόγησης στο ηµόσιο τοµέα Χονδρογιάννης Θεόδωρος Εθνικό Καποδιστριακό Πανεπιστήµιο Αθηνών Αλεξόπουλος Χαράλαµπος Πανεπιστήµιο

Διαβάστε περισσότερα

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

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΑΝΑΛΥΣΗ Εισαγωγή. Ιωάννης Σταμέλος Βάιος Κολοφωτιάς Πληροφορική ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΑΝΑΛΥΣΗ Εισαγωγή Ιωάννης Σταμέλος Βάιος Κολοφωτιάς Πληροφορική Θεσσαλονίκη, Σεπτέμβριος 2013 Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΑΚΩΝ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΠΡΟΠΤΥΧΙΑΚΟ ΠΡΟΓΡΑΜΜΑ ΣΠΟΥΔΩΝ ΜΑΘΗΜΑ: ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ ΔΙΑΔΙΚΑΣΙΕΣ ΠΑΡΑΓΩΓΗΣ ΛΟΓΙΣΜΙΚΟΥ Διδάσκων: Γ. Χαραλαμπίδης,

Διαβάστε περισσότερα

Ανάλυση Συστηµάτων και Τεχνολογία Λογισµικού

Ανάλυση Συστηµάτων και Τεχνολογία Λογισµικού ΧΑΡΟΚΟΠΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΤΗΛΕΜΑΤΙΚΗΣ Ανάλυση Συστηµάτων και Τεχνολογία Λογισµικού Μάρα Νικολαϊδου Αντικείµενο & Σκοπός Παρουσίαση και ανάλυση όλων των σταδίων της διαδικασίας ανάπτυξης

Διαβάστε περισσότερα

Θέματα Ατομικής Διπλωματικής Εργασίας - DRAFT Ακαδημαϊκό Έτος 2015/2016. Γεωργία Καπιτσάκη (Λέκτορας)

Θέματα Ατομικής Διπλωματικής Εργασίας - DRAFT Ακαδημαϊκό Έτος 2015/2016. Γεωργία Καπιτσάκη (Λέκτορας) Θέματα Ατομικής Διπλωματικής Εργασίας - DRAFT Ακαδημαϊκό Έτος 2015/2016 Γεωργία Καπιτσάκη (Λέκτορας) ΠΕΡΙΟΧΗ Α: ΕΦΑΡΜΟΓΕΣ ΜΕ ΑΙΣΘΗΤΗΡΕΣ ΓΙΑ ΕΠΙΓΝΩΣΗ ΣΥΓΚΕΙΜΕΝΟΥ Οι αισθητήρες μας δίνουν τη δυνατότητα συλλογής

Διαβάστε περισσότερα

Γουλή Ευαγγελία. 1. Εισαγωγή. 2. Παρουσίαση και Σχολιασµός των Εργασιών της Συνεδρίας

Γουλή Ευαγγελία. 1. Εισαγωγή. 2. Παρουσίαση και Σχολιασµός των Εργασιών της Συνεδρίας 1. Εισαγωγή Σχολιασµός των εργασιών της 16 ης παράλληλης συνεδρίας µε θέµα «Σχεδίαση Περιβαλλόντων για ιδασκαλία Προγραµµατισµού» που πραγµατοποιήθηκε στο πλαίσιο του 4 ου Πανελλήνιου Συνεδρίου «ιδακτική

Διαβάστε περισσότερα

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ Τμήμα Ψηφιακών Συστημάτων Πρόγραμμα Μεταπτυχιακών Σπουδών Κατεύθυνση: Ηλεκτρονική Μάθηση ΜΕΤΑΠΤΥΧΙΑΚΗ ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ ''Διαδραστική αναζήτηση εκπαιδευτικού υλικού με τεχνολογίες

Διαβάστε περισσότερα

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

ΚΕΦΑΛΑΙΟ 6 - ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΚΕΦΑΛΑΙΟ 6 - ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Προγραµµατισµός Η/Υ Ο προγραµµατισµός είναι η διατύπωση του αλγορίθµου σε µορφή κατανοητή από τον Η/Υ ώστε να τον εκτελέσει («τρέξει» όπως λέµε στην ορολογία της

Διαβάστε περισσότερα

Σε αυτό το µάθηµα θα ασχοληθούµε µε τη βελτίωση της εµφάνισης ενός ιστοτόπου, αλλά και τον εύκολο χειρισµό όλων των αλλαγών στην εµφάνιση της σελίδας

Σε αυτό το µάθηµα θα ασχοληθούµε µε τη βελτίωση της εµφάνισης ενός ιστοτόπου, αλλά και τον εύκολο χειρισµό όλων των αλλαγών στην εµφάνιση της σελίδας Σε αυτό το µάθηµα θα ασχοληθούµε µε τη βελτίωση της εµφάνισης ενός ιστοτόπου, αλλά και τον εύκολο χειρισµό όλων των αλλαγών στην εµφάνιση της σελίδας µέσω της τεχνολογίας των ιαδοχικών Φύλλων Στυλ (cascading

Διαβάστε περισσότερα

ΜΑΘΗΜΑ: Εισαγωγή στις Αρχές της Επιστήμης των Η/Υ. 1 η ΘΕΜΑΤΙΚΗ ΕΝΟΤΗΤΑ: ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ

ΜΑΘΗΜΑ: Εισαγωγή στις Αρχές της Επιστήμης των Η/Υ. 1 η ΘΕΜΑΤΙΚΗ ΕΝΟΤΗΤΑ: ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΜΑΘΗΜΑ: Εισαγωγή στις Αρχές της Επιστήμης των Η/Υ 1 η ΘΕΜΑΤΙΚΗ ΕΝΟΤΗΤΑ: ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ Στόχος Θεματικής Ενότητας Οι μαθητές να περιγράφουν τους βασικούς τομείς της Επιστήμης των Υπολογιστών και να μπορούν

Διαβάστε περισσότερα

Τι είναι τα Συστήµατα Γεωγραφικών Πληροφοριών. (Geographical Information Systems GIS)

Τι είναι τα Συστήµατα Γεωγραφικών Πληροφοριών. (Geographical Information Systems GIS) Τι είναι τα Συστήµατα Γεωγραφικών Πληροφοριών (Geographical Information Systems GIS) ΧΑΡΟΚΟΠΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ, ΤΜΗΜΑ ΓΕΩΓΡΑΦΙΑΣ ΧΑΛΚΙΑΣ ΧΡΙΣΤΟΣ Εισαγωγή στα GIS 1 Ορισµοί ΣΓΠ Ένα σύστηµα γεωγραφικών πληροφοριών

Διαβάστε περισσότερα

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

Βάσεις Δεδομένων. Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα Βάσεις Δεδομένων Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα Στέργιος Παλαμάς, Υλικό Μαθήματος «Βάσεις Δεδομένων», 2015-2016 Κεφάλαιο 2: Περιβάλλον Βάσεων Δεδομένων Μοντέλα Δεδομένων 2.1

Διαβάστε περισσότερα

Αρχιτεκτονική του πληροφοριακού συστήµατος Cardisoft Γραµµατεία 2003 ιαχείριση Προσωπικού

Αρχιτεκτονική του πληροφοριακού συστήµατος Cardisoft Γραµµατεία 2003 ιαχείριση Προσωπικού Αρχιτεκτονική του πληροφοριακού συστήµατος Cardisoft Γραµµατεία 2003 ιαχείριση Προσωπικού Γενικά Η αρχιτεκτονική ανάπτυξης τους πληροφοριακού συστήµατος Γραµµατεία 2000 υποσύστηµα διαχείρισης προσωπικού

Διαβάστε περισσότερα

Μοντελοποίηση Πεδίου

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

Διαβάστε περισσότερα

Σχεδιασµός βασισµένος σε συνιστώσες

Σχεδιασµός βασισµένος σε συνιστώσες Σχεδιασµός βασισµένος σε συνιστώσες 1 Ενδεικτικά περιεχόµενα του κεφαλαίου Ποια είναι τα "άτοµα", από τα οποία κατασκευάζονται οι υπηρεσίες; Πώς οργανώνουµε τις συνιστώσες σε ένα αρµονικό σύνολο; Τι είναι

Διαβάστε περισσότερα

Ανάπτυξη & Σχεδίαση Λογισμικού (ΗΥ420)

Ανάπτυξη & Σχεδίαση Λογισμικού (ΗΥ420) Ανάπτυξη & Σχεδίαση Λογισμικού (ΗΥ420) Διάλεξη 2: Βασικές Έννοιες Τεχνολογίας Λογισμικού Ο Ρόλος του Τεχνολόγου Λογισμικού Επιστήμη Υπολογιστών Πελάτης 2 Θεωρίες Λειτουργίες Υπολογιστή Πρόβλημα Σχεδιασμός

Διαβάστε περισσότερα

ΕΝΟΤΗΤΑ 2 η ΙΑΧΕΙΡΙΣΗ ΡΟΗΣ ΕΡΓΑΣΙΑΣ (WORKFLOW MANAGEMENT) 2.1 Εισαγωγή

ΕΝΟΤΗΤΑ 2 η ΙΑΧΕΙΡΙΣΗ ΡΟΗΣ ΕΡΓΑΣΙΑΣ (WORKFLOW MANAGEMENT) 2.1 Εισαγωγή ΕΝΟΤΗΤΑ 2 η ΙΑΧΕΙΡΙΣΗ ΡΟΗΣ ΕΡΓΑΣΙΑΣ (WORKFLOW MANAGEMENT) 2.1 Εισαγωγή Οι σηµερινές δραστηριότητες των επιχειρήσεων δηµιουργούν την ανάγκη για όσο το δυνατό µεγαλύτερη υποστήριξη από τα πληροφοριακά τους

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

University of Crete Computer Science Department Πανεπιστήμιο Κρήτης CONFERENCE ONTOLOGY University of Crete Computer Science Department Πανεπιστήμιο Κρήτης Τμήμα Επιστήμης Υπολογιστών CONFERENCE ONTOLOGY ΑΠΟΣΤΟΛΟΠΟΥΛΟΣ ΗΛΙΑΣ ΜΕΤ ΚΡΟΝΤΗΡΗΣ ΑΘΑΝΑΣΙΟΣ ΜΕΤ ΦΙΛΙΟΠΟΥΛΟΥ ΕΙΡΗΝΗ ΜΕΤ Πίνακας Περιεχομένων

Διαβάστε περισσότερα

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ 6 ΟΥ ΚΕΦΑΛΑΙΟΥ ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ 6.1 Τι ονοµάζουµε πρόγραµµα υπολογιστή; Ένα πρόγραµµα

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 18. 18 Μηχανική Μάθηση

ΚΕΦΑΛΑΙΟ 18. 18 Μηχανική Μάθηση ΚΕΦΑΛΑΙΟ 18 18 Μηχανική Μάθηση Ένα φυσικό ή τεχνητό σύστηµα επεξεργασίας πληροφορίας συµπεριλαµβανοµένων εκείνων µε δυνατότητες αντίληψης, µάθησης, συλλογισµού, λήψης απόφασης, επικοινωνίας και δράσης

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Κεφάλαιο 9: Διαδίκτυο, Web 2.0 και Web X.0. Εφαρμογές Πληροφορικής Κεφ. 9 Καραμαούνας Πολύκαρπος 1

Κεφάλαιο 9: Διαδίκτυο, Web 2.0 και Web X.0. Εφαρμογές Πληροφορικής Κεφ. 9 Καραμαούνας Πολύκαρπος 1 Κεφάλαιο 9: Διαδίκτυο, Web 2.0 και Web X.0 Καραμαούνας Πολύκαρπος 1 9.1 Ιστορικά Στοιχεία Ξεκίνησε ως ένα μικρό κλειστό στρατιωτικό δίκτυο και ήταν απόρροια του Ψυχρού Πολέμου μεταξύ ΗΠΑ και ΕΣΣΔ. Το 1966

Διαβάστε περισσότερα

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

Κεφ. 2 Θέματα Θεωρητικής Επιστήμης Υπολογιστών. Κοντογιάννης Βασίλειος ΠΕ19 Κεφ. 2 Θέματα Θεωρητικής Επιστήμης Υπολογιστών Κεφ. 2 Θεωρητική Επιστήμη Υπολογιστών 2.3.1.1 Έννοια προγράμματος Τι είναι πρόγραμμα και τι προγραμματισμός; Πρόγραμμα είναι το σύνολο εντολών που χρειάζεται

Διαβάστε περισσότερα

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

Συστήματα Γνώσης. Πρακτικό Κομμάτι Μαθήματος Το Σύστημα Κανόνων CLIPS. Νίκος Βασιλειάδης, Αναπλ. Καθηγητής Τμήμα Πληροφορικής ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΙΚΑ ΜΑΘΗΜΑΤΑ Πρακτικό Κομμάτι Μαθήματος Το Σύστημα Κανόνων CLIPS Νίκος Βασιλειάδης, Αναπλ. Καθηγητής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται

Διαβάστε περισσότερα

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

Πανεπιστήµιο Πατρών Τµήµα Μηχ/κών Η/Υ & Πληροφορικής ΜΠΣ ΕΠΙΣΤΗΜΗ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΕΥΦΥΗ ΣΥΣΤΗΜΑΤΑ ΑΠΟΦΑΣΕΩΝ. Ι. Πανεπιστήµιο Πατρών Τµήµα Μηχ/κών Η/Υ & Πληροφορικής ΜΠΣ ΕΠΙΣΤΗΜΗ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΕΥΦΥΗ ΣΥΣΤΗΜΑΤΑ ΑΠΟΦΑΣΕΩΝ Ι. Χατζηλυγερούδης ΩΡΟΛΟΓΙΟ ΠΡΟΓΡΑΜΜΑ Τετάρτη/Τρίτη 5.00-7.00 µ.µ. (ΠΡΟΚΑΤ Τµήµατος

Διαβάστε περισσότερα

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΠΡΟΓΡΑΜΜΑ ΜΕΤΑΠΤΥΧΙΑΚΩΝ ΣΠΟΥ ΩΝ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ. ιπλωµατική Εργασία Μεταπτυχιακού ιπλώµατος Ειδίκευσης

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΠΡΟΓΡΑΜΜΑ ΜΕΤΑΠΤΥΧΙΑΚΩΝ ΣΠΟΥ ΩΝ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ. ιπλωµατική Εργασία Μεταπτυχιακού ιπλώµατος Ειδίκευσης ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΠΡΟΓΡΑΜΜΑ ΜΕΤΑΠΤΥΧΙΑΚΩΝ ΣΠΟΥ ΩΝ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ιπλωµατική Εργασία Μεταπτυχιακού ιπλώµατος Ειδίκευσης «Χρήση υπαρχουσών οντολογιών και βάσεων δεδοµένων στο

Διαβάστε περισσότερα