Γραφικό Περιβάλλον Συγγραφής Κανόνων στο Σηµασιολογικό ιαδίκτυο

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

Download "Γραφικό Περιβάλλον Συγγραφής Κανόνων στο Σηµασιολογικό ιαδίκτυο"

Transcript

1 ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ Γραφικό Περιβάλλον Συγγραφής Κανόνων στο Σηµασιολογικό ιαδίκτυο ιπλωµατική Εργασία της Βασιλικής Ζερβάκη (ΑΕΜ: 609) Επιβλέπων Καθηγητής: Νικόλαος Βασιλειάδης Θεσσαλονίκη 2005

2 2

3 Στους γονείς µου, Γιώργο και Χρυσούλα στην αδερφή µου, Πόπη και στον ηµήτρη 3

4 4

5 ΠΡΟΛΟΓΟΣ Το Σηµασιολογικό ιαδίκτυο αποτελεί ένα σύνολο ταχέως εξελισσόµενων τεχνολογιών του ιαδικτύου τα τελευταία χρόνια. Παρόλο που οι τεχνολογίες του δεν έχουν πλήρως υιοθετηθεί από τους χρήστες, είναι γενική η αποδοχή της ανάγκης για ύπαρξη σηµασιολογικoύ περιεχοµένου. Το παραπάνω ωφείλεται στο ότι η δοµή του Web έχει ελάχιστη οργάνωση, ενώ η µέχρι τώρα µορφή αναπαράστασης γνώσης καθιστά εξαιρετικά δύσκολη την ανάκτηση και επεξεργασία της. Αν και αρχικά το Σηµασιολογικό ιαδίκτυο αντιµετωπίστηκε µε δυσπιστία και προκατάληψη λόγω της αλλαγής της πάγιας νοοτροπίας, αυτή η αντίληψη έχει περιοριστεί αισθητά και οι εφαρµογές που λαµβάνουν υπόψη τους το σηµασιολογικό περιεχόµενο, γίνονται όλο και περισσότερες. Η δηµιουργία και εφαρµογή λογικών κανόνων πάνω στο σηµασιολογικό διαδίκτυο είναι η φυσική συνέχεια της φιλοσοφίας του. Όλο και περισσότεροι ερευνητές ασχολούνται µε την κατασκευή γλωσσών και εργαλείων ανάπτυξης κανόνων. Ο κύριος όγκος τους βέβαια βρίσκεται στους Ακαδηµαϊκούς χώρους αλλά σιγά σιγά θα περάσει στον επιχειρηµατικό κόσµο. Το αντικείµενο της παρούσας πτυχιακής εργασίας είναι αφενός η µελέτη των βασικών στοιχείων που συνθέτουν το Σηµασιολογικό ιαδίκτυο και η παρουσίαση του Συστήµατος Συνεπαγωγικών Κανόνων για το Σηµασιολογικό ιαδίκτυο R-DEVICE, και αφετέρου η ανάπτυξη µιας διεπαφής για το σύστηµα αυτό, η οποία θα χρησιµοποιηθεί ως γραφικό Περιβάλλον Συγγραφής Κανόνων για το Σηµασιολογικό ιαδίκτυο. Το περιβάλλον αυτό, αφού επεξεργαστεί την οντολογία RDF πάνω στην οποία θα αναπτυχθούν οι κανόνες, στη συνέχεια παρέχει ανάλογα οπτικά στοιχεία στο χρήστη βοηθώντας τον στην επιλογή των κλάσεων και των ιδιοτήτων της οντολογίας που απαρτίζουν τους κανόνες. Τέλος το σύστηµα µετατρέπει τους κανόνες στη γλώσσα RuleML. Στο σηµείο αυτό θα ήθελα να ευχαριστήσω τους ανθρώπους µε τους οποίους συνεργάστηκα για την εκπόνηση αυτής της ιπλωµατικής Εργασίας. 5

6 Η ανάπτυξη της εργασίας έγινε σε συνεργασία µε την ερευνητική οµάδα Intelligent Systems and Knowledge Processing (ISKP) του εργαστηρίου Γλωσσών Προγραµµατισµού και Τεχνολογίας Λογισµικού του τµήµατος Πληροφορικής, της σχολής Θετικών Επιστηµών του Αριστοτελείου Πανεπιστηµίου Θεσσαλονίκης. Ευχαριστώ θερµά τον Επίκουρο Καθηγητή του Τµήµατος Πληροφορικής Νικόλαο Βασιλειάδη, για την ανάθεση της παρούσας εργασίας, την βιβλιογραφία που µου διέθεσε, την καθοδήγηση, τις συµβουλές και τις διορθώσεις του. Επίσης, θα ήθελα να ευχαριστήσω τον καθηγητή και διευθυντή του εργαστηρίου Ιωάννη Βλαχάβα για τη βοήθεια, καθώς και για την παροχή εργαστηριακού εξοπλισµού. Θα ήθελα να δώσω θερµές ευχαριστίες στους γονείς και την αδελφή µου για την ηθική συµπαράσταση κατά την διάρκεια της εκπόνησης της παρούσας εργασίας. Τέλος θα ήθελα να ευχαριστήσω τον ηµήτρη Βράκα για την κατανόηση και την συνεχή υποστήριξή του. Θεσσαλονίκη, Ιούνιος 2005 Ζερβάκη Βασιλική 6

7 ΠΕΡΙΕΧΟΜΕΝΑ 1 ΕΙΣΑΓΩΓΗ 2 Σηµασιολογικό ιαδίκτυο 2.1 ΕΙΣΑΓΩΓΗ 2.2 Η αρχιτεκτονική του Σηµασιολογικού ιαδικτύου 2.3 Από την HTML στην XML Στοιχεία ( Elements ) Ιδιότητες ( Attributes ) Χώρος Ονοµάτων( Namespaces ) 2.4 Η Γλώσσα RDF ως Μοντέλο Αναπαράστασης Μεταδεδοµένων 2.5 Εισαγωγή στην RDF Βασικές Έννοιες της Γλώσσας RDF 2.6 Εισαγωγή στο RDF Schema Κλάσεις και Ιδιότητες Ιεραρχίες Κλάσεων και Κληρονοµικότητα Ιεραρχίες Ιδιοτήτων 2.7 Σήµανση Κανόνων στο ιαδίκτυο 2.8 RuleML: Μία Γλώσσα Σήµανσης για Σηµασιολογικούς Κανόνες στο ιαδίκτυο Η Σχεδίαση της RuleML Η Ιεραρχία της RuleML Εισαγωγή στην Αντικειµενοστρεφή RuleML Η Βασική Αντικειµενοστρεφής Γλώσσα RuleML 3 Το Σύστηµα Συνεπαγωγικών Κανόνων R-DEVICE για RDF εδοµένα 3.1 ΕΙΣΑΓΩΓΗ 3.2 ΣΧΕΤΙΚΑ ΣΥΣΤΗΜΑΤΑ 3.3 ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΤΟΥ R-DEVICE 3.4 Το Μοντέλο Απεικόνισης RDF εδοµένων σε Αντικείµενα Πόροι και Κλάσεις Ιδιότητες 7

8 3.5 Ο RDF Μεταφραστής Τριάδων 3.6 Εισαγωγή του RDF Schema Παράδειγµα Εισαγωγή εγγράφου RDF 3.7 Η Γλώσσα Συνεπαγωγικών Κανόνων του R-DEVICE 3.8 Εξαγωγή των Συνεπαγόµενων Αντικειµένων µε τη Μορφή Εγγράφων RDF 3.9 ιασύνδεση του R-DEVICE µε τον Χρήστη 4 Υλοποίηση Συστήµατος 4.1 Γενικά Στοιχεία του Συστήµατος RuleML Builder 4.2 Εισαγωγή και Επεξεργασία RDF εδοµένων Λήψη εδοµένων από το ιαδίκτυο, από τοπικά αρχεία RDF και RDFS ή από έγγραφα Τριπλετών Αναπαράσταση Κλάσεων και Ιδιοτήτων Ιεραρχία Κλάσεων και Κληρονοµικότητα Ιδιοτήτων ηµιουργία Συνεπαγόµενων Κλάσεων 4.3 Σύνταξη Κανόνων 4.4 Εξαγωγή σε RuleML 5 ΣΥΜΠΕΡΑΣΜΑΤΑ- ΜΕΛΛΟΝΤΙΚΕΣ ΕΡΓΑΣΙΕΣ 6 Βιβλιογραφία ΠΑΡΑΡΤΗΜΑ 8

9 ΕΙΣΑΓΩΓΗ Το αντικείµενο της παρούσας πτυχιακής εργασίας είναι αφενός η µελέτη των βασικών στοιχείων που συνθέτουν το Σηµασιολογικό ιαδίκτυο και η παρουσίαση του Συστήµατος Συνεπαγωγικών Κανόνων για το Σηµασιολογικό ιαδίκτυο R-DEVICE, και αφετέρου η ανάπτυξη µιας διεπαφής για το σύστηµα αυτό, η οποία θα χρησιµοποιηθεί ως γραφικό Περιβάλλον Συγγραφής Κανόνων για το Σηµασιολογικό ιαδίκτυο. Το περιβάλλον αυτό, αφού επεξεργαστεί την οντολογία RDF πάνω στην οποία θα αναπτυχθούν οι κανόνες, στη συνέχεια παρέχει ανάλογα οπτικά στοιχεία στο χρήστη βοηθώντας τον στην επιλογή των κλάσεων και των ιδιοτήτων της οντολογίας που απαρτίζουν τους κανόνες. Τέλος, το σύστηµα µετατρέπει τους κανόνες στη γλώσσα RuleML. Το Σηµασιολογικό ιαδίκτυο αποτελεί µια επέκταση του υπάρχοντος διαδικτύου, που έχει ως στόχο την οργάνωση των πληροφοριών µε κατάλληλο τρόπο ώστε να επιτυγχάνεται η αποτελεσµατικότερη επικοινωνία ανθρώπων και υπολογιστών. Στο πλαίσιο της ανάπτυξης του Σηµασιολογικού ιαδικτύου γεννιέται µια νέα γενιά γλωσσών, τεχνολογιών και εργαλείων, που κάνουν την πληροφορία πιο κατανοητή και εύκολα επεξεργάσιµη από τις µηχανές, µε αποτέλεσµα την αύξηση της απόδοσης κατά την ανακάλυψη, οµαδοποίηση και επαναχρησιµοποίηση της γνώσης. Η RDF είναι µία από τις γλώσσες που αναπτύχθηκαν για την αναπαράσταση των πληροφοριών που σχετίζονται µε τους πόρους του Παγκόσµιου Ιστού. Το σύστη- µα R-DEVICE που παρουσιάζεται στην εργασία είναι ένα Σύστηµα Συνεπαγωγικών Κανόνων για RDF µεταδεδοµένα. Πιο συγκεκριµένα, µπορεί να χρησιµοποιηθεί για την εξαγωγή πληροφοριών από RDF αποθήκες δεδοµένων. Η RuleML είναι µία Γλώσσα Σήµανσης για Σηµασιολογικούς Κανόνες στο ιαδίκτυο. Στα πλαίσια της εφαρµογής που αναπτύχθηκε, δηµιουργήθηκε ένα εύχρηστο γραφικό περιβάλλον στο οποίο οι κανόνες συντάσσονται µε οπτικό τρόπο µετατρέποντάς τους σε RuleML. Η δοκιµή του συστήµατος έγινε µε επιτυχία καθώς έγινε σωστά η µετατροπή των εγγράφων RDF και RDF Schema αρχικά σε τριπλέτες 9

10 (µέσω ενός εξωτερικού αναλυτή parser), στη συνέχεια το σύστηµα συγκέντρωσε τις κλάσεις και τις ιδιότητες του εγγράφου RDF, αναλύοντας τα έγγραφα τριπλετών και τέλος η δηµιουργία κανόνων παρήγαγε έγκυρα RuleML έγγραφα έτοιµα προς εκτέλεση από το R DEVICE. Η εργασία αποτελείται από πέντε κεφάλαια στα οποία περιγράφονται τα θέµατα που αναφέρθηκαν παραπάνω. Συγκεκριµένα: Κεφάλαιο 2: Στο κεφάλαιο αυτό παρουσιάζεται το Σηµασιολογικό ιαδίκτυο και αναλύονται τα βασικά χαρακτηριστικά της οργάνωσής του. Γίνεται µια εισαγωγή στις γλώσσες RDF και RDF Schema, που χρησιµοποιούνται για την αναπαράσταση δεδοµένων στο Σηµασιολογικό ιαδίκτυο καθώς και στην αναπαράσταση RDF/ XML. Επιπλέον γίνεται αναφορά και περιγραφή της Γλώσσας Σήµανσης Κανόνων RuleML, πάνω στην οποία βασίζεται το παρόν σύστηµα. Κεφάλαιο 3: Το τρίτο κεφάλαιο περιγράφει το Σύστηµα Συνεπαγωγικών Κανόνων R-DEVICE για RDF δεδοµένα. Πρόκειται για µια παρουσίαση της δοµής και της λειτουργίας του συστήµατος αυτού, η οποία συνοδεύεται από µία σύντοµη συγκριτική µελέτη του συστήµατος µε παρόµοια συστήµατα που έχουν αναπτυχθεί. Επίσης, περιγράφεται η γλώσσα συνεπαγωγικών κανόνων του R-DEVICE και το µοντέλο απεικόνισης των RDF δεδοµένων σε αντικείµενα. Κεφάλαιο 4: Το κεφάλαιο αυτό περιγράφει αναλυτικά την παρούσα εφαρµογή. Αναλύεται η ροή της λειτουργίας του συστήµατος, τα RFD και RDFS αρχεία που εισήχθησαν ως είσοδος, η δηµιουργία αρχείων Ν3 των εγγράφων RFD και RDFS, η συντακτικά ανάλυση αυτών από το σύστηµα, η µεθοδολογία που ακολουθήθηκε για την µετατροπή του γραφικού τρόπου αναπαράστασης κανόνων στη Γλώσσα Σήµανσης RuleML καθώς και άλλα συµπληρωµατικά στοιχεία. Κεφάλαιο 5: Τέλος, στο κεφάλαιο αυτό παρουσιάζονται τα συµπεράσµατα της εργασίας και δίνονται οι κατευθυντήριες γραµµές για µελλοντική επέκτασή της. 10

11 2 Σηµασιολογικό ιαδίκτυο 2.1 ΕΙΣΑΓΩΓΗ Το Σηµασιολογικό ιαδίκτυο σηµατοδοτεί τη συνέχεια και εξέλιξη του υπάρχοντος δικτύου, µε απώτερο σκοπό τη διαλειτουργική συνεργασία των υπολογιστικών συστηµάτων ανά τον κόσµο. Πιο συγκεκριµένα γίνεται η προσπάθεια ώστε ο τεράστιος όγκος πληροφορίας που είναι διαθέσιµος στον άνθρωπο να µπορεί, µε κατάλληλο ορισµό και επεξεργασία, να καθίσταται κατανοητός και επεξεργάσιµος και από τους υπολογιστές. Το παραπάνω επιτυγχάνεται µέσω της οργάνωσης και διασύνδεσης της πληροφορίας που υπάρχει στο διαδίκτυο έτσι ώστε να πραγµατοποιηθεί στη συνέχεια η χρήση της ως µέσο για ανακάλυψη, συµπερασµό, αυτοµατοποίηση, οµαδοποίηση και φυσικά επαναχρησιµοποίησή της σε ετερογενείς εφαρµογές [1]. υστυχώς η εικόνα µέχρι και σήµερα αποδεικνύει πως λίγη βαρύτητα δόθηκε στην εκµετάλλευση αυτού του πακτωλού πληροφορίας, καθιστώντας την προσβάσιµη στα υπολογιστικά συστήµατα. Από την άλλη πλευρά η αυτοµατοποίηση των διαδικασιών στο διαδίκτυο φαντάζει ουτοπία λαµβάνοντας υπόψη το πλήθος των δεδοµένων [2]. Παράλληλα µε τις εργασίες στο χώρο της Τεχνητής Νοηµοσύνης, η οποία εφαρµόζει τεχνικές Μηχανικής Μάθησης για την εκπαίδευση των υπολογιστών σε σχέση µε την ανθρώπινη συµπεριφορά, το Σηµασιολογικό ιαδίκτυο, αντίθετα, προσπαθεί να αναπτύξει γλώσσες κατανοητές από τους υπολογιστές. Γλώσσες που µπορούν να καταγράψουν την όποια πληροφορία και που ο κάθε χρήστης θα ήταν επιθυµητό να συµπεριλάβει στα έγγραφά του, κάνοντας έτσι το Σηµασιολογικό ίκτυο να φαντάζει κάτι σαν µια παγκόσµια βάση δεδοµένων. 11

12 Συνάγουµε πως το Σηµασιολογικό ιαδίκτυο αποτελεί σηµείο αναφοράς µεταξύ δύο εποχών στο ιαδίκτυο. Της εποχής όπου η πληροφορία ήταν αποκλειστικά προσανατολισµένη στον χρήστη και της εποχής, που πλέον διανύουµε, όπου η πληροφορία είναι προσανατολισµένη στην ίδια την πληροφορία ως διαλειτουργικό εργαλείο. Η παρακάτω εικόνα δίνει αναλυτικά το σχηµατικό διάγραµµα της αρχιτεκτονικής του Σηµασιολογικού ιαδικτύου (κατά Tim Berners-Lee) [1]. Εικόνα 2.1. Η διαστρωµατωµένη αρχιτεκτονική του Σηµασιολογικού ιαδικτύου κατά τον Tim Berners-Lee 2.2 Η αρχιτεκτονική του Σηµασιολογικού ιαδικτύου Στη βάση βρίσκουµε την XML, µια γλώσσα η οποία επιτρέπει τη σύνταξη διαδικτυακών εγγράφων κάνοντας χρήση ενός λεξιλογίου καθορισµένο από τον χρήστη. Η XML είναι ιδιαίτερα κατάλληλη για την αποστολή εγγράφων στο ιαδίκτυο [4]. Για να αποδοθεί στις πληροφορίες του διαδικτύου ενοποιηµένο σηµασιολογικό περιεχόµενο, προϋπόθεση είναι η ανάπτυξη ενός κοινού τρόπου αναπαράστασης της πληροφορίας, ώστε να καθίσταται κατανοητή από κάθε εφαρµογή. Για αυτόν ακριβώς τον σκοπό έγινε χρήση της RDF (Resource Description Framework). Η RDF αποτελεί µια γλώσσα γενικού περιεχοµένου που ωστόσο δηµιουργήθηκε και χρησιµοποιείται κυρίως για την αναπαράσταση των µεταδεδοµένων των διαδικτυακών πόρων, δηλαδή 12

13 τον ορισµό πληροφοριών που περιγράφουν χαρακτηριστικά προέλευσης και ονοµασίας των δεδοµένων. Το µοντέλο δεδοµένων RDF δε στηρίζεται στην XML, απλά ακολουθεί ένα συντακτικό βασισµένο σε αυτή. Το µοντέλο της γλώσσας RDF αποτελείται από δηλώσεις ή ισχυρισµούς (statements) και αναφορές σχετικές µε αυτούς, ενώ προϋποθέτει διαδοχικά επίπεδα οργάνωσης [1, 2, 4]. Σύµφωνα µε το µοντέλο δηλώσεων και αναφορών της RDF τα δεδοµένα δεν ακολουθούν συγκεκριµένο τρόπο διάταξης, καθώς σε επόµενο επίπεδο ορίζεται µια αναπαράσταση δοµών, ώστε να καταστεί δυνατή η δήλωση νέων ιδιοτήτων και ο ορισµός του τρόπου χρήσης τους, για περαιτέρω ελέγχους στα διάφορα έγγραφα. Το επίπεδο αυτό δεν είναι άλλο από το επίπεδο δοµής (RDF Schema). Στο επίπεδο δοµής, δηλαδή, γίνονται δηλώσεις που καθορίζουν την ορθότητα των δηλώσεων του παρακάτω επιπέδου, που καθορίζουν την ιεραρχία των δεδοµένων (π.χ. το πεδίο όνοµα σε ένα δίπλωµα οδήγησης αναφέρεται σε όνοµα ανθρώπου και µόνο και πρέπει να ακολουθείται από αυτό). Το επίπεδο δοµής προορίζεται κυρίως, για εφαρµογή σε µηχανισµούς ελέγχου δοµής (schema engines) και όχι σε µηχανισµούς εξαγωγής συµπερασµάτων (inference engines). Το RDF Schema µπορεί να θεωρηθεί σαν µία αρχική γλώσσα για τη δηµιουργία οντολογιών. Είναι αναγκαία όµως, η δηµιουργία πιο δυνατών γλωσσών οντοτήτων (ontology languages), οι οποίες θα επεκτείνουν το RDF Schema και θα επιτρέπουν την αναπαράσταση πιο περίπλοκων σχέσεων µεταξύ των αντικειµένων του διαδικτύου. Το επίπεδο στο οποίο αναφερόµαστε είναι το επίπεδο οντολογιών. Οι δηλώσεις που αφορούν τους λογικούς περιορισµούς, το λογικό περιεχόµενο, τη χρήση κατηγορηµατικής λογικής καθώς και τη δυνατότητα συσχέτισης των δεδοµένων αφορούν και πραγµατοποιούνται στο λογικό επίπεδο. Κατά συνέπεια το λογικό επίπεδο χρησιµοποιείται για να εµπλουτίσει την γλώσσα οντοτήτων ακόµα περισσότερο και για να επιτρέψει την συγγραφή δηλωτικής, επεξηγηµατικής γνώσης, που αφορά σε συγκεκριµένη εφαρµογή. Το επίπεδο των αποδείξεων εµπλέκει τη συµπερασµατική διαδικασία εξαγωγής συµπερασµάτων, καθώς και την αναπαράστασή της µέσω διαδικτυακών γλωσσών (από κατώτερα επίπεδα) και την αξιολόγηση αυτών, µε ενδείξεις εγκυρότητας (proof). Τέλος το επίπεδο της αξιοπιστίας εµφανίζεται µέσω της χρήσης ψηφιακών υπογραφών και άλλων ειδών γνώσης που βασίζονται σε διάφορες συστάσεις πρακτόρων, πρακτορείων έκδοσης πιστοποιητικών κ.τ.λ. Είναι ένα επίπεδο που για να 13

14 επιβεβαιώσει την ύπαρξή του θα πρέπει να καταστεί εφικτή η εµπιστοσύνη όλων των χρηστών προς αυτό [1, 4]. 2.3 Από την HTML στην XML Η XML (extensible markup language), αποτελεί µία ακόµη γλώσσα η οποία είναι σύµφωνη µε το SGML(standard generalized markup language), ένα διεθνές πρότυπο, σύµφωνα µε το οποίο µπορεί να αναπαρασταθεί η πληροφορία, για µεγαλύτερη αποτελεσµατικότητα στη διάδοση αυτής µεταξύ ανθρώπων και µηχανών. Η XML προσπαθεί να καλύψει τις αδυναµίες της HTML, έχοντας εν τούτοις πολλές οµοιότητες. Παράδειγµα 1 : Έστω ότι έχουµε µια σελίδα στο ιαδίκτυο µε πληροφορίες για ένα βιβλίο. Σε HTML: <h2>nonmonotonic Reasoning: Context-Dependent Reasoning</h2> <i>by <b>v. Marek</b> and <b>m. Truszczynski</b></i><br> Springer 1993<br> ISBN Μια τυπική αναπαράσταση σε XML θα έµοιαζε ως εξής: <book> <title> Nonmonotonic Reasoning: Context-Dependent Reasoning </title> <author>v. Marek</author> <author>m. Truszczynski</author> <publisher>springer</publisher> <year>1993</year> <ISBN> </ISBN> </book> Είναι αναµενόµενο, εφόσον έχουµε να κάνουµε µε συγγενείς γλώσσες να έχουµε κάποιες οµοιότητες, όπως την χρήση ετικετών (tags) (<h2></year>).στην XML κάθε ετικέτα πρέπει να κλείνει µε ένα ίδιο κλείσιµο ετικέτας (closing tag) ενώ στην HTML αυτό δεν είναι απαραίτητο(<br>). Το περιεχόµενο µεταξύ ενός ζεύγους ετικετών, µαζί µε τις ετικέτες αναφέρεται ως στοιχείο (element). 14

15 Παρόλο που και οι δύο αναπαραστάσεις είναι αρκετά κατανοητές από τον άνθρωπο, δε συµβαίνει το ίδιο όταν µια µηχανή προσπαθήσει να κατανοήσει απλές πληροφορίες, όπως για παράδειγµα το όνοµα του συγγραφέα. Συµβάσεις του τύπου: το όνοµα ακολουθεί συνήθως τον τίτλο του βιβλίου ή προηγείται η λέξη by, δεν ακολουθούνται πάντα και όταν ακολουθούνται προκύπτουν άλλα προβλήµατα του τύπου: έχουµε 2 ονόµατα που αντιστοιχούν σε 1 ή σε 2 ανθρώπους; Αντίθετα στην XML τα εµφωλευµένα στοιχεία δίνουν µια πλήρη και πιο ξεκάθαρη εικόνα της πληροφορίας. Παράδειγµα 2 : Έστω ότι θέλουµε να παρουσιάσουµε την µαθηµατική αναπαράσταση ενός νόµου της φυσικής. Σε HTML: <h2>relationship matter-energy</h2> <i>e = M * c2</i> Μια τυπική αναπαράσταση σε XML θα έµοιαζε ως εξής: <equation> <meaning>relationship matter-energy </meaning> <leftside>e</leftside> <rightside>m * c2</rightside> </equation> Παρατηρούµε πως τα δύο HTML έγγραφα στα παραπάνω παραδείγµατα κάνουν χρήση των ίδιων περίπου tags. Αυτό είναι απόλυτα αναµενόµενο, καθότι στην HTML τα tags είναι προκαθορισµένα. Η XML, αντίθετα, είναι πιο ευέλικτη, καθώς επιτρέπει στον χρήστη να δηµιουργήσει και να χρησιµοποιήσει τα δικά του tags. Εποµένως, η XML, δικαίως χαρακτηρίζεται ως µεταγλώσσα για σήµανση πληροφοριών (markup language). Συγκεκριµένα, όλο και περισσότερες οµάδες (είτε επαγγελµατικές είτε κοινωνικές) δηµιουργούν XML εφαρµογές επεκτάσεις (extensions). Τέτοιοι τοµείς είναι π.χ. τα µαθηµατικά (MathML), η βιοπληροφορική (BSML), οι ανθρώπινοι πόροι (HRML), η αστρονοµία (AML), η ενηµέρωση (NewsML), οι επενδύσεις (IRML) και πολλοί άλλοι [4]. 15

16 2.3.1 Στοιχεία ( Elements ) Τα XML στοιχεία αντιπροσωπεύουν τα πράγµατα στα οποία αναφέρεται ένα XML έγγραφο, όπως βιβλία, συγγραφείς και εκδότες. Συνθέτουν τη βασική ιδέα των XML εγγράφων. Ένα στοιχείο αποτελείται από µία ετικέτα έναρξης (opening tag),το περιεχόµενό της (content) και το κλείσιµο της ετικέτας (closing tag). Παράδειγµα 3 : <lecturer>david Billington</lecturer> Τα ονόµατα ετικετών µπορούν να επιλεχθούν σχεδόν ελεύθερα. Στη πραγµατικότητα υπάρχουν πολύ λίγοι περιορισµοί. Φυσικά κανένα όνοµα δε µπορεί να αρχίζει µε τη συµβολοσειρά xml ή κάποιο συνδυασµό της (όπως Xml ή xml). Το περιεχόµενο µπορεί να είναι κείµενο, άλλα στοιχεία ή απολύτως τίποτα. Παράδειγµα 4 : <lecturer> <name>david Billington</name> <phone> </phone> </lecturer> Εάν δεν υπάρχει περιεχόµενο, τότε το στοιχείο καλείται άδειο (empty). Ένα άδειο στοιχείο µπορεί να γραφτεί εν συντοµία µόνο µε το κλείσιµο ετικέτας [4]. Παράδειγµα 5 : <lecturer></lecturer> <lecturer/> Ιδιότητες ( Attributes ) Ένα άδειο στοιχείο δεν είναι απαραίτητα χωρίς νόηµα, καθώς µπορεί να έχει κάποια χαρακτηριστικά ως ιδιότητες. Μία ιδιότητα είναι ένα ζεύγος ονόµατος τιµής µέσα στην ετικέτα έναρξης ενός στοιχείου. Παράδειγµα 6 : <lecturer name= David Billington phone= /> Βέβαια µπορούµε να εισάγουµε ιδιότητες και σε µη άδεια στοιχεία Παράδειγµα 7 : <order orderno= customer= John Smith date= October 15, 2002 > 16

17 <item itemno= a528 quantity= 1 /> <item itemno= c817 quantity= 3 /> </order> Η ίδια πληροφορία θα µπορούσε να είχε γραφτεί αντικαθιστώντας τις ιδιότητες µε εµφωλευµένα στοιχεία [4] Παράδειγµα 8 : <order> <orderno>23456</orderno> <customer>john Smith</customer> <date>october 15, 2002</date> <item> <itemno>a528</itemno> <quantity>1</quantity> </item> <item> <itemno>c817</itemno> <quantity>3</quantity> </item> </order> Χώρος Ονοµάτων( Namespaces ) Ένα από τα κύρια πλεονεκτήµατα της χρήσης της XML ως µία παγκόσµια γλώσσα σήµανσης, είναι ότι η πληροφορία καθίσταται προσβάσιµη από ποικίλες πηγές. Με πιο τεχνικούς όρους, ένα XML έγγραφο είναι πιθανό να χρησιµοποιεί παραπάνω από ένα έγγραφα δοµής που να καθορίζουν το περιεχόµενό του. Τα διαφορετικά αυτά έγγραφα δοµής έχουν δηµιουργηθεί ανεξάρτητα. Έτσι η σύγκρουση ονοµάτων (name clashes) είναι αναπόφευκτη. Εάν ένα έγγραφο Α και ένα έγγραφο Β προσδιορίζουν έναν τύπο στοιχείου σ µε διαφορετικό τρόπο, ένας parser που προσπαθεί να εγκυροποιήσει ένα XML έγγραφο, στο οποίο εµφανίζεται το σ στοιχείο, πρέπει να γνωρίζει ποια δοµή πρέπει να χρησιµοποιήσει. Η τεχνική λύση είναι απλή: για να αποσαφηνίσουµε ποια είναι η κατάλληλη δοµή, χρησιµοποιούµε ένα διαφορετικό πρόθεµα για κάθε διαφορετικό έγγραφο δοµής. Το πρόθεµα χωρίζεται από τα τοπικά ορίσµατα µε άνω και κάτω τελεία: Prefix:name Παράδειγµα 9 : Ας θεωρήσουµε ότι δύο πανεπιστήµια θέλουν να ξεκινήσουν µαζί ένα on-line πανεπιστήµιο. Έστω ότι το ένα βρίσκεται στην Αυστραλία, το Griffith University, και στις Η.Π.Α., το University of Kentaky. Τα δύο πανεπιστήµια θέλουν να 17

18 παρουσιάσουν µία ενοποιηµένη online όψη για τους φοιτητές τους. Κάθε πανεπιστήµιο χρησιµοποιεί τη δική του ορολογία, και όπως είναι αναµενόµενο υπάρχουν διαφορές. Για παράδειγµα, οι λέκτορες στις Ηνωµένες Πολιτείες δε θεωρούνται µόνιµο προσωπικό, ενώ στην Αυστραλία είναι. Στη πραγµατικότητα αντιστοιχούν στους αµερικανούς επίκουρους καθηγητές. Παρακάτω φαίνεται πως αποσαφηνίζονται οι διαφορετικές ορολογίες. <?xml version= 1.0 encoding= UTF-16?> <vu:instructors xmlns:vu= xmlns:gu= xmlns:uky= > <uky:faculty uky:title= assistant professor uky:name= John Smith uky:department= Computer Science /> <gu:academicstaff uky:title= lecturer uky:name= Mate Jones uky:school= Information Technology /> </vu:instructors> Συνεπώς οι χώροι δεδοµένων( namespaces ) ορίζονται µέσα σ ένα στοιχείο και µπορούν να χρησιµοποιηθούν από το στοιχείο και τα παιδιά του (στοιχεία και ιδιότητες). Μία δήλωση namespace έχει τη µορφή: xmlns:prefix= location όπου location είναι η διεύθυνση του εγγράφου δοµής. Εάν ένα πρόθεµα δεν καθορίζεται, όπως παρακάτω xmlns= location, τότε η τοποθεσία αυτή χρησιµοποιείται ως η προκαθορισµένη τοποθεσία για κάθε πρόθεµα που δεν ορίζει δικιά του. Παράδειγµα 10 : Το παρακάτω έγγραφο είναι ισοδύναµο µε αυτό του παραδείγµατος 8, µε τη χρήση προκαθορισµένης τοποθεσίας. <?xml version= 1.0 encoding= UTF-16?> <vu:instructors xmlns:vu= xmlns= xmlns:uky= > <uky:faculty uky:title= assistant professor uky:name= John Smith uky:department= Computer Science /> 18

19 <academicstaff title= lecturer name= Mate Jones school= Information Technology /> </vu:instructors> 2.4 Η Γλώσσα RDF ως Μοντέλο Αναπαράστασης Μεταδεδοµένων Όπως προαναφέραµε η XML υπερέχει αρκετά στον ορισµό σήµανσης πληροφοριών. Παρόλα αυτά δεν παρέχει καµία ένδειξη για τη σηµασία των δεδοµένων. Τα tags δε µπορούν να αποτελέσουν σηµείο αναφοράς, καθώς είναι εύκολο να ερµηνευτούν µε διάφορους τρόπους. Παράδειγµα 11 : Έστω ότι θέλουµε να εκφράσουµε το ακόλουθο γεγονός: David Billington is a lecturer of Discrete Mathematics. εν µπορεί να υπάρξει µία και µοναδική αναπαράσταση σε XML, όπως φαίνεται παρακάτω: <course name= Discrete Mathematics > <lecturer>david Billington</lecturer> </course> <lecturer name= David Billington > <teaches>discrete Mathematics</teaches> </lecturer> <teachingoffering> <lecturer>david Billington</lecturer> <course>discrete Mathematics</course> </teachingoffering> Κατά συνέπεια είναι δύσκολη η απόδοση νοήµατος µέσω της εµφώλευσης ετικετών (tag nesting). Η προτεινόµενη λύση είναι η γλώσσα RDF, η οποία καταχρηστικά χρησιµοποιεί τον όρο γλώσσα, καθώς είναι µάλλον ένα µοντέλο δεδοµένων. Η δοµή της αποτελείται από τριάδες: αντικείµενο ιδιότητα τιµή, που ονοµάζονται δηλώσεις (statements). 19

20 Εξαιτίας της αφηρηµένης δοµής της η RDF χρειάζεται ένα συγκεκριµένο συντακτικό για να αναπαρασταθεί και να µεταδοθεί και εδώ έρχεται να χρησιµοποιηθεί η XML και το συντακτικό της. Είναι σηµαντικό παρόλα αυτά να γίνει κατανοητό ότι το RDF µοντέλο δεν είναι συνυφασµένο µε το XML συντακτικό. Απλά για πολλούς λόγους επιλέχθηκε να χρησιµοποιηθεί, χωρίς να αποκλείονται και άλλα συντακτικά. Το µοντέλο RDF είναι ανεξάρτητο του πεδίου χρήσης. Είναι θέµα των χρηστών να δηµιουργήσουν τη δική τους ορολογία, µέσω µιας γλώσσας που ονοµάζεται RDF Schema (RDFS). Το RDFS καθορίζει το λεξιλόγιο που χρησιµοποιείται στα RDF µοντέλα δεδοµένων. Πιο συγκεκριµένα δηλώνουµε ποιες ιδιότητες εφαρµόζονται σε ποια αντικείµενα, ποιες τιµές µπορούν να πάρουν και περιγράφουµε τις σχέσεις µεταξύ των αντικειµένων. Ένα παράδειγµα ορισµού λεξιλογίου µε τη βοήθεια της RDFS είναι το ακόλουθο: Lecturer is a subclass of academic staff member Η οποία δηλώνει, για οποιοδήποτε λογισµικό επεξεργασίας RDF, ότι όλοι οι lecturers είναι και academic staff members. Παράδειγµα 12 : Για να τονίσουµε τη σηµασία των όσων προείπαµε, ας υποθέσουµε ότι έχουµε τρία XML στοιχεία (elements). Το καθένα έχει ως περιεχόµενο το όνοµα ενός διδάσκοντα, έχουν όµως διάφορες ετικέτες, όπως ακαδηµαϊκό προσωπικό, καθηγητής ή ακόµα και ενέργειες όπως διδάσκεται από. Εάν θα θέλαµε να συλλέξουµε όλα τα ακαδηµαϊκά µέλη απλά και µόνο ρωτώντας για µία ετικέτα από αυτές, για παράδειγµα την ακαδηµαϊκό προσωπικό το µόνο αποτέλεσµα θα ήταν ο αντίστοιχος διδάσκοντας του στοιχείου µε τη συγκεκριµένη ετικέτα - του οποίου το tag δηλαδή, ανταποκρίνεται στην παραπάνω έκφραση. Φυσικά σηµασιολογικά σωστό θα ήταν να συµπεριλάβουµε και τα άλλα δύο ονόµατα, καθώς όλοι οι καθηγητές είναι ακαδηµαϊκά µέλη και όλα τα µαθήµατα διδάσκονται από ακαδηµαϊκά µέλη. Αυτός είναι ο στόχος µας µέσα από τη χρήση του RDFS. Όχι µόνο η σηµασιολογική απόδοση νοηµάτων, αλλά ταυτόχρονα η προσβασιµότητα τους από τους υπολογιστές [4]. 20

21 2.5 Εισαγωγή στην RDF Η RDF (Resource Description Framework) είναι µία γλώσσα για την αναπαράσταση της πληροφορίας που σχετίζεται µε τους πόρους στον Παγκόσµιο Ιστό (World Wide Web). Πιο συγκεκριµένα, προορίζεται για την παρουσίαση µεταδεδοµένων (metadata) για τους πόρους του διαδικτύου, δηλαδή συµπληρωµατικών πληροφοριών όπως είναι ο τίτλος, ο συντάκτης και η ηµεροµηνία τελευταίας τροποποίησης µιας ιστοσελίδας, η άδεια χρήσης για ένα έγγραφο στο διαδίκτυο, ή ακόµη και το χρονοδιάγραµµα διαθεσιµότητας ενός κοινά χρησιµοποιούµενου διαδικτυακού πόρου (π.χ. ηλεκτρονική υπηρεσία Taxis). Επιπρόσθετα, η RDF µπορεί να χρησιµοποιηθεί για την αναπαράσταση πληροφορίας για δεδοµένα που µπορούν να υφίστανται πραγµατικά ή εικονικά στο διαδίκτυο ακόµη κι όταν δεν είναι εφικτή η άµεση ανάκτησή τους. Τέτοια παραδείγµατα είναι οι πληροφορίες για προϊόντα διαθέσιµα µέσω των ηλεκτρονικών καταστηµάτων (όπως πληροφορίες για τις προδιαγραφές, τις τιµές και τη διαθεσιµότητα των προϊόντων), ή η περιγραφή για τις προτιµήσεις ενός χρήστη του διαδικτύου σχετικά µε τον τρόπο παρουσίασης της πληροφορίας. Η RDF προορίζεται περισσότερο για περιπτώσεις όπου τις πληροφορίες τις επεξεργάζονται εφαρµογές και όχι τόσο για την παρουσίαση των πληροφοριών σε χρήστες. Μέσω της RDF παρέχεται ένα κοινό πλαίσιο εργασίας (common framework) έτσι ώστε οι πληροφορίες να µπορούν να ανταλλάσσονται µεταξύ των εφαρµογών χωρίς να υπάρχει απώλεια νοήµατος. Η ικανότητα ανταλλαγής δεδοµένων µεταξύ διαφορετικών εφαρµογών ουσιαστικά σηµαίνει ότι δίνεται η δυνατότητα, οι ίδιες πληροφορίες να είναι διαθέσιµες και σε εφαρµογές διαφορετικές από αυτές για τις οποίες είχαν αρχικά δηµιουργηθεί [4] Βασικές Έννοιες της Γλώσσας RDF Τα βασικά στοιχεία της RDF είναι οι πόροι (resources), οι ιδιότητες (properties) και οι δηλώσεις (statements). Οι πόροι αντιπροσωπεύουν ένα αντικείµενο, κάτι, για το οποίο θέλουµε πληροφορίες. Αυτό µπορεί να είναι κάποιος συγγραφέας, ένα βιβλίο, µία τοποθεσία, ακόµη και ένα ερώτηµα αναζήτησης. Κάθε πόρος έχει ένα URI (Unified Resource Identifier), δηλαδή ένα αναγνωριστικό του πόρου, που όµως δεν προϋποθέτει πρόσβαση στον πόρο. 21

22 Οι ιδιότητες είναι ένα ιδιαίτερο είδος πόρων, µόνο που αυτές περιγράφουν σχέσεις µεταξύ των πόρων. Τέτοιες σχέσεις µπορεί να είναι η σύνδεση ενός βιβλίου µε τον συγγραφέα του, µιας ηλικίας µε κάποιο άτοµο κλπ. Ως πόροι, οι ιδιότητες αναγνωρίζονται και αυτές µε URIs, κάτι που είναι πολύ σηµαντικό. Η αξία της χρήσης URIs ως αναγνωριστικό των πόρων και συνάµα των ιδιοτήτων τους είναι αναµφισβήτητη. Η επιλογή αυτή, µας δίνει ένα παγκόσµιο, µοναδικό πλαίσιο ονοµασίας. Η χρήση ενός τέτοιου πλαισίου, µειώνει σηµαντικά το κοινώς αποδεκτό πρόβληµα που µάστιζε την κατανεµηµένη αναπαράσταση δεδοµένων. Οι δηλώσεις είναι τριάδες πόρων ιδιοτήτων τιµών, και συνδέουν ουσιαστικά τα στοιχεία µεταξύ τους. Οι τιµές µπορεί να είναι είτε πόροι είτε σταθερές (literals) (strings). Παράδειγµα 13 : Ας δούµε ένα παράδειγµα δήλωσης. Έστω η παρακάτω δήλωση: David Billington is the owner of the Web page Υπάρχουν τρεις τρόποι απόδοσης της τριάδας: 1. Ο πιο απλός τρόπος ερµηνείας της δήλωσης είναι µέσω ενός δυαδικού κατηγορήµατος στη µορφή P(x,y), όπου (x, P, y) αντίστοιχα. ( David Billington, (Πρέπει να σηµειωθεί ότι η ιδιότητα site-owner και ένα από τα δύο αντικείµενα αναγνωρίζονται µε URIs, ενώ το άλλο αντικείµενο, µέσω ενός string). Η RDF παρέχει δυνατότητα αναπαράστασης µόνο δυαδικών κατηγορηµάτων ιδιότήτων (properties). 2. Γραφικά, όπου µε συνδυασµό τριάδων σχηµατίζεται ένα σηµασιολογικό δίκτυο (semantic net). Στο σχήµα 2.1(i) φαίνεται ο γράφος που ανταποκρίνεται στη δήλωση του παραδείγµατος. Όπως φαίνεται ο γράφος είναι κατευθυνόµενος, µε περιεχόµενο των κόµβων, τις ετικέτες και τόξα. Τα τόξα κατευθύνονται από τον πόρο (το υποκείµενο της δήλωσης), στην τιµή (το αντικείµενο της δήλωσης). 22

23 Σχήµα 2.1.Γραφική αναπαράσταση τριάδας (i) Μικρογραφία του Σηµασιολογικού ιαδικτύου (ii) Όπως ελέχθη, η τιµή µιας δήλωσης µπορεί να είναι ένας πόρος. Οπότε µπορεί να συνδέεται και µε άλλους πόρους. Θεωρήστε τις παρακάτω τριάδες: ( David Billington ) ( David Billington, ) ( David Billington, ( Andrew Rock ) Η γραφική αναπαράσταση των παραπάνω τριάδων φαίνεται στο σχήµα 2.1(ii). 3. Οι γράφοι αποτελούν ένα ισχυρό εργαλείο για την ανθρώπινη κατανόηση των RDF δηλώσεων. Το όραµα όµως, του Σηµασιολογικού ικτύου απαιτεί αναπαραστάσεις µε δυνατότητες πρόσβασης και επεξεργασίας µέσω µηχανών. Για αυτό το σκοπό, υπάρχει και µία τρίτη αναπαράσταση βασισµένη στην XML. Σύµφωνα µε αυτή τη δυνατότητα, ένα RDF έγγραφο αναπαριστάται µέσω ενός XML στοιχείου (element) µε την ετικέτα rdf:rdf. Το περιεχόµενο αυτού του στοιχείου είναι ένα σύνολο από περιγραφές (descriptions), που χρησιµοποιούν rdf:description ετικέτες. Κάθε περιγραφή αποτελεί µία δήλωση σχετικά µε ένα πόρο, ο οποίος αναγνωρίζεται µε έναν από τους παρακάτω τρεις, διαφορετικούς τρόπους: Μια about ιδιότητα, αναφερόµενη σε υπάρχοντα πόρο 23

24 Μια ID ιδιότητα, που δηµιουργεί νέο πόρο Χωρίς όνοµα, δηµιουργώντας ένα ανώνυµο πόρο Παρακάτω θα πάρουµε µια ιδέα της σύνταξης της RDF του παραδείγµατος 13. <?xml version= 1.0 encoding= UTF-16?> <rdf:rdf xmlns:rdf= xmlns:mydomain= > <rdf:description rdf:about= > <mydomain:site-owner> David Billington </mydomain:site-owner> </rdf:description> </rdf:rdf> Η πρώτη σειρά καθορίζει ότι χρησιµοποιούµε XML. Σε µερικά παραδείγµατα, ίσως να παραλείπεται, αλλά θεωρείται αυτονόητη η παρουσία της σε κάθε RDF έγγραφο µε συντακτικό XML. Το rdf:description στοιχείο αποτελεί δήλωση του πόρου Εντός της περιγραφής η ιδιότητα χρησιµοποιείται ως ετικέτα, ενώ το περιεχόµενο είναι η τιµή της ιδιότητας. Οι περιγραφές δίνονται µε συγκεκριµένη σειρά. Με άλλα λόγια το XML συντακτικό επιβάλλει µια σειριακή διάταξη (serialisation). Η σειρά των περιγραφών (ή των πόρων) δεν είναι σηµαντική σύµφωνα µε το αφηρηµένο µοντέλο της RDF. Το παραπάνω δείχνει, για ακόµα µία φορά, πως το µοντέλο των γράφων είναι το πραγµατικό µοντέλο δεδοµένων της RDF και πως το XML συντακτικό είναι απλά µία πιθανή σειριακή αναπαράσταση του γράφου [4]. 2.6 Εισαγωγή στο RDF Schema Η RDF είναι µία γλώσσα γενικής χρήσης, που επιτρέπει στους χρήστες να περιγράφουν πόρους, χρησιµοποιώντας το δικό τους λεξιλόγιο. Παρόλα αυτά η RDF δε µπορεί να κάνει συµπερασµούς για οποιοδήποτε πεδίο εφαρµογών ούτε µπορεί να προσδιορίσει τη σηµασιολογία οποιουδήποτε πεδίου. Αυτό είναι θέµα του χρήστη να το κάνει µέσω του RDF Schema (RDFS) [4]. 24

25 2.6.1 Κλάσεις και Ιδιότητες Το ερώτηµα που προκύπτει είναι πώς ένας χρήστης θα µπορούσε να περιγράψει ένα συγκεκριµένο πεδίο; Ας θεωρήσουµε το πεδίο των µαθηµάτων και των λεκτόρων στο Griffith University. Πρώτα έχουµε να προσδιορίσουµε τα πράγµατα για τα οποία θέλουµε να µιλήσουµε. Εδώ πρέπει να κάνουµε µια πρώτη, βασική διευκρίνηση. Από τη µια πλευρά θέλουµε να µιλήσουµε για συγκεκριµένους λέκτορες, όπως για παράδειγµα ο David Billington, και συγκεκριµένα µαθήµατα, όπως τα ιακριτά Μαθηµατικά (Discrete Mathematics). Αυτό το έχουµε ήδη κάνει µέσω της RDF. Από την άλλη θέλουµε να µιλήσουµε για µαθήµατα γενικότερα, µαθήµατα πρώτου έτους, λέκτορες, καθηγητές κλπ. Ποια είναι η διαφορά; Στη πρώτη περίπτωση µιλάµε για µοναδικά αντικείµενα (individuals objects) πόρους, ενώ στη δεύτερη αναφερόµαστε σε τάξεις/ κλάσεις (classes) που προσδιορίζουν τύπους αντικειµένων. Μία κλάση µπορεί να θεωρηθεί σαν ένα σύνολο στοιχείων. Τα µοναδικά αντικείµενα που ανήκουν σε µία κλάση, αναφέρονται σαν στιγµιότυπα (instances) της κλάσης αυτής. Θα προσδιορίσουµε τη σχέση µεταξύ στιγµιότυπων και κλάσεων στην RDF χρησιµοποιώντας την ετικέτα rdf:type. Μία σηµαντική χρήση των κλάσεων είναι η επιβολή περιορισµών πάνω σε ότι µπορεί να οριστεί σε ένα RDF έγγραφο χρησιµοποιώντας τη δοµή του εγγράφου RDF schema. Στις γλώσσες προγραµµατισµού, το συντακτικό (typing) χρησιµοποιείται για να αποτρέψει τη δηµιουργία των χωρίς νόηµα εκφράσεων (όπως για παράδειγµα την Α + 1, όπου Α ένας πίνακας, ενώ τα ορίσµατα του + πρέπει να είναι αριθµοί). Το ίδιο χρειαζόµαστε και στην RDF. Εξάλλου θα θέλαµε να αποφύγουµε δηλώσεις του τύπου Discrete Mathematics is taught by Concrete Mathematics. Room MZH5760 is taught by David Billington. Η πρώτη δήλωση δεν έχει νόηµα, γιατί τα µαθήµατα διδάσκονται από λέκτορες. Αυτό θέτει ένα περιορισµό στις τιµές της ιδιότητας is taught by. Με µαθηµατικούς όρους, περιορίζουµε την εµβέλεια/ πεδίο τιµών (range) της ιδιότητας. Η δεύτερη δήλωση δεν έχει νόηµα, γιατί µόνο τα µαθήµατα µπορούν να διδαχθούν. Αυτό θέτει ένα περιορισµό στα αντικείµενα στα οποία µπορεί η ιδιότητα να εφαρµοστεί. Με µαθηµατικούς όρους, περιορίζουµε το πεδίο ορισµού (domain) της ιδιότητας [4]. 25

26 2.6.2 Ιεραρχίες Κλάσεων και Κληρονοµικότητα Οι διαδικτυακές πηγές µπορούν να χωριστούν σε οµάδες βάση κοινών χαρακτηριστικών τους, οι οποίες καλούνται κλάσεις. Τα µέλη µιας κλάσης είναι γνωστά ως στιγµιότυπα της κλάσης. Οι κλάσεις θεωρούνται και αυτές από µόνες τους ως πόροι. Συνήθως, ορίζονται µε τη χρήση URI αναφορών και περιγράφονται µε ιδιότητες σε γλώσσα RDF. Η ιδιότητα rdf:type χρησιµοποιείται για να δηλώσει ότι ένας πόρος αποτελεί στιγµιότυπο µιας κλάσης. Για παράδειγµα, στην τριάδα: elephant rdf:type mammal δηλώνεται ότι το elephant είναι στιγµιότυπο του mammal. Η RDF ξεχωρίζει µια κλάση από το σύνολο των στιγµιοτύπων της. Υπάρχει ένα σύνολο που σχετίζεται µε κάθε κλάση, ονοµάζεται επέκταση της κλάσης και είναι το σύνολο των στιγµιοτύπων της. Για παράδειγµα, έστω ότι οι άνθρωποι που µένουν στην ίδια πολυκατοικία συγγράφουν ένα άρθρο. Μπορεί να οριστεί µια κλάση για να περιγράψει τους συγγραφείς αυτού του άρθρου. Μπορεί να οριστεί όµως µια άλλη κλάση για να περιγράψει τους ίδιους ανθρώπους, επειδή µένουν στην ίδια διεύθυνση. Οι κλάσεις έχουν τα ίδια στιγµιότυπα, διαφορετικές όµως ιδιότητες. Ακόµη, µια κλάση µπορεί να είναι µέλος της ίδιας της της επέκτασης και στιγµιότυπο του εαυτού της. Αν µια κλάση Α είναι υποκλάση µιας άλλης κλάσης Β, τότε όλα τα στιγµιότυπα της Α είναι και στιγµιότυπα της Β. Η ιδιότητα rdfs:subclassof χρησιµοποιείται για να δηλώσει ότι µια κλάση είναι υποκλάση µιας άλλης. Για παράδειγµα, στην τριάδα: Mammal rdf:subclassof animal δηλώνεται ότι το mammal είναι υποκλάση της κλάσης animal. Ο όρος υπερκλάση είναι ο αντίθετος της υποκλάσης. Τέλος, οι τύποι δεδο- µένων στην RDF είναι και αυτοί κλάσεις. Όλα τα στιγµιότυπα µιας κλάσης τύπου δεδοµένων ανήκουν στο διάστηµα τιµών του Ιεραρχίες Ιδιοτήτων Εκτός από την περιγραφή συγκεκριµένων κλάσεων οι χρήστες έχουν την δυνατότητα να περιγράψουν τις συγκεκριµένες ιδιότητες που χαρακτηρίζουν αυτές τις κλάσεις. Μια RDF ιδιότητα είναι η σχέση που υπάρχει µεταξύ ενός πόρου υποκειµένου και ενός πόρου αντικειµένου. Με την RDF Schema, οι ιδιότητες περιγράφονται χρησιµοποιώντας την κλάση rdf:property και τις ιδιότητες rdfs:domain, 26

27 rdfs:range και rdfs:subpropertyof. Ένα παράδειγµα χρήσης των παραπάνω ιδιοτήτων είναι το εξής: 1. author rdf:type rdf:property 2. author rdfs:domain book 3. author rdfs:range person Στη γραµµή 1 δηλώνεται ότι το author είναι µια ιδιότητα. Οι επόµενες δύο γραµµές δηλώνουν ότι οι δηλώσεις προτάσεις που χρησιµοποιούν αυτήν την ιδιότητα έχουν υποκείµενο κάποιο στιγµιότυπο του book (γραµµή 2) και αντικείµενο κάποιο στιγµιό-τυπο του person. Η ιδιότητα rdfs:subpropertyof χρησιµοποιείται για να ορίσει ότι µια ιδιότητα είναι υπο-ιδιότητα µιας άλλης. Αν η Κ είναι υπο-ιδιότητα της Λ, τότε όλα τα ζεύγη των πόρων που σχετίζονται µε την Κ σχετίζονται και µε την Λ. Χρησιµοποιείται και ο όρος υπερ-ιδιότητα για να δηλώσει, όπως και παραπάνω, την αντίθετη έννοια της υπο-ιδιότητας. Ένα παράδειγµα είναι: father subpropertyof parent και σηµαίνει ότι η ιδιότητα father είναι υπο-ιδιότητα της ιδιότητας parent. 2.7 Σήµανση Κανόνων στο ιαδίκτυο Οι κανόνες (rules) έχουν παραδοσιακά χρησιµοποιηθεί στη θεωρητική προσέγγιση της πληροφορικής, στη τεχνολογία µεταφραστών γλωσσών προγραµµατισµού, στο λογικό προγραµµατισµό και στην Τ.Ν. Το Σηµασιολογικό ιαδίκτυο προσπαθεί να αναπαραστήσει τη πληροφορία στον Παγκόσµιο Ιστό, έτσι ώστε να µπορεί να χρησιµοποιηθεί από µηχανές, όχι µόνο για σκοπούς παρουσίασης στο χρήστη, αλλά και για αυτοµατοποίηση, ολοκλήρωση, και επαναχρησιµοποίησή της. Η Σήµανση Κανόνων (Rule Markup) για το Σηµασιολογικό ιαδίκτυο έχει αποτελεί ένα σηµαντικό ζήτηµα Σχεδίασης (Design Issues), από τον Tim Berners Lee. Παρόλα αυτά, οι κανόνες στο Σηµασιολογικό ιαδίκτυο, δε µελετήθηκαν τόσο συστηµατικά όσo για παράδειγµα, οι οντολογίες. Η Πρωτοβουλία για Σήµανση Κανόνων (Rule Markup Initiative) προσπαθεί να συµπληρώσει το κενό εξερευνώντας συστήµατα κανόνων κατάλληλα για τον Ιστό, το (XML και RDF) συντακτικό τους, τη σηµασιολογία τους, την αποδοτικότητα τους, τον µετασχηµατισµό και τη µεταγλώττισή τους. 27

28 2.8 RuleML: Μία Γλώσσα Σήµανσης για Σηµασιολογικούς Κανόνες στο ιαδίκτυο Η RuleML δηµιουργήθηκε βασιζόµενη σε προϋπάρχουσες γλώσσες σήµανσης κανόνων και έχει ήδη χρησιµοποιηθεί σε πολλές εφαρµογές. Ως παραδείγµατα, αναφέρονται παρακάτω οι γλώσσες RFML, URML και AORML (για µια πιο ολοκληρωµένη εικόνα, παραπέµπουµε τους ενδιαφερόµενους στη διεύθυνση Η RFML (Relational Functional Markup Language) είναι µία διαδικτυακή γλώσσα ( Web output format), για σχεσιακές συναρτησιακές βάσεις γνώσης και υλοποιήσεις υπολογισµών. Η URML συνδυάζει τον Αντικειµενοστραφή, βασισµένο σε κανόνες προγραµµατισµό µε την XML και παρέχει τη βάση για την υλοποίηση ιαδικτυακών αντικειµένων και τη διαχείριση τους µε κανόνες. Η AORML είναι γλώσσα σήµανσης κανόνων παραγωγής, προσανατολισµένη σε πράκτορες Η Σχεδίαση της RuleML Σε αυτήν την ενότητα συνοψίζεται ο τρέχον σχεδιασµός της RuleML. Η RuleML περικλείει µια ιεραρχία κανόνων, συµπεριλαµβάνοντας αντιδραστικούς κανόνες (συµβάν-συνθήκη-δράση), κανόνες µετασχηµατισµού (functional-equational rules), κανόνες εξαγωγής συµπερασµάτων (implicational-inference-rules), γεγονότα (facts ή premiseless derivation rules), ερωτήσεις (queries ή conclusionless derivation rules), περιορισµούς ακεραιότητας δεδοµένων (κανόνες συνέπειαςσυντήρησης). Μέχρι τώρα, η προσπάθεια έχει επικεντρωθεί κυρίως στους κανόνες εξαγωγής συµπερασµάτων, στα γεγονότα και τις ερωτήσεις [3] Η Ιεραρχία της RuleML Η ιεραρχία της RuleML ξεκινάει από τους γενικούς κανόνες και διακλαδίζεται σε δύο άµεσες κατηγορίες: τους κανόνες αντίδρασης και τους κανόνες µετασχηµατισµού. Στο επόµενο επίπεδο, οι κανόνες µετασχηµατισµού ειδικεύονται στην υποκατηγορία των κανόνων εξαγωγής συµπερασµάτων ή συνεπαγωγικούς κανόνες. Κατόπιν, οι συνεπαγωγικοί κανόνες έχουν περαιτέρω υποκατηγορίες, τα γεγονότα και τις ερωτήσεις. Τέλος, οι ερωτήσεις ειδικεύονται στους περιορισµούς ακεραιότητας. 28

29 Μπορεί να υπάρξουν µελλοντικά περισσότερες υποκατηγορίες, ειδικά για τους αντιδραστικούς κανόνες. Η συνολική εικόνα της RuleML είναι όπως στο Σχήµα 2.2. Μια γραφική άποψη των κανόνων RuleML φαίνεται ως δέντρο στο σχήµα έχοντας ως ρίζα τους γενικούς κανόνες. Οι κύριοι κλάδοι του, διακρίνονται στους κανόνες αντίδρασης και στους κανόνες µετασχηµατισµού. Ακριβώς κάτω από τους κανόνες µετασχηµατισµού βρίσκονται οι κανόνες εξαγωγής συµπερασµάτων. Οι κανόνες εξαγωγής συµπερασµάτων ειδικεύονται στα γεγονότα και τις ερωτήσεις, οι οποίες µπορούν να γίνουν περιορισµοί ακεραιότητας. αντιδραστικοί κανόνες 1 (reaction rules) κανόνες (rules) 2 κανόνες µετασχηµατισµού (transformation rules) 3 κανόνες εξαγωγής συµπερασµάτων 4 γεγονότα (derivation rules) 5 ερωτήσεις (facts) (queries) 6 περιορισµοί ακεραιότητας (integrity constraints) Σχήµα 2.2. Ιεραρχία τύπων κανόνων στη RuleML Η περιγραφή των διάφορων τύπων κανόνων έχει συνοπτικά ως εξής: 1. Οι αντιδραστικοί κανόνες µπορούν να αναχθούν σε γενικούς κανόνες που δεν επιστρέφουν καµία τιµή. 2. Οι κανόνες µετασχηµατισµού µπορούν να αναχθούν σε γενικούς κανόνες των οποίων το συµβάν ενεργοποίησης είναι πάντα ενεργοποιηµένο. 3. Οι κανόνες εξαγωγής συµπερασµάτων µπορούν να αναχθούν σε κανόνες µετασχηµατισµού, αν οι συναρτήσεις αντικατασταθούν µε κατηγορήµατα τα οποία επιστρέφουν true ή false. 29

30 4. Τα γεγονότα µπορούν να αναχθούν σε κανόνες εξαγωγής συµπερασµάτων οι οποίοι έχουν κενή (και ως εκ τούτου true ) σύζευξη προϋποθέσεων. 5. Οι ερωτήσεις µπορούν να αναχθούν σε κανόνες εξαγωγής συµπερασµάτων που έχουν µια κενή (ως εκ τούτου false ) διάζευξη των συµπερασµάτων ή ένα συµπέρασµα το οποίο επιστρέφει τις τιµές των µεταβλητών για τις οποίες ισχύει η συνθήκη. Οι περιορισµοί ακεραιότητας µπορούν να αναχθούν σε ερωτήσεις που είναι "κλειστές (δηλαδή δεν παράγουν τιµές µεταβλητών ως απαντήσεις). Ενώ οι γενικοί κανόνες, η κατηγόρια κανόνων που εµπερικλείει όλες τις άλλες κατηγόριες κανόνων, θα µπορούσαν να υλοποιήσουν όλους τους άλλους, στην RuleML εισάγεται εξειδικευµένη σύνταξη για κάθε µια από αυτές τις κατηγόριες. Οι ακόλουθες συντάξεις, χρησιµοποιούνται µόνο για την προκαταρκτική δόµηση των διάφορων κατηγόριων (για παράδειγµα, προγραµµατίζεται να επιτραπεί η εµφώλευση and/or εκτός από τις απλές συζεύξεις στη συνθήκη των κανόνων): Αντιδραστικοί κανόνες: <react> <_event> συµβάν </_event> <_body> <and> συνθήκη1... συνθήκηn </and> </_body> <_head> ενέργεια </_head> </react> µπορεί να απλοποιηθεί ως: <rule> <_event> συµβάν </_event> <_body> <and> συνθήκη1... συνθήκην </and> </_body> <_head> ενέργεια </_head> <_foot> άδειο </_foot> </rule> Κανόνες µετασχηµατισµού: <trans> <_head> συµπέρασµα </_head> <_body> 30

31 <and> συνθήκη1... συνθήκην </and> </_body> <_foot> τιµή </_foot> </trans> µπορεί να απλοποιηθεί ως: <rule> <_event> active </_event> <_body> <and> συνθήκη1... συνθήκην </and> </_body> <_head> συµπέρασµα </_head> <_foot> τιµή </_foot> </rule> Κανόνες παραγωγής: <imp> <_head> συµπέρασµα </_head> <_body> <and> συνθήκη1... συνθήκην </and> </_body> </imp> µπορεί να απλοποιηθεί ως: <trans> <_head> συµπέρασµα </_head> <_body> <and> συνθήκη1... συνθήκην </and> </_body> <_foot> true </_foot> </trans> Γεγονότα: <fact> <_head> συµπέρασµα </_head> </fact> µπορεί να απλοποιηθεί ως: <imp> <_head> συµπέρασµα </_head> <_body> <and> </and> </_body> 31

32 </imp> Ερωτήσεις: <query> <_body> <and> συνθήκη1... συνθήκηn </and> </_body> </query> µπορεί να απλοποιηθεί ως: <imp> <_body> <and> συνθήκη1... συνθήκηn </and> </_body> <_head> bindings( var1,..., vark ) </_head> </imp> Περιορισµοί ακεραιότητας: <ic> <_body> <and> συνθήκη1... συνθήκηn </and> </_body> </ic> µπορεί να απλοποιηθεί ως: <query kind="closed"> <_body> <and> συνθήκη1... συνθήκηn </and> </_body> </query> Μπορούµε τώρα να έχουµε µια ακριβέστερη αντίληψη όσον αφορά την κατεύθυνση εφαρµογής για τις διάφορες κατηγορίες κανόνων: Οι αντιδραστικοί κανόνες µπορούν να εφαρµοστούν µόνο σε ορθή κατεύθυνση µε ένα φυσικό τρόπο, ελέγχοντας/παρατηρώντας γεγονότα/όρους και εκτελώντας µια ενέργεια εάν και όταν όλα τα γεγονότα/όροι αναγνωριστούν/ισχύουν. Για τους κανόνες µετασχηµατισµού, προτιµάται συνήθως η ανάστροφη κατεύθυνση. 32

33 Οι κανόνες εξαγωγής συµπερασµάτων µπορούν να εφαρµοστούν εξίσου µε ορθή ή ανάστροφη κατεύθυνση, µε την τελευταία να σηµαίνει ότι η απόδειξη ενός στόχου (συµπέρασµα) ανάγεται στις αποδείξεις όλων των υποστόχων του (προϋπόθεσης). Επειδή σε διαφορετικές καταστάσεις, διαφορετικές εφαρµογές κατεύθυνσης κανόνων παραγωγής µπορεί να είναι βέλτιστες (ορθή, ανάστροφη ή µικτή), η RuleML δεν περιορίζεται σε καµία από αυτές. Για τα γεγονότα ή τις "µοναδιαίες προτάσεις" (unit clauses) δεν υπάρχει η έννοια της κατεύθυνσης εφαρµογής. Για τις ερωτήσεις υπάρχει η ακόλουθη έννοια κατεύθυνσης εφαρµογής: σαν στόχοι από πάνω προς τα κάτω (top-down), αποδεικνύονται ανάστροφα. Αλλά µπορούν επίσης να αποδειχθούν µε ορθή κατεύθυνση µέσω «κατευθυνόµενης από στόχους» (goal-directed) από κάτω προς τα επάνω (bottom-up) επεξεργασίας. Οι περιορισµοί ακεραιότητας (integrity constraints) είναι συνήθως ορθά προσανατολισµένοι (forward-oriented), δηλαδή ενεργοποιούνται από τις ανανεώσεις των γεγονότων (updated events), κυρίως για λόγους αποδοτικότητας. Αλλά µπορούν αντ αυτού να είναι ανάστροφα προσανατολισµένοι (backward oriented), προσπαθώντας να αποδείξουν την συνέπεια ή την ασυνέπεια τηρώντας ορισµένους όρους (χωρίς ανάγκη αναγνώρισης οποιουδήποτε γεγονότος) [3] Εισαγωγή στην Αντικειµενοστρεφή RuleML Η αντικειµενοστραφής RuleML (OO RuleML) είναι συνδυασµός τριών χαρακτηριστικών που επεκτείνουν την βασική σύνταξη της RuleML: 1. Οι ρόλοι που ορίζονται από τον χρηστή παρέχουν µια αναπαράσταση που θυµίζει τις σχισµές (slots) των πλαισίων. Οι ρόλοι παρέχουν την δυνατότητα ύπαρξης ορισµάτων σε άτοµα ή σύνθετους όρους στα οποία η σειρά δεν παίζει ρόλο. 2. Η χρήση προσδιοριστών URI στα γεγονότα και στους κανόνες δίνει την δυνατότητα χρήσης τους ως αντικείµενα στο Web. 3. Οι όροι και οι µεταβλητές µπορούν να έχουν προκαθορισµένο τύπο, µέσω της αναφοράς του τύπου τους σε κάποια οντολογία του Web εκφρασµένη π.χ σε RDF Schema. 33

34 Η αντικειµενοστραφής RuleML θα µπορούσε να χαρακτηριστεί σαν συνδυασµός τριών υπογλωσσών, οι οποίες υλοποιούν τα παραπάνω χαρακτηριστικά: 1. Μια υπογλώσσα που θα µπορούσαµε να ονοµάσουµε αντικειµενοκεντρική RuleML (Object-Centered RuleML). Αυτό κάνει τους ρόλους (χαρακτηριστικά, ιδιότητες, κλειδιά ή σχισµές) του συντακτικού επίπεδου συστήµατος της RuleML, διαθέσιµα σαν συντακτικό επιπέδου χρήστη, δηµιουργώντας µια υπογλώσσα µε σχισµές, σε αντίθεση µε την προηγούµενη σήµανση στην οποία έπαιζε ρόλο η σειρά των ορισµάτων. 2. Μια υπογλώσσα που παρέχει ταυτότητα αντικειµένων, µέσω προσδιοριστών URI. 3. Μια υπογλώσσα για πρόσβαση σε ιεραρχίες τύπων-κλάσεων. Συνδυάζοντας τις τρεις αυτές υπογλώσσες, φτάνουµε στην αντικειµενοστραφή RuleML, την οποία θα µπορούσαµε να ονοµάσουµε και πλαισιακή RuleML (Frame RuleML). H αντικειµενοστραφής RuleML επιτρέπει το είδος της «µοντελοποίησης αντικειµένων», όπως εµφανίζεται στις Συµπερασµατικές Αντικειµενοστραφείς Βάσεις εδοµένων (Deductive Object-Oriented Databases-DOOD) και τα επεκταµένα µε αντικείµενα συστήµατα λογικού προγραµµατισµού (Life, F-Logic, TRIPLE), στην RuleML. Η υπογλώσσα µε σχισµές, απαιτεί πολύ µικρές αλλαγές στα DTDs / Schemas της υπάρχουσας βασικής RuleML. Αυτό επιτρέπει να αναµιγνύονται η βασική και αντικειµενοστραφής αναπαραστάσεις [42] Η Βασική Αντικειµενοστρεφής Γλώσσα RuleML Το ακόλουθο είναι ένα παράδειγµα ενός κανόνα εξαγωγής συµπερασµάτων σε βασική RuleML, όπου η θέση των ορισµάτων έχει σηµασία, όπως π.χ στην Prolog: <imp> <_head> <atom> <_opr><rel>own</rel></_opr> <var>person</var> <var>object</var> </atom> </_head> <_body> <and> <atom> 34

35 <_opr><rel>buy</rel></_opr> <var>person</var> <var>merchant</var> <var>object</var> </atom> <atom> <_opr><rel>keep</rel></_opr> <var>person</var> <var>object</var> </atom> </and> </_body> </imp> Με τις ιδιότητες (slots) γραµµένες σαν <_slot><ind>slotname</ind>slotfiller</_slot>, ο ίδιος ο κανόνας µπορεί να αναπαρασταθεί στην αντικειµενοστραφή RuleML ως εξής: <imp> <_head> <atom> <_opr><rel>own</rel></_opr> <_slot><ind>owner</ind><var>person</var></_slot> <_slot><ind>item</ind><var>object</var></_slot> </atom> </_head> <_body> <and> <atom> <_opr><rel>buy</rel></_opr> <_slot><ind>buyer</ind><var>person</var></_slot> <_slot><ind>seller</ind><var>merchant</var></_slot> <_slot><ind>item</ind><var>object</var></_slot> </atom> <atom> <_opr><rel>keep</rel></_opr> <_slot><ind>keeper</ind><var>person</var></_slot> <_slot><ind>item</ind><var>object</var></_slot> </atom> </and> </_body> </imp> Σε αυτήν την έκδοση της αντικειµενοστραφούς RuleML, τα πρώην θεσιακά ορίσµατα (positional arguments), έχουν µετατραπεί σε ορίσµατα ιδιοτήτων (slotted arguments). Παρατηρούµε ότι σε διαφορετικές σχέσεις η ίδια µεταβλητή, π.χ person, µπορεί να χρησιµοποιηθεί σαν τιµή ή «γέµισµα» σχισµή (slot filler), για διαφορετικά 35

36 ονόµατα ιδιοτήτων (slot names), π.χ owner, buyer, και keeper. Επίσης η ίδια µεταβλητή, π.χ object, µπορεί να χρησιµοποιηθεί ως «γέµισµα» για το ίδιο όνοµα ιδιότητας π.χ item. O αρχικός RuleML κανόνας own θα µπορούσε επίσης να εκφραστεί στην αντικειµενοστραφή RuleML ως εξής: <imp> <_head> <atom> <_opr><rel>own</rel></_opr> <var>person</var> <var>object</var> <_slot><ind>value</ind><var>amount</var></_slot> <_slot><ind>region</ind><var>where</var></_slot> <_slot><ind>period</ind><var>when</var></_slot> </atom> </_head> <_body> <and> <atom> <_opr><rel>buy</rel></_opr> <var>person</var> <var>object</var> <_slot><ind>seller</ind><var>merchant</var></_slot> <_slot><ind>price</ind><var>amount</var></_slot> <_slot><ind>region</ind><var>where</var></_slot> <_slot><ind>period</ind><var>when</var></_slot> </atom> <atom> <_opr><rel>keep</rel></_opr> <var>person</var> <var>object</var> <_slot><ind>region</ind><var>where</var></_slot> <_slot><ind>period</ind><var>when</var></_slot> </atom> </and> </_body> </imp> Σε αυτήν την έκδοση της αντικειµενοστραφούς RuleML, όλες οι σχέσεις έχουν τα ίδια θεσιακά ορίσµατα (positional arguments), person και object, τα οποία χρησιµοποιούνται στις θέσεις 1 και 2, αντίστοιχα. Το πρώην 2 ο θεσιακό όρισµα, merchant, της συνθήκης buy, είναι τώρα ένα όρισµα ιδιότητας seller. Επίσης έχει προστεθεί ένα όρισµα ιδιότητας price, το οποίο µετατρέπεται σε ένα όρισµα ιδιότητας value στο συµπέρασµα. Όλες οι σχέσεις χρησιµοποιούν τα επιπλέον 36

37 ορίσµατα ιδιοτήτων region και period. Τέλος, µπορούν να προστεθούν περισσότερα ορίσµατα χωρίς να επηρεάσουν τις ερµηνείες οποιωνδήποτε υπαρχόντων ορισµάτων. 37

38 38

39 3 Το Σύστηµα Συνεπαγωγικών Κανόνων R-DEVICE για RDF εδοµένα 3.1 ΕΙΣΑΓΩΓΗ Για να δοθεί µια πιο πλήρης περιγραφή του τρόπου υποβολής ερωτήσεων και εξαγωγής συµπερασµάτων από RDF δεδοµένα είναι αναγκαία µια συνοπτική καταγραφή των όσων ήδη περιγράψαµε σε προηγούµενο κεφάλαιο. Το Σηµασιολογικό ιαδίκτυο, λοιπόν, που αποτελεί το επόµενο βήµα της εξέλιξης του ιαδικτύου [13], έχει ως στόχο τη βελτίωση της επικοινωνίας µεταξύ ανθρώπων και υπολογιστών. Για να επιτευχθεί αυτό, πρέπει να δοθεί στις πληροφορίες του ιαδικτύου καλά ορισµένο νόηµα. Μέχρι σήµερα, το σύνολο αυτών των πληροφοριών προορίζεται κυρίως για την παρουσίαση στους χρήστες και δε δίνεται βαρύτητα στην κατανόηση του περιεχοµένου τους από τις µηχανές. Από την άλλη πλευρά, είναι και δύσκολο να αυτοµατοποιηθούν οι διαδικασίες στο Web και εξαιτίας του τεράστιου όγκου των δεδοµένων είναι ακόµα πιο δύσκολη η διαχείριση τους µε συµβατικούς τρόπους. Η λύση που πρότεινε το WWW Consortium είναι η χρήση µεταδεδοµένων για την περιγραφή των πληροφοριών στο Web[5]. Η RDF (Resource Description Framework) δηµιουργήθηκε ακριβώς για την επεξεργασία µεταδεδοµένων, µε σκοπό να παρέχει διαλειτουργικότητα µεταξύ των εφαρµογών για την ανταλλαγή πληροφοριών που είναι κατανοητές από τις µηχανές [2]. 39

40 Η µεταφορά του περιεχοµένου των εγγράφων δεν αποτελεί παρά ένα πρώτο βήµα αξιοποίησης των δυνατοτήτων του Σηµασιολογικού ιαδικτύου. Επιπρόσθετα, είναι επιτακτική η δυνατότητα συλλογιστικής µε και για την διασκορπισµένη πληροφορία δια µέσου του WWW. Οι κανόνες παρέχουν τον φυσικό και κοινά αποδεκτό µηχανισµό για να εκτελέσουν αυτοµατοποιηµένη συλλογιστική, µε ώριµο και διαθέσιµο θεωρητικό και τεχνολογικό υπόβαθρο. Το παραπάνω αναγνωρίζεται ως Ζήτηµα Σχεδιασµού για το Σηµασιολογικό ιαδίκτυο, όπως ξεκάθαρα έχει δηλωθεί [2]. Παράδειγµα των όσων προηγήθηκαν, αποτελεί το πρόβληµα που σχετίζεται µε την ανάγκη των διαδικτυακών πυλών (Web Portals), όπως το Open Directory Project, για υποστήριξη από µηχανισµούς υποβολής ερωτήσεων και εξαγωγής συµπερασµάτων πάνω στις τεράστιου όγκου αποθήκες µεταδεδοµένων που διαθέτουν, έτσι ώστε να εντοπίζονται οι επιθυµητοί πόροι από το πλήθος των διαθέσιµων πληροφοριών. Οι κανόνες καθώς και οι γλώσσες σήµανσης κανόνων, όπως είναι η RuleML [3], θα παίξουν σηµαντικό ρόλο στην επιτυχία του Σηµασιολογικού ικτύου, ως µέσο σχεδιασµού εξαγωγής συµπερασµάτων, έκφρασης περιορισµών, καθορισµού πολιτικής, αντίδρασης σε γεγονότα/ αλλαγές, µετασχηµατισµού δεδοµένων, κα. Το ερώτηµα, όµως, σε όλα αυτά, είναι ποιος θα ήταν ο καλύτερος τρόπος εισαγωγής των κανόνων πέρα από τη θεωρητική τους προσέγγιση σε πρακτικό επίπεδο, στο σχεδιασµό και την υλοποίηση ενός συστήµατος µε συλλογιστική; Μία πολύ καλή δυνατότητα θα ήταν η επέκταση του µοντέλου RDF/RDFS µε την προσθήκη κανόνων. Η υλοποίηση, ενός τέτοιου συστήµατος, θα µπορούσε να προβεί στην κατασκευή µηχανισµών εξαγωγής συµπερασµάτων απευθείας πάνω στο RDF µοντέλο δεδοµένων. Παρόλα αυτά µία τέτοιου είδους προσέγγιση τείνει να απορρίψει δεκάδες, αποδοτικές και δυνατές µηχανές κανόνων. Για αυτόν το λόγο θα ακολουθήσουµε µια διαφορετική προσέγγιση: θα επαναχρησιµοποιήσουµε ένα υπάρχον σύστηµα κανόνων (CLIPS [6]), για την εξαγωγή συµπερασµάτων για RDF δεδοµένα. Παρόλα αυτά πριν τη χρήση ενός τέτοιου συστήµατος, θεωρείται απαραίτητος ο προσεκτικός σχεδιασµός του τρόπου διαχείρισης των RDF δεδοµένων και της RDF σηµασιολογίας. Εδώ, προκύπτει και η πρόκληση να µπορέσουν να επεκταθούν τα ήδη υπάρχοντα συστήµατα υποβολής ερωτήσεων και εξαγωγής συµπερασµάτων, ώστε να συµπεριλάβουν RDF δεδοµένα των οποίων η περιγραφική (descriptive) σηµασιολογία διαφέρει κατά πολύ από τη σηµασιολογία των υπαρχόντων συστηµάτων, π.χ. των 40

41 βάσεων δεδοµένων. Αποτελεί πρόκληση, λοιπόν, η αποτύπωση της περιγραφικής RDF σηµασιολογίας σε ένα παραδοσιακό µοντέλο δεδοµένων, µε σκοπό, βέβαια, την επαναχρησιµοποίηση παραδοσιακών συστηµάτων ερωτήσεων και εξαγωγής συµπερασµάτων. Σε αυτό το κεφάλαιο, θα παρουσιαστεί ένα συνεπαγωγικό αντικειµενοστραφές σύστηµα βάσεων γνώσης, που ονοµάζεται R-DEVICE, το οποίο µετασχηµατίζει τις RDF τριάδες σε αντικείµενα και χρησιµοποιεί µια συνεπαγωγική γλώσσα κανόνων για την υποβολή ερωτήσεων και την εξαγωγή συµπερασµάτων. Πιο συγκεκριµένα, το R-DEVICE υιοθετεί ένα καινοτόµο OO-RDF µοντέλο [7], το οποίο εισάγει RDF δεδοµένα στο σύστηµα παραγωγής κανόνων του CLIPS [6] µε τη µορφή αντικειµένων της COOL. Η βασική διαφορά ανάµεσα στο R-DEVICE και στο µοντέλο της RDF είναι ότι εδώ, οι ιδιότητες θεωρούνται ταυτόχρονα ως κανονικά αντικείµενα και ως ιδιότητες των αντικειµένων των διαδικτυακών πόρων. Έτσι, οι ιδιότητες των πόρων συγκεντρώνονται σε ένα αντικείµενο, µε αποτέλεσµα να υπάρχει βελτίωση της απόδοσης στην υποβολή ερωτήσεων σε σχέση µε την απόδοση που έχουν τα µοντέλα που βασίζονται σε τριάδες. Αυτό οφείλεται στο ότι τα περισσότερα συστήµατα αποθήκευσης και υποβολής ερωτήσεων, που βασίζονται στο µοντέλο των τριάδων, διαχωρίζουν τις ιδιότητες σε πολλές τριάδες κι έτσι απαιτούνται πολλές συνδέσεις (joins) µεταξύ τους για να απαντηθεί ένα ερώτηµα, ακόµη κι αν αυτό αφορά έναν µόνο πόρο. Από την άλλη, η περιγραφική σηµασιολογία (descriptive semantics) των δεδοµένων σε RDF µπορεί να απαιτεί τον δυναµικό επαναπροσδιορισµό των κλάσεων και των αντικειµένων ενός πόρου, κάτι το οποίο το διαχειρίζεται το R-DEVICE. Το R-DEVICE υποστηρίζει µια ευέλικτη γλώσσα [8] συνεπαγωγικών κανόνων, µε την οποία µπορούν να εκφραστούν πολύπλοκες ερωτήσεις για τη δοµή και τα δεδοµένα της RDF, όπως επίσης και γενικευµένες εκφράσεις µονοπατιού (generalized path expressions), διαστρωµατωµένη (stratified) άρνηση, αθροιστικές ερωτήσεις (aggregates), οµαδοποίηση (grouping) και ταξινόµηση (sorting), καθώς και ερωτήσεις µε µεταβλητές που εκτείνονται πάνω από κλάσεις και ονόµατα ιδιοτήτων, κάτι το οποίο µεταφράζεται σε οµάδες λογικών κανόνων πρώτης τάξης µε τη χρήση µεταδεδοµένων. Τέλος, δίνεται η δυνατότητα στους χρήστες είτε να χρησιµοποιούν τις έτοιµες συναρτήσεις του CLIPS, είτε να ορίζουν τις δικές τους συναρτήσεις. Εξετάζοντας πιθανές εφαρµογές για το R-DEVICE, το σύστηµα µπορεί να χρησιµοποιηθεί ως γλώσσα υποβολής ερωτήσεων πάνω σε µια RDF αποθήκη 41

42 δεδοµένων. Τα δεδοµένα θα φορτώνονται αρχικά στο R-DEVICE και οι τελικοί χρήστες θα θέτουν ερωτήµατα (λογικά προγράµµατα) στο σύστηµα, είτε µέσω µιας διεπαφής τύπου HTML, είτε χρησιµοποιώντας το R-DEVICE ως διαδικτυακή υπηρεσία, µέσω SOAP µηνυµάτων. Οποιεσδήποτε αλλαγές στη βάση των RDF µεταδεδοµένων θα φορτώνονται και στο R-DEVICE. Μια άλλη χρήση του συστήµατος θα µπορούσε να είναι µια άµεση υπηρεσία υποβολής ερωτήσεων RDF, µε µόνο περιορισµό ότι τα RDF έγγραφα δεν θα πρέπει να είναι πολύ µεγάλα, καθώς η συντακτική ανάλυση µεγάλων RDF/XML εγγράφων σε πραγµατικό χρόνο (run-time) κι έπειτα το φόρτωµά τους στο R-DEVICE θα οδηγούσε σε µείωµένη απόδοση. 3.2 ΣΧΕΤΙΚΑ ΣΥΣΤΗΜΑΤΑ Υπάρχουν πολλά συστήµατα που υποστηρίζουν την αποθήκευση και την υποβολή ερωτήσεων σε RDF δεδοµένα. Μια από τις πιο πλήρεις ανασκοπήσεις βρίσκεται στη διεύθυνση Εδώ, παρουσιάζονται κάποια από τα πιο αντιπροσωπευτικά συστήµατα και συγκρίνονται µε το R-DEVICE. Η πιο «διάσηµη» γλώσσα υποβολής ερωτήσεων σε RDF είναι η RQL [9]. Η RQL είναι γλώσσα για την υποβολή ερωτήσεων σε περιγραφικές βάσεις RDF δεδοµένων παρόµοια σε σύνταξη µε την OQL (για αντικειµενοστραφείς βάσεις δεδοµένων) ή την SQL (για σχεσιακές βάσεις δεδοµένων). Βασίζεται σε ένα τυπικό (formal) µοντέλο γράφων που επιτρέπει την ερµηνεία πολλαπλών υπερτιθέµενων περιγραφών. Επίσης, επιτρέπει την αναπαράσταση των ιδιοτήτων ως αυτόνοµες οντότητες και εισάγει έναν άµεσο µηχανισµό απόδοσης τιµών σε αφηρηµένους γράφους, κάτι που επιτρέπει την πολλαπλή κατηγοριοποίηση των πόρων. Στην RQL, οι χρήστες µπορούν να συνδυάσουν τις ερωτήσεις για τις οντολογίες και τα δεδοµένα, ενώ παράλληλα υποστηρίζονται και γενικευµένες εκφράσεις µονοπατιού µε µεταβλητές που εµφανίζονται ταυτόχρονα σε κλάσεις και ιδιότητες. Επιπλέον, υποστηρίζει οµαδοποιηµένες ερωτήσεις και τύπους δεδοµένων σε XML, αθροιστικές συναρτήσεις και αριθµητικούς υπολογισµούς σε τιµές δεδοµένων. Η RQL είναι η γλώσσα υποβολής ερωτήσεων σε δύο συστήµατα αποθήκευσης, το ICS-FORTH RDF Suite [10] και το Sesame [11]. Αντίθετα µε την RQL, το R-DEVICE βασίζεται σε ένα αντικειµενοστραφές µοντέλο δεδοµένων. Αν και το µοντέλο δεδοµένων της RQL δεν είναι κι αυτό καθαρά 42

43 µοντέλο τριάδων, απαιτεί κι αυτό εκτεταµένους συνδυασµούς (joins) για την συλλογή των ιδιοτήτων ενός πόρου, επειδή τα στιγµιότυπα των ιδιοτήτων και τα στιγµιότυπα των πόρων αποθηκεύονται σε διαφορετικούς σχεσιακούς πίνακες στη βάση δεδοµένων. Επιπλέον το R-DEVICE υποστηρίζει την οµαδοποίηση δοµών για τις αθροιστικές συναρτήσεις, συναρτήσεις ταξινόµησης ([12]), συναρτήσεις χρήστη (µέσω του CLIPS), κανόνες εξαγωγής συµπερασµάτων που ορίζονται από τους χρήστες και όψεις (views) των δεδοµένων. Μια άλλη γλώσσα είναι η SquishQL, η οποία είναι µια γλώσσα υποβολής ερωτήσεων µέσω διαχείρισης γράφων για RDF δεδοµένα. Βασίζεται σε ένα µηχανισµό αντιστοίχισης τµηµάτων γράφων, που χρησιµοποιεί δοµές παρόµοιες µε εκείνες της SQL για να αναπαραστήσει το συντακτικό του RDF γράφου. Αυτό το µοντέλο υποβολής ερωτήσεων βασίζεται σε ένα καθαρό µοντέλο τριάδων, όπου κάθε τµήµα µιας τριάδας µπορεί να είναι µεταβλητή ή σταθερά. Επιπλέον, η SquishQL υποστηρίζει συναρτήσεις φιλτραρίσµατος µε την µορφή δυαδικών (boolean) εκφράσεων πάνω στις µεταβλητές. Η SquishQL έχει µια αξιοσηµείωτη λειτουργικότητα όσο αφορά την έκφραση ερωτήσεων σε RDF και έχει θέσει τις βάσεις για πολλές από τις RDF γλώσσες υποβολής ερωτήσεων, όπως η RDQL, που είναι τµήµα του συστήµατος Jena. Ωστόσο, η SquishQL δεν υποστηρίζει τη µεταβατικότητα στο µήκος του µονοπατιού ή άλλες µορφές µονοπατιών αγνώστου µήκους στους γράφους. Επιπλέον, σε σύγκριση µε το R- DEVICE πρέπει να ληφθούν υπόψη τα προβλήµατα απόδοσης που παρουσιάζουν τα συστήµατα που βασίζονται σε τριάδες και ότι η SquishQL δεν υποστηρίζει διαδικασίες άθροισης, οµαδοποίησης, ταξινόµησης, συναρτήσεις ορισµένες από τους χρήστες, κανόνες εξαγωγής συµπερασµάτων και όψεις δεδοµένων. Μια άλλη περίπτωση είναι η Versa, που είναι µια εξελισσόµενη γλώσσα, που βασίζεται σε γράφους για την υποβολή ερωτήσεων στις οµάδες των RDF δηλώσεων. Τα κυριότερα χαρακτηριστικά της είναι η διάσχιση των τόξων, η επεξεργασία του περιεχοµένου των κόµβων και γενικά οι υπολογισµοί εκφράσεων. Στην πραγµατικότητα, οι µεταβατικές (transitive) εκφράσεις αποτελούν τον πυρήνα των χαρακτηριστικών της Versa, αφού επιτρέπουν το ταίριασµα των προτύπων στο µοντέλο, σεβόµενα τη δοµή τους (όπως συµβαίνει και στους κατευθυνόµενους γράφους). Για να ενισχυθεί η λειτουργικότητα που απαιτείται, η Versa παρέχει ενσωµατωµένες συναρτήσεις, παρόµοιες σε υφή µε την LISP. Η Versa παρέχει και 43

44 άλλες ευκολίες όπως η δυαδική λογική και ένα σύνολο από διαδικασίες αθροίσµατος, αντιστοίχιση τµηµάτων συµβολοσειρών και χειρισµούς τύπων δεδοµένων. Ωστόσο, υστερεί στην υποστήριξη αριθµητικών υπολογισµών, γενικευµένων εκφράσεων µονοπατιού και συναρτήσεων οµαδοποίησης. Επιπλέον, παρόµοια µε τις προηγούµενες RDF γλώσσες υποβολής ερωτήσεων που εξετάστηκαν, δεν υποστηρίζει συναρτήσεις ορισµένες από τους χρήστες, κανόνες εξαγωγής συµπερασµάτων και όψεις. Τέλος, η TRIPLE είναι µια RDF γλώσσα υποβολής ερωτήσεων, εξαγωγής συµπερασµάτων και µετασχηµατισµών, µε επίπεδα και αρθρωτή µορφή, η οποία βασίζεται στη λογική Horn και στην F-Logic. Στόχος της είναι να υποστηρίξει εφαρµογές που χρειάζονται RDF συλλογισµούς και µετασχηµατισµούς, δηλαδή να παρέχει µηχανισµούς για την υποβολή ερωτήσεων σε διαδικτυακούς πόρους µε δηλωτικό τρόπο. Ωστόσο, αντίθετα από πολλές RDF γλώσσες υποβολής ερωτήσεων, η TRIPLE επιτρέπει να ορίζεται η σηµασιολογία γλωσσών ανώτερου επιπέδου µε κανόνες. Όταν ο ορισµός της σηµασιολογίας της γλώσσας δεν γίνεται εύκολα µε κανόνες (όπως στην DAML/OIL) η TRIPLE παρέχει πρόσβαση σε εξωτερικά προγράµµατα, όπως οι κατηγοριοποιητές περιγραφικής λογικής (description logics classifiers). Η TRIPLE επιτρέπει την χρήση εκφράσεων µονοπατιού, αλλά όχι σε γενικευµένη µορφή, δηλαδή το µήκος του µονοπατιού και η σύνθεσή του πρέπει να είναι εξ ολοκλήρου γνωστά. Επιπλέον, συγκρινόµενη µε το R-DEVICE, η TRIPLE δεν υποστηρίζει διαδικασίες άθροισης, οµαδοποίηση, ταξινόµηση και συναρτήσεις ορισµένες από τον χρήστη. Οι κανόνες στην TRIPLE χρησιµοποιούνται για παροδική υποβολή ερωτήσεων και δεν µπορούν να χρησιµοποιηθούν για τον ορισµό και τη διατήρηση όψεων. Όπως υποδηλώνει και το όνοµά της, το µοντέλο δεδοµένων και υποβολής ερωτήσεων της TRIPLE βασίζεται στις τριάδες, κάτι που σηµαίνει πως πρέπει να λαµβάνεται υπόψη και το θέµα της απόδοσης [1]. 3.3 ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΤΟΥ R-DEVICE Το σύστηµα R-DEVICΕ αποτελείται από τα ακόλουθα βασικά στοιχεία: τον φορτωτή κανόνων προγράµµατος (Rule Program Loader) τον RDF φορτωτή/ µεταφραστή (RDF Triple Loader/ Translator) τον µεταφραστή κανόνων (Deductive Rule Translator) τον RDF εξαγωγέα (RDF Extractor) 44

45 Ιδιαίτερη σηµασία έχουν τα δύο κεντρικά. (Σχήµα 3.1) Σχήµα 3.1. Η αρχιτεκτονική της R-DEV ICE Ο φορτωτής κανόνων προγράµµατος δέχεται από τον χρήστη µία URL (ή ένα τοπικό αρχείο) που περιέχει ένα πρόγραµµα κανόνων σε RuleML σηµειογραφία [5]. Το RuleML έγγραφο µπορεί επίσης να περιέχει τα URLs των εισαγόµενων RDF εγγράφων πάνω στα οποία θα τρέξει το πρόγραµµα κανόνων, που στη συνέχεια κατευθύνονται στον RDF φορτωτή. Το RuleML πρόγραµµα µεταφράζεται στην τοπική σηµειογραφία κανόνων του R-DEVICE χρησιµοποιώντας τον Xalan XLST επεξεργαστή και ένα XLST έγγραφο περιγραφής µετασχηµατισµών. Στη συνέχεια το R-DEVICE πρόγραµµα κανόνων, αποστέλλεται στον µεταφραστή κανόνων. Ο RDF φορτωτής τριάδων δέχεται από τον φορτωτή κανόνων προγράµµατος (ή απευθείας από τον χρήστη) αιτήσεις για φόρτωση συγκεκριµένων RDF εγγράφων, κατεβάζει τα έγγραφα από το διαδίκτυο και χρησιµοποιεί τον ARP συντακτικό αναλυτή για να τα µεταφράσει σε τριάδες σύµφωνα µε τη µορφή τριπλετών N-triple. 45

46 Σηµειώνεται ότι τα RDF/XML και RDF/N triple αρχεία αποθηκεύονται τοπικά για πιθανή µελλοντική χρήση. Έπειτα, όλες οι τριάδες που έχουν παραχθεί, φορτώνονται στη µνήµη, ενώ οι πόροι που έχουν διεύθυνση URI #anchorid ή URI/anchorID µετασχηµατίζονται σε namespace:anchorid αν η διεύθυνση URI ανήκει στα namespaces που είχαν αρχικά συλλεχθεί, µε στόχο να ελαττωθεί ο απαιτούµενος χώρος µνήµης. Οι µετασχηµατισµένες RDF τριάδες τροφοδοτούν τον RDF µεταφραστή τριάδων, ο οποίος τις µετατρέπει σε αντικείµενα της COOL ακολουθώντας τον αλγόριθµο απεικόνισης που περιγράφεται αναλυτικά παρακάτω. Ας σηµειωθεί πως όταν µία RDF τριάδα µεταφραστεί, αυτόµατα διαγράφεται. Η φόρτωση/ µετάφραση των N-Triples µπορεί να πραγµατωθεί είτε µε µοναδιαίο βήµα είτε µε επαναληπτικό (streaming) τρόπο, όπου η κάθε επανάληψη θα φορτώνει/ µεταφράζει, µόνο ένα (καθορισµένο από το χρήστη) τµήµα από το σύνολο των τριάδων. Πειραµατικά αποτελέσµατα αποδεικνύουν µία βέλτιστη συµπεριφορά, µε κατακερµατισµό στις περίπου τριάδες. Ο µεταφραστής κανόνων δέχεται από τον χρήστη ένα σύνολο από κανόνες του R-DEVICE και τους µετατρέπει σε ένα σύνολο κανόνων παραγωγής του CLIPS. Οι µεταφρασµένοι κανόνες φυλάσσονται τοπικά, έτσι ώστε την επόµενη φορά που θα χρειαστούν, να είναι δυνατή η άµεση φόρτωσή τους, αυξάνοντας έτσι τη ταχύτητα απόκρισης. Μετά το τέλος της µετάφρασης, το CLIPS τρέχει τους κανόνες παραγωγής και συµπεραίνει τα αντικείµενα που συγκροτούν το αποτέλεσµα του αρχικού προγράµµατος κανόνων (ερώτηση χρήστη). Τελικά, τα αποτελέσµατα-αντικείµενα παρουσιάζονται στον χρήστη µε την µορφή ενός RDF εγγράφου µέσω του υποσυστήµατος εξαγωγής RDF (RDF extractor). 3.4 Το Μοντέλο Απεικόνισης RDF εδοµένων σε Αντικείµενα Εδώ, περιγράφεται ο τρόπος µε τον οποίο το σύνολο των RDF δεδοµένων παίρνει αντικειµενοστραφή µορφή και εκφράζεται µέσω της COOL, της αντικειµενοστραφούς γλώσσας του CLIPS. Το σχήµα 3.2 δείχνει τα ανώτερα επίπεδα της ιεραρχίας των κλάσεων στο σύστηµα R-DEVICE. Η κλάση USER είναι µια κλάση που ορίζεται από την COOL και χρησιµοποιείται ως η κορυφή της ιεραρχίας των κλάσεων που ορίζουν οι χρήστες. Η κλάση RDF-CLASS είναι η κορυφή της ιεραρχίας των κλάσεων του R- 46

47 DEVICE, και ορίζει τις ιδιότητες του συστήµατος και τις µεθόδους που είναι κοινές για όλες τις RDF κλάσεις. USER RDF-CLASS rdfs:resource rdfs:class rdf:property rdf:statement rdfs:container Σχήµα 3.2. Η ιεραρχία των κλάσεων στο R-DEVICE Τα κύρια χαρακτηριστικά αυτής της απεικόνισης είναι τα ακόλουθα Πόροι και Κλάσεις Οι κλάσεις ως διαδικτυακοί πόροι αναπαρίστανται ταυτόχρονα ως κλάσεις της COOL και ως άµεσα ή έµµεσα στιγµιότυπα της κλάσης rdfs:class. Αυτή η δυαδική αναπαράσταση χρειάζεται γιατί η COOL δεν υποστηρίζει meta-classes, έτσι το ρόλο τους παίζει το rdfs:class. Τα ονόµατα των κλάσεων ακολουθούν τη µορφή namespace:anchorid, ενώ τα στιγµιότυπα που αντιστοιχούν σε αυτές έχουν έναν προσδιοριστή αντικειµένου µε το ίδιο όνοµα, µέσα σε αγκύλες. Η εικόνα 3.2 δείχνει τον ορισµό της rdfs:resource ταυτόχρονα ως κλάσης (υποκλάσης της RDF- CLASS) και ως στιγµιότυπο της κλάσης rdfs:class. Παρατηρούµε πως όταν µια κλάση πόρου δεν έχει σαφή υπερκλάση γίνεται υποκλάση της rdfs:resource. Τα ζητήµατα κληρονοµικότητας των κλάσεων δεν αντιµετωπίζονται στο R- DEVICE, καθώς βασιζόµαστε στον µηχανισµό κληρονοµικότητας κλάσεων του COOL. Όλοι οι πόροι αναπαρίστανται ως COOL αντικείµενα και αποτελούν άµεσα ή έµµεσα στιγµιότυπα της κλάσης rdfs:resource. Ο προσδιοριστής για κάθε αντικείµενο του διαδικτυακού πόρου είναι µοναδικός και παράγεται από το σύστηµα. Η URI διεύθυνση των πόρων καταχωρείται στην ιδιότητα uri. Σηµειώνεται ότι οι πηγές που η διεύθυνσή τους έχει µορφή namespace:label δεν καταχωρούν τη διεύθυνση τους στην ιδιότητα uri, καθώς η διεύθυνσή τους µπορεί να ανακατασκευαστεί από την URI του namespace. Το R-DEVICE επίσης αναπαριστά τα 47

48 έγγραφα που περιέχουν τα namespaces µε τη µορφή αντικειµένων-πόρων (resource objects), καταχωρώντας διεύθυνση τους στην ιδιότητα uri. Η εικόνα 3.2 δείχνει τον ορισµό του rdfs namespace ως αντικείµενο-πόρος. (defclass RDF-CLASS (is-a USER) (role concrete) (pattern-match reactive) (slot uri (type STRING)) (slot source (type SYMBOL) (default rdf)) (multislot class-refs (type SYMBOL) (storage shared) (access readonly)) (multislot aliases (type SYMBOL) (storage shared) (access readonly))) (defclass rdfs:resource (is-a RDF-CLASS) (multislot rdfs:isdefinedby (type INSTANCE-NAME)) (multislot rdf:type (type INSTANCE-NAME)) (multislot rdf:value) (multislot rdfs:comment (type LEXEME)) (multislot rdfs:label (type LEXEME)) (multislot rdfs:seealso (type INSTANCE-NAME)) (multislot class-refs (source composite) (default rdfs:isdefinedby rdfs:resource rdf:type rdfs:class rdfs:seealso rdfs:resource))) (multislot aliases (source composite) (default rdfs:seealso rdfs:isdefinedby)))) (definstances rdf_classes... ([rdfs] of rdfs:resource (rdfs:isdefinedby [rdfs]) (rdf:type [rdfs:resource]) (uri " (rdfs:comment "RDF Schema Vocabulary namespace") (rdfs:label rdfs) (rdfs:seealso [rdfs-more]))... ([rdfs:resource] of rdfs:class (rdfs:isdefinedby [rdfs]) (rdf:type [rdfs:class]) (rdfs:label Resource) (rdfs:comment "The class resource"))... ([rdfs:isdefinedby] of rdf:property (rdfs:isdefinedby [rdfs]) (rdf:type [rdf:property]) (rdfs:domain [rdfs:resource]) (rdfs:range [rdfs:resource]) (rdfs:subpropertyof [rdfs:seealso]) (rdfs:label isdefinedby) (rdfs:comment "Namespace of a resource"))... ) Σχήµα 3.3. Ορισµοί στοιχείων της RDF σε COOL 48

49 Η κλάση στην οποία ανήκει ένα αντικείµενο-πόρος εξαρτάται από την ιδιότητα rdf:type του πόρου. Όταν ένας διαδικτυακός πόρος έχει πολλές ιδιότητες rdf:type, τότε το αντικείµενο-πόρος ανήκει σε πολλαπλές κλάσεις. Αυτό όµως, είναι κάτι που η COOL δεν µπορεί να το αναπαραστήσει άµεσα (όπως άλλωστε και οι περισσότερες αντικειµενοστραφείς γλώσσες), οπότε δηµιουργείται µια εικονική κλάση η οποία είναι υποκλάση όλων των κλάσεων στις οποίες πρέπει να ανήκει το αντικείµενο. Έτσι, το αντικείµενο-πόρος ορίζεται ως στιγµιότυπο αυτής της κλάσης. Η ιδιότητα source υποδεικνύει πότε το αντικείµενο είναι ένας κανονικός RDF πόρος ή ένα αντικείµενο που παράγεται από το σύστηµα. Για να γίνουν πιο κατανοητά τα παραπάνω, ας θεωρήσουµε τις ακόλουθες RDF τριάδες που ορίζουν µια πηγή ex:a µε δύο τύπους: ex:a rdf:type ex:p. ex:a rdf:type ex:q. Το R-DEVICE θα δηµιουργήσει µια εικονική κλάση gen1, η οποία είναι υποκλάση των δύο κλάσεων ex:q και ex:p, όπως φαίνεται στο σχήµα 3.4. Το αντικείµενο ex:a γίνεται ένα στιγµιότυπο αυτής της κλάσης, ωστόσο, στην ιδιότητα rdf:type αυτού του αντικειµένου, κρατάµε τους αρχικούς τύπους και όχι την κλάση που δηµιούργησε το σύστηµα. Επιπλέον, τα µεταδεδοµένα της κλάσης gen1 (στιγµιότυπο [gen1] της κλάσης rdfs:class) καταχωρούν στην ιδιότητα system ότι αυτή είναι µια ιδιότητα που δηµιούργησε το σύστηµα. (defclass gen1 (is-a ex:q ex:p)... ) ([gen1] of rdfs:class (source system) (rdf:type [gen1])) ([ex:a] of gen1 (source rdf) (rdf:type [ex:q] [ex:p])) Σχήµα 3.4. Παράδειγµα ενός πόρου δύο τύπων στο R-DEVICE 49

50 3.4.2 Ιδιότητες Οι ιδιότητες είναι άµεσα ή έµµεσα στιγµιότυπα της κλάσης rdf:property. Επιπλέον, οι ιδιότητες των οποίων το πεδίο ορισµού είναι µια κλάση ορίζονται ως ιδιότητες (slots attributes) της κλάσης. Η εικόνα 3.3 δείχνει την ιδιότητα rdfs:isdefinedby της οποίας πεδίο ορισµού είναι η κλάση rdfs:resource. Οι τιµές των ιδιοτήτων καταχωρούνται στα αντικείµενα-πόρους, ως slots. Στην πραγµατικότητα, οι ιδιότητες της RDF είναι πολλαπλών τιµών, δηλαδή καταχωρούν λίστες τιµών επειδή µια πηγή µπορεί να είναι πολλές φορές συνδεδεµένη µε την ίδια ιδιότητα (µε διαφορετική τιµή κάθε φορά φυσικά). Όταν µια ιδιότητα έχει πολλαπλά πεδία ορισµού, τότε παράγεται και πάλι µια εικονική κλάση, η οποία είναι υποκλάση όλων των κλάσεων του πεδίου ορισµού. Η ιδιότητα γίνεται τότε slot αυτής της εικονικής κλάσης, εφόσον τα αντικείµενα-πόροι που έχουν την ιδιότητα αυτή θα πρέπει να είναι αντικείµενα όλων των κλάσεων του πεδίου. Για παράδειγµα, το παρακάτω σύνολο τριάδων ορίζει µια νέα ιδιότητα ex:property1 µε δύο πεδία ορισµού, τις κλάσεις ex:p και ex:q. Το παρακάτω πλαίσιο (σχήµα 3.5) δείχνει πώς δηµιουργείται από το σύστηµα µια εικονική κλάση gen1 για να «φιλοξενήσει» αυτή την ιδιότητα. ex:p rdf:type rdfs:class. ex:q rdf:type rdfs:class. ex:property1 rdf:type rdf:property. ex:property1 rdfs:domain ex:p. ex:property1 rdfs:domain ex:q. Οι ιδιότητες που δεν έχουν περιορισµούς στο πεδίο ορισµού πρέπει να συνδέονται µε όλα τα αντικείµενα-πόρους, οπότε πρέπει να είναι ιδιότητες της κλάσης rdfs:resource, που βρίσκεται στην κορυφή της ιεραρχίας. Ωστόσο, η κλάση rdfs:resource ορίζεται από το σύστηµα, πράγµα που σηµαίνει πως σε αυτή την περίπτωση πρέπει να επαναοριστεί δυναµικά. Αυτό οφείλεται στην περιγραφική σηµασιολογία της RDF, σύµφωνα µε την οποία µπορούν να προστεθούν νέες ιδιότητες σε ήδη υπάρχουσες κλάσεις και το R-DEVICE το επιτυγχάνει αυτό µε το να επαναορίζει τις κλάσεις τη στιγµή της εκτέλεσης (run-time). 50

51 ([ex:property1] of rdf:property (rdf:type [rdf:property]) (rdfs:domain [gen1])) ([gen1] of rdfs:class (source system) (rdf:type [gen1])) (defclass gen1 (is-a ex:p ex:q) (multislot ex:property1)... ) Σχήµα 3.5. Παράδειγµα µίας ιδιότητας δύο πεδίων στο R-DEVICE Ο δυναµικός επαναορισµός των κλάσεων απαιτεί να γίνεται αποθήκευση σε ένα αρχείο όλων των στοιχείων του CLIPS (συναρτήσεις, κανόνες, στιγµιότυπα, υποκλάσεις) που εξαρτώνται από την κλάση που επαναορίζεται, να καταργούνται τα στοιχεία αυτά (και η κλάση), να επαναορίζεται η κλάση, προσθέτοντας τη νέα ιδιότητα, και τέλος, να επανατοποθετούνται όλα τα αρχικά στοιχεία στη βάση, ανακαλώντας τα από το αρχείο. Αξίζει εδώ να τονιστεί ότι το R-DEVICE δεν απορρίπτει καµία τριάδα, καθώς οποιαδήποτε τριάδα θεωρείται σωστή, σύµφωνα µε τη φιλοσοφία του µοντέλου RDF. Ο περιορισµός rdfs:range των ιδιοτήτων ορίζει τον τύπο που έχουν οι τιµές των ιδιοτήτων. Πιο συγκεκριµένα, όταν αυτός ο περιορισµός δεν υπάρχει, τότε δεν υπάρχει κανένας περιορισµός για τον τύπο των ιδιοτήτων, ενώ αν η τιµή του περιορισµού είναι rdfs:literal, τότε η ιδιότητα που αντιστοιχεί είναι τύπου STRING ή SYMBOL. Επιπλέον, ορίζονται κάποιοι από τους τύπους δεδοµένων της XML Schema ως τύποι δεδοµένων της COOL, µέσω της κλάσης rdfs:class. Έτσι, οι xsd:integer, xsd:long κτλ. καταχωρούνται ως INTEGER, οι xsd:float, xsd:decimal καταχωρούνται ως FLOAT, ενώ οι υπόλοιποι τύποι δεδοµένων θεωρούνται ως STRING ή SYMBOL του CLIPS. Τελικά, όταν η τιµή ενός περιορισµού είναι το όνοµα µιας κλάσης, ο τύπος της ιδιότητας είναι INSTANCE, δηλαδή οι τιµές των ιδιοτήτων είναι OIDs των αντικειµένων-πόρων. Όταν υπάρχουν πολλαπλοί περιορισµοί για το πεδίο τιµών, το R-DEVICE δηµιουργεί µια εικονική κλάση (όπως και στην περίπτωση των πολλαπλών πεδίων ορισµού) κι αυτή η κλάση γίνεται ο τύπος της ιδιότητας. 51

52 3.5 Ο RDF Μεταφραστής Τριάδων Ο RDF µεταφραστής τριάδων είναι στην πραγµατικότητα ένα πρόγραµµα κανόνων παραγωγής σε CLIPS. Κάποιοι κανόνες δέχονται ως είσοδο RDF τριάδες και παράγουν αντικείµενα της COOL, γεµίζοντας τα slots µε τιµές ιδιοτήτων, ενώ άλλοι κανόνες εξετάζουν αυτά τα αντικείµενα και εφαρµόζουν την σηµασιολογία του RDF, δηλαδή δηµιουργούν κλάσεις στην COOL και διαχειρίζονται τις ιεραρχίες των ιδιοτήτων χρησιµοποιώντας τον µηχανισµό ψευδωνύµων. Το σχήµα 3.6 παρουσιάζει τη ροή εργασίας του RDF µεταφραστή τριάδων, µεταξύ των ποικίλων οµάδων και υπο-οµάδων κανόνων. Repeat - Until no untreated triples exist Repeat - Until no more RDF triples are consumed 1. Create resource objects 1.1 Create Objects with single type 1.2 Create Objects with multiple types 1.3 Change type of existing object 2. Put slot values 2.1 Assert new type for existing object 3. Inherit property domains/ranges 4. Treat properties with multiple domains/ranges 4.1 Create dummy classes 5. Create classes 5.1 Insert superclasses 5.2 Insert slot definitions 5.3 Treat property hierarchy (aliasing) 6. Prepare re-definitions of existing classes 6.1 Find new superclasses for existing classes 6.2 Find new properties for existing classes If there exist classes that need re-definition then For each class that needs re-definition 7. Re-define class 7.1 Backup class Backup subclasses Backup instances 7.2 Undefine class Undefine subclasses Delete instances Undefine class definition 7.3 Redefine class Insert new superclasses Insert new slots Redefine class definition Restore subclasses Restore instances Put slot values (same as step 2) 8. Treat remaining triples 8.1 Generate container membership properties 8.2 Assert type of non-existing properties 52

53 8.3 Assert type of non-existing triple subjects Assert new type for existing subjects 8.4 Assert type of non-existing triple objects Σχήµα 3.6. Αλγόριθµος RDF µεταφραστή τριάδων 3.6 Εισαγωγή του RDF Schema Tα RDF έγγραφα, συνήθως αναφέρονται σε υπάρχοντα RDF Schema έγγραφα, µέσω του µηχανισµού των namespaces. Παρόλο που η σηµασιολογία ενός RDF εγγράφου καθορίζεται µε ακρίβεια από τη γενική RDF σηµασιολογία [14], η γνώση του RDF Schema, το οποίο ακολουθεί ένα RDF έγγραφο παρέχει καλύτερη γνώση του περιεχοµένου, για τον άνθρωπο και τη µηχανή εξαγωγής συµπερασµάτων. Επιπρόσθετα, η γνώση της δοµής ενός εγγράφου επιτρέπει την δηµιουργία πιο εξειδικευµένων (άρα και πιο αποδοτικών) κανόνων για τα περιεχόµενα του RDF εγγράφου. Για όλους αυτούς τους λόγους, είναι χρήσιµο, όταν ένα RDF έγγραφο φορτώνεται στο R-DEVICE να φορτώνεται και η δοµή του. Για αυτό το λόγο, το RDF έγγραφο που κατεβαίνει από το διαδίκτυο, ελέγχεται (σκανάρεται) για να εντοπιστούν τα namespaces τα οποία δεν έχουν φορτωθεί (µεταφραστεί) µέχρι εκείνη τη στιγµή από το σύστηµα. Από αυτά που εντοπίζονται, κάποια βρίσκονται ήδη στον τοπικό δίσκο αν και δεν έχουν µεταφραστεί, ενώ τα υπόλοιπα φορτώνονται εκείνη τη στιγµή. Αυτή η διαδικασία µετάφρασης επαναλαµβάνεται µέχρι να αναλυθούν όλα τα αµετάφραστα namespaces από τον ARP συντακτικό αναλυτή. Εδώ, πρέπει να σηµειωθεί ότι η namespace ανάλυση ενός αρχείου RDF/XML δεν εγγυάται ότι θα οδηγήσει τελικά σε ένα έγγραφο RDF Schema. Το R-DEVICE απλά «ελπίζει» ότι θα βρει ένα έγγραφο αυτής της µορφής µετά την ανάλυση. Αν το namespace δεν αντιστοιχεί σε ένα RDF έγγραφο, τότε ο αναλυτής δεν θα παράγει τριάδες και το R-DEVICE απλά θα αγνοήσει το έγγραφο µε το συγκεκριµένο namespace. Αυτό σηµαίνει πως το R-DEVICE θα κάνει υποθέσεις, βασιζόµενο στο γενικό RDF µοντέλο, σχετικά µε τις µη-αναλυµένες ιδιότητες, πόρους, κλάσεις κτλ Παράδειγµα Εισαγωγή εγγράφου RDF Εδώ παρουσιάζουµε ένα ολοκληρωµένο παράδειγµα φόρτωσης/ µετάφρασης ενός RDF εγγράφου στο R-DEVICE. Το σχήµα 3.7 δείχνει το RDF/ XML έγγραφο που εισάγεται στο R-DEVICE. Θεωρούµε ότι το dc namespace θεωρείται ήδη φορτωµένο στο 53

54 σύστηµα. Το σχήµα 3.8 δείχνει τις κλάσεις που ανταποκρίνονται σ αυτό το RDF έγγραφο, υπό τα ονόµατα dmoz:topic και dmoz:externalpage.επιπλέον, η κλάση rdfs:resource έπρεπε να επαναοριστεί και να προστεθούν νέες ιδιότητες, όπως οι dmoz:narrow και dmoz:link, οι οποίες δεν έχουν προκαθορισµένο πεδίο, και έτσι λαµβάνεται το rdfs:resource. Τέλος το σχήµα 3.9 δείχνει όλα τα αντικείµενα που δηµιουργήθηκαν στο R-DEVICE, ειδικά για το RDF έγγραφο τοι σχήµατος 3.7. <!DOCTYPE rdf:rdf [ <!ENTITY dmoz " ]> <rdf:rdf xmlns:rdf=" xmlns:dc=" xmlns:dmoz="&dmoz;"> <dmoz:topic rdf:about="&dmoz;top"> <dmoz:catid>1</dmoz:catid> <dc:title>top</dc:title> <dmoz:narrow rdf:resource="&dmoz;top/arts"/> </dmoz:topic> <dmoz:topic rdf:about="&dmoz;top/arts"> <dmoz:catid>2</dmoz:catid> <dc:title>arts</dc:title> <dmoz:link rdf:resource=" Page.html"/> </dmoz:topic> <dmoz:externalpage rdf:about=" e.html"> <dc:title>john Phillips Blown glass</dc:title> <dc:description>a small display of glass by John Phillips</dc:description> </dmoz:externalpage> </rdf:rdf> Σχήµα 3.7. είγµα RDF/ XML εγγράφου (defclass rdfs:resource (is-a RDF-CLASS) (multislot dmoz:narrow) (multislot dmoz:catid) (multislot dmoz:link) (multislot dc:title)... (multislot rdf:type (type INSTANCE-NAME))... ) (defclass dmoz:externalpage (is-a rdfs:resource) ) (defclass dmoz:topic (is-a rdfs:resource) ) Σχήµα 3.8. Οι κλάσεις του R-DEVICE που ανταποκρίνονται στο RDF έγγραφο του σχήµατος

55 ([dmoz] of rdfs:resource (uri " (source system) (rdfs:isdefinedby [dmoz]) (rdf:type [rdfs:resource]) (rdfs:label dmoz) ) ([dmoz:catid] of rdf:property (source rdf) (rdf:type [rdf:property]) (rdfs:domain) (rdfs:range) (rdfs:subpropertyof) ) ([dmoz:topic] of rdfs:class (source rdf) (rdf:type [rdfs:class]) (rdfs:subclassof) ) ([dmoz:top] of dmoz:topic (source rdf) (dmoz:narrow [dmoz:top/arts]) (dmoz:catid "1") (dmoz:link) (dc:title "Top") (rdf:type [dmoz:topic]) ) ([dmoz:narrow] of rdf:property (source rdf) (rdf:type [rdf:property]) (rdfs:domain) (rdfs:range) (rdfs:subpropertyof) ) ([dmoz:link] of rdf:property (source rdf) (rdf:type [rdf:property]) (rdfs:domain) (rdfs:range) (rdfs:subpropertyof) ) ([dmoz:externalpage] rdfs:class (source rdf) (rdf:type [rdfs:class]) (rdfs:subclassof) ) of ([dmoz:top/arts] of dmoz:topic (source rdf) (dmoz:narrow) (dmoz:catid "2") (dmoz:link [ (dc:title "Arts") (rdf:type [dmoz:topic]) ) ([ of dmoz:externalpage (source rdf) (dmoz:narrow) (dmoz:catid) (dmoz:link) (dc:description "A small display of glass by John Phillips") (dc:title "John phillips Blown glass") (rdf:type [dmoz:externalpage]) ) Σχήµα 3.9. Τα αντικείµενα του R-DEVICE που ανταποκρίνονται στο RDF έγγραφο του σχήµατος Η Γλώσσα Συνεπαγωγικών Κανόνων του R-DEVICE Η γλώσσα συνεπαγωγικών κανόνων του R-DEVICE είναι στην πραγµατικότητα µια προσαρµογή της γλώσσας Χ-DEVICE [12] σε CLIPS. Και οι δύο αυτές γλώσσες είναι γλώσσες συνεπαγωγικών κανόνων που υποστηρίζουν την υποβολή ερωτήσεων πάνω σε αντικείµενα. Τα XML και RDF δεδοµένα παρουσιάζονται ως αντικείµενα και ορίζονται πάνω σε αυτά όψεις, που συντηρούνται σταδιακά. Τα συµπεράσµατα των συνεπαγωγικών κανόνων ορίζουν συνεπαγόµενες (derived) κλάσεις, δηλαδή κλάσεις 55

56 των οποίων τα αντικείµενα παράγονται µε την εκτέλεση αυτών των κανόνων πάνω στο τρέχον σύνολο αντικειµένων. Επιπλέον, και οι δύο γλώσσες υποστηρίζουν την αναδροµή (recursion), τη διαστρωµατωµένη άρνηση, τις εκφράσεις µονοπατιού πάνω σε αντικείµενα, τις γενικευµένες εκφράσεις µονοπατιού (δηλαδή εκφράσεις µονοπατιού µε άγνωστο αριθµό ενδιάµεσων βηµάτων), συνεπαγόµενες (derived) και αθροιστικές (aggregate) ιδιότητες. Επίσης, οι χρήστες µπορούν να χρησιµοποιήσουν δικές τους συναρτήσεις ή και ενσωµατωµένες συναρτήσεις της φιλοξενούσας γλώσσας, δηλαδή της Prolog και του CLIPS αντίστοιχα. Η διαφορά µεταξύ του Χ-DEVICE και του R-DEVICE (εκτός από τη σύνταξη) έγκειται στον τρόπο που υλοποιούνται οι συνεπαγωγικοί κανόνες. Στο Χ-DEVICE [12], κάθε κανόνας υλοποιείται αρχικά ως ειδική περίπτωση ενός κανόνα τύπου ifthen-else. Στη συνέχεια εκτελείται ως ενεργός (ECA) κανόνας όπου ένα σύνθετο γεγονός µιµείται (emulates) τη συνθήκη του συνεπαγωγικού κανόνα [15]. Στο κατώτερο επίπεδο, βρίσκεται το ενεργό OODB σύστηµα EXACT/ADAM ([16]), το οποίο υποστηρίζει αντικείµενα, κλάσεις, µετα-κλάσεις, µηνύµατα, γεγονότα και ενεργούς (ECA) κανόνες σε Prolog. Από την άλλη πλευρά, στο R-DEVICE, κάθε συνεπαγωγικός κανόνας υλοποιείται ως ένα ζεύγος κανόνων παραγωγής του CLIPS: ο ένας κανόνας εισάγει το αντικείµενο όταν ικανοποιείται η συνθήκη του κανόνα και ο άλλος διαγράφει το αντικείµενο όταν η συνθήκη δεν ικανοποιείται πλέον, σε περίπτωση διαγραφής ή τροποποίησης µιας ιδιότητας στη βάση. Και το Χ-DEVICE και το R-DEVICE χρησιµοποιούν τον αλγόριθµο RETE για την ταυτοποίηση των συνθηκών των κανόνων παραγωγής µε τα αντικείµενα. Στο R-DEVICE, η εισαγωγή ενός συνεπαγόµενου αντικειµένου στηρίζεται σε ένα µηχανισµό µέτρησης, που µετρά πόσες φορές παράγεται ένα συγκεκριµένο αντικείµενο, µε βάση τις τιµές των ιδιοτήτων του. Ο µηχανισµός αυτός χρησιµοποιείται επίσης και για τη δηµιουργία του προσδιοριστή του συνεπαγόµενου αντικειµένου. Νέα αντικείµενα δηµιουργού-νται µόνο στην περίπτωση που δεν υπάρχουν από πριν, αλλιώς απλά ο µε-τρητής τους αυξάνεται κατά 1. Σε περίπτωση διαγραφής, το αντικείµενο διαγράφεται οριστικά µόνο όταν ο µετρητής του έχει την τιµή 1, αλλιώς απλά η τιµή του µειώνεται κατά 1. Σηµειώνεται πως οι κανόνες παραγωγής που ελέγχουν για πιθανή διαγραφή ενός αντικειµένου έχουν στην συνθήκη τους την άρνηση της συνθήκης του συνεπαγωγικού κανόνα. Αξίζει, τέλος, να αναφερθεί ότι τα συνεπαγόµενα αντικείµενα αποθηκεύουν και τους 56

57 προσδιοριστές των αντικειµένων της βάσης, από τα οποία προέρχονται και το όνοµα του κανόνα που τα παρήγαγε. Αυτό είναι απαραίτητο για να µπορεί να συντηρηθεί σωστά η παραγόµενη όψη. Η σύνταξη των συνεπαγωγικών κανόνων του R-DEVICE είναι µια παραλλαγή της σύνταξης των κανόνων σε CLIPS. Αν και το R-DEVICE χρησιµοποιεί αντικείµενα της COOL, το συντακτικό των κανόνων είναι όµοιο µε τους κανόνες που αφορούν πρότυπα γεγονότων (templates) του CLIPS, επειδή το συντακτικό είναι έτσι πιο απλό. Συγκεκριµένα, κάθε στοιχείο συνθήκης ακολουθεί τη µορφή:?oid <- (classname (path-expr value-expr) ) όπου?oid είναι ένας προαιρετικός προσδιοριστής αντικειµένου (ή όνοµα στιγµιοτύπου) ενός αντικειµένου της κλάσης classname, και (path-expression value-expression) είναι µία ή καµία, ή και περισσότερες συνθήκες που ελέγχονται σε κάθε αντικείµενο που ταιριάζει σε αυτό το µοτίβο. Όταν το όνοµα της κλάσης είναι άγνωστο, µια µεταβλητή µπορεί να χρησιµοποιηθεί στη θέση του ονόµατος της κλάσης. Τα ονόµατα των κλάσεων µπορεί να αποτελούνται από ένα namespace πρόθεµα, που ακολουθείται από µια άνω και κάτω τελεία κι ένα τοπικό τµηµατικό όνοµα. Για παράδειγµα, η ακόλουθη συνθήκη αντιστοιχεί σε α κλάσεις µε rss namespace. (rss:?c (rss:title?t)) H τιµή µιας έκφρασης µπορεί να είναι µία σταθερά ή µια µεταβλητή ή ένας περιορισµός ή ένας συνδυασµός αυτών, όπως ορίζεται από το συντακτικό των κανόνων του CLIPS. Παρακάτω παρατίθενται παραδείγµατα τέτοιων εκφράσεων. Μια έκφραση µονοπατιού απεικονίζεται σε ιδιότητες των αντικειµένων της COOL. Πιο συγκεκριµένα, στο R-DEVICE µια έκφραση µονοπατιού µπορεί να ανήκει σε µία από τις ακόλουθες περιπτώσεις: Μια µεταβλητή που δηλώνει κάποια από τις ιδιότητες της κλάσης classname. Για παράδειγµα η ακόλουθη συνθήκη αναζητά ένα αντικείµενο πηγής µε ιδιότητα άγνωστου ονόµατος, που να έχει την τιµή Smith (rdfs:resource (?s "Smith")) Ένα µονοπάτι που αποτελείται από µία ή περισσότερες µεταβλητές µίας τιµής, δηλαδή ένα µονοπάτι µε γνωστό µήκος και άγνωστα κάποια από τα βήµατά του. 57

58 Ένα γενικευµένο µονοπάτι που περιλαµβάνει µία ή περισσότερες µεταβλητές πολλαπλών τιµών, δηλαδή µεταβλητές που η τιµή τους είναι µία λίστα. Αυτά τα µονοπάτια έχουν άγνωστο µήκος. Ένα µονοπάτι που περιλαµβάνει ένα επαναλαµβανόµενο υπο-µονοπάτι, δηλαδή ένα υπο-µονοπάτι που διασχίζεται άγνωστες φορές. Το ακόλουθο µονοπάτι περιέχει το επαναλαµβανόµενο υπο-µονοπάτι (dcq:references) που ακολουθεί τις πηγές που έχουν αναφορές η µία για την άλλη. ((dc:title (dcq:references))?t) Τα περιοδικά επαναλαµβανόµενα µονοπάτια µπορούν να χρησιµοποιηθούν για να εκφράσουν αναδροµικές ερωτήσεις σε µεταβατικές ιδιότητες. Π.χ. η επόµενη ερώτηση συλλέγει όλες τις πηγές (σελίδες) που αναφέρονται σε µία συγκεκριµένη πηγή. (deductiverule collect_refs (? (uri " ((uri (dcq:references))?uri)) => (result (uri?uri))) Παρατηρείται ότι οι διευθύνσεις URI που µπορούν να προσεγγιστούν ακολουθώντας πολλά διαφορετικά µονοπάτια υπολογίζονται µόνο µία φορά στο αποτέλεσµα και έτσι αποφεύγονται οι άπειρες επαναλήψεις, χάρη στο µηχανισµό µέτρησης. Τα επαναλαµβανόµενα υπο-µονοπάτια µπορούν να συµπεριληφθούν και σε ένα µονοπάτι µε άγνωστο µήκος. Π.χ. στο επόµενο µονοπάτι, η µεταβλητή πολλα-πλών τιµών $?p µπορεί να αναπαραστήσει τόσο γραµµικά, όσο και περιοδικά επαναλαµβανόµενα υπο-µονοπάτια. ((dc:title $?p)?t) Οι µεταβλητές πολλαπλών τιµών µπορούν να αντικαταστήσουν και τιµές εκφράσεων, αφού όλες οι RDF ιδιότητες συµπεριφέρονται ως ιδιότητες πολλαπλών τιµών. Για παράδειγµα, το ακόλουθο µοτίβο ανακτά µία λίστα $?l µε όλες τις τιµές για την ιδιότητα rss:link του αντικειµένου-πηγής. (rss:link $?l) 58

59 Από την άλλη, αν γνωρίζουµε ότι ένα αντικείµενο-πηγή έχει πολλές τιµές για µία ιδιότητα και θέλουµε να εφαρµόσουµε τον ίδιο κανόνα για κάθε µία από τις τιµές αυτές, η έκφραση θα είναι: (rss:link $??l $?) που σηµαίνει ότι η µεταβλητή?l θα πάρει τελικά όλες τις τιµές της ιδιότητας rss:link. Αυτό το µοντέλο ανάκτησης τιµών είναι τόσο συνηθισµένο που παρέχεται µια συντόµευση η οποία µετασχηµατίζεται στο παραπάνω µοτίβο κατά τη διάρκεια της φάσης της προ-µετάφρασης. (rss:link??l) Όταν η τιµή µιας συγκεκριµένης µεταβλητής είναι αδιάφορη, τότε µπορεί να χρησιµοποιηθεί µια ανώνυµη µεταβλητή?, η οποία αντικαταθίσταται από µια απλή µεταβλητή που παράγεται από το σύστηµα κατά τη διάρκεια της φάσης της προ- µετάφρασης. Οι συνθήκες επιλογής µπορούν να τοποθετηθούν µέσα σε τιµές εκφράσεων ή ως ξεχωριστά στοιχεία ελέγχου συνθηκών, όπως στο CLIPS. Π.χ. το ακόλουθο µοτίβο αναθέτει το επώνυµο σε µία µεταβλητή και ταυτόχρονα εξετάζει αν η τιµή της ιδιότητας δεν είναι ίση µε το Smith : (vcard:family?last&~"smith") Το ίδιο µπορεί να γραφεί και ως εξής: (vcard:family?last) (test (neq?last "Smith")) Οι συνθήκες µπορούν επίσης να εκφράζουν διάζευξη και άρνηση. Μόνο η διαστρωµατωµένη άρνηση επιτρέπεται. Το συµπέρασµα των κανόνων µπορεί επίσης να περιλαµβάνει ένα σύνολο από κλήσεις συναρτήσεων που υπολογίζουν τις τιµές που πρέπει να αποθηκευτούν στις ιδιότητες του συνεπαγόµενου αντικειµένου. Τέτοιες κλήσεις τοποθετούνται σε µία δοµή calc πριν από τo πρότυπο της παραγόµενης κλάσης. Τέλος, το R-DEVICE υποστηρίζει αθροιστικές (aggregate) συναρτήσεις και οµαδοποίηση µε τη µορφή κανόνων αθροιστικών ιδιοτήτων. Αυτοί οι κανόνες εκφράζουν το πώς οι τιµές συσσωρεύονται και συνδυάζονται µε ιδιότητες ήδη υπαρχόντων αντικειµένων. Για παράδειγµα, ο ακόλουθος κανόνας ανακαλεί όλους τους 59

60 πόρους και δηµιουργεί ένα αντικείµενο για κάθε δηµιουργό, και αποθηκεύει στην URIs ιδιότητά του όλες τις πηγές του δηµιουργού. (deductiverule ex1-aggregate (? (dcq:creator?c) (uri?uri)) => (pages (author?c) (URIs (list?uri)))) Η συνάρτηση list είναι µια αθροιστική συνάρτηση, που απλά συλλέγει τιµές σε µία λίστα. Υπάρχουν πολλές τέτοιες συναρτήσεις, όπως οι sum, count, avg κλπ. Υπογραµµίζεται ότι παραπάνω η οµαδοποίηση γίνεται επειδή το συµπέρασµα περιλαµβάνει την ιδιότητα author πέραν της ιδιότητας URIs. 3.8 Εξαγωγή των Συνεπαγόµενων Αντικειµένων µε τη Μορφή Εγγράφων RDF Μετά την εκτέλεση των κανόνων παραγωγής και τη δηµιουργία των αντικειµένων, ο εξαγωγέας RDF παράγει ένα έγγραφο σε RDF/XML και το επιστρέφει στον χρήστη, µέσω ενός Web εξυπηρετητή, ως απάντηση στην ερώτηση / πρόγραµµα του χρήστη. Αυτό το έγγραφο περιέχει όλους τους απαραίτητους RDF ορισµούς για τις κλάσεις που έχουν παραχθεί και τα αντικείµενά τους. Αρχικά, το έγγραφο περιλαµβάνει τους ορισµούς των namespaces για τα RDF/RDFS και για το έγγραφο των αποτελεσµάτων. Έπειτα, οι παραγόµενες κλάσεις ορίζονται ως στοιχεία rdfs:class που ακολουθούνται από στοιχεία rdfs:property για κάθε µία από τις ιδιότητές τους που ορίστηκαν από τα συµπεράσµατα των συνεπαγωγικών κανόνων. Τα πεδία ορισµού και τιµών των ιδιοτήτων εξασφαλίζονται από τον ορισµό κάθε παραγόµενης κλάσης σε COOL. Το πεδίο ορισµού κάθε ιδιότητας µιας κλάσης είναι η ίδια η κλάση, ενώ το πεδίο τιµών µπορεί να είναι οτιδήποτε από τα ακόλουθα: -Αν η ιδιότητα είναι τύπου SYMBOL ή STRING, το πεδίο τιµών είναι rdfs:literal. -Αν η ιδιότητα είναι τύπου INTEGER, το πεδίο τιµών είναι xsd:integer. -Αν η ιδιότητα είναι τύπου FLOAT, το πεδίο τιµών είναι xsd:float. -Αν η ιδιότητα είναι τύπου INSTANCE, το πεδίο τιµών είναι µία κλάση, της οποίας το όνοµα εξασφαλίζεται από την ιδιότητα συστήµατος class-refs. Όταν η 60

61 αναφερόµενη κλάση είναι εικονική και δηµιουργείται από το σύστηµα για να καλύψει την ανάγκη για µια ιδιότητα πολλαπλών τιµών, τα πεδία τιµών για αυτή την ιδιότητα είναι ένα για κάθε µία από τις υπερκλάσεις της εικονικής κλάσης. -Τέλος, αν η ιδιότητα αποτελεί οποιοδήποτε άλλο συνδυασµό τύπων, δεν υπάρχουν περιορισµοί στο πεδίο τιµών της. Αξίζει να σηµειωθεί ότι στην τέταρτη περίπτωση, το RDF Schema για την αναφερόµενη κλάση πρέπει να περιλαµβάνεται στο έγγραφο του αποτελέσµατος, εκτός κι αν η κλάση δεν είναι παραγόµενη αλλά µια βασική RDF κλάση, δηλαδή µια κλάση της οποίας ο ορισµός έχει εισαχθεί από κάποιο namespace. Σε αυτή την περίπτωση, στην επικεφαλίδα του εγγράφου προστίθεται η namespace διεύθυνση και δεν περιλαµβάνεται κανένας άλλος ορισµός. Σε οποιαδήποτε άλλη περίπτωση, οι ορισµοί για την αναφερόµενη κλάση και οι ιδιότητές της περιλαµβάνονται στο τελικό RDF έγγραφο. Παρακάτω παρουσιάζεται ένα παράδειγµα χρήσης του R-DEVICE µε την υποβολή της ερώτησης example-query η οποία ανακαλεί τον τίτλο ενός ODP θέµατος, που έχει τουλάχιστον µία σχετική σελίδα, µαζί µε τους τίτλους όλων των σχετικών σελίδων. Το σχήµα 3.10 δείχνει τον ορισµό της παραγόµενης κλάσης και του αντικειµένου και το σχήµα 3.11 τα αποτελέσµατα που εξάγονται σε µορφή RDF. (deductiverule example-query (dmoz:topic (dc:title?t) (dmoz:link $??l $?))?l <- (dmoz:externalpage (dc:title?lt)) => (result (title?t) (link_title?lt))) (defclass result (is-a DERIVED-CLASS) (slot title (type?variable)) (slot link_title (type?variable))... ) ([resultartsjohn phillips Blown glass] of result (source rdf) (counter 1) (derivators +++ gen2 [gen33] [gen34] +++) (title "Arts") (link_title "John phillips Blown glass")) Σχήµα Ο ορισµός της παραγόµενης κλάσης και ενός παραγόµενου αντικειµένου 61

62 <!DOCTYPE rdf:rdf [ <!ENTITY rdf " <!ENTITY rdfs " <!ENTITY r_device " ]> <rdf:rdf xmlns:rdf='&rdf;' xmlns:rdfs='&rdfs;' xmlns:r_device='&r_device;'> <rdfs:class rdf:about='&r_device;result'> </rdfs:class> <rdf:property rdf:about='&r_device;title'> <rdfs:domain rdf:resource='&r_device;result'/> </rdf:property> <rdf:property rdf:about='&r_device;link_title'> <rdfs:domain rdf:resource='&r_device;result'/> </rdf:property> <r_device:result rdf:about=" <r_device:title>arts</r_device:title> <r_device:link_title>john phillips Blown glass</r_device:link_title> </r_device:result> Σχήµα Τα αποτελέσµατα εξόδου του R-DEVICE στην προηγούµενη ερώτηση 62

63 3.9 ιασύνδεση του R-DEVICE µε τον Χρήστη Το R-DEVICE, που περιγράφηκε στις προηγούµενες ενότητες αποτελεί ένα ιδιαίτερα ισχυρό και λειτουργικό σύστηµα εφαρµογής κανόνων στο σηµασιολογικό διαδίκτυο. Η αξία ενός τέτοιου συστήµατος, µπορεί εύκολα να γίνει κατανοητή, αν αντιληφθεί κανείς την πληθώρα δεδοµένων που υπάρχουν αποθηκευµένα στο ιαδίκτυο και την δυσκολία στην επεξεργασία τους χωρίς αυτόµατα εργαλεία. Υπάρχουν πάρα πολλές εφαρµογές στις οποίες ο ενδιαφερόµενος, ο οποίος στις περισσότερες περιπτώσεις είναι ένας απλός χρήστης ηλεκτρονικού υπολογιστή, δεν έχει γνώσεις ούτε της δοµής των σηµασιολογικών δεδοµένων και πολύ περισσότερο του τρόπου σύνταξης κανόνων (π.χ. σε RuleML). Είναι εµφανής εποµένως η ανάγκη δηµιουργίας εργαλείων τα οποία θα επιτρέπουν στον απλό χρήστη να συντάσσει κανόνες και να τους εφαρµόζει σε διαδικτυακά δεδοµένα µέσα από ένα εύχρηστο και κατά προτίµηση γραφικό περιβάλλον. 63

64 64

65 4 Υλοποίηση Συστήµατος Η παρούσα διπλωµατική εργασία προσπαθεί να δώσει λύση στη δυσκολία σύνταξης κανόνων για το Σηµασιολογικό ιαδίκτυο µέσω ενός εύχρηστου, γραφικού περιβάλλοντος. Το σύστηµα συγγραφής κανόνων RuleML Builder που θα περιγραφεί, λειτουργεί ως ανεξάρτητη εφαρµογή, αλλά θα µπορούσε να αποτελέσει προσθήκη στο σύστηµα R-DEVICE που περιγράφηκε σε προηγούµενη ενότητα ή σε οποιοδήποτε άλλο σύστηµα εφαρµογής RuleML κανόνων σε RDF δεδοµένα, µε κάποιες µετατροπές φυσικά. 4.1 Γενικά Στοιχεία του Συστήµατος RuleML Builder Το σύστηµα RuleML Builder αναπτύχθηκε στο περιβάλλον Microsoft Visual Studio και συγκεκριµένα στη γλώσσα προγραµµατισµού Visual Basic 6.0, η οποία συνίσταται για την ανάπτυξη εφαρµογών µε ιδιαίτερες απαιτήσεις σε γραφικά περιβάλλοντα χρήσης. Στα χαρακτηριστικά της γλώσσας, τα οποία ενισχύουν τους λόγους υιοθέτησης της, συµπεριλαµβάνονται: η αντικειµενοστρέφεια της, που βοηθάει στην επαναχρησιµοποίηση τµηµάτων κώδικα και στην δοµηµένη ανάπτυξη, τα πολλά έτοιµα στοιχεία ελέγχου (controls) που επιτρέπουν την εύκολη ανάπτυξη διεπαφών µε το χρήστη (User Interfaces), καθώς και οι ενισχυµένες δυνατότητες επικοινωνίας των εφαρµογών σε Visual Basic µε άλλες εφαρµογές που εκτελούνται σε λειτουργικά συστήµατα Windows. Ο RuleML Builder λειτουργεί ως ανεξάρτητη (stand alone) εφαρµογή σε περιβάλλον Windows χρησιµοποιώντας τις δυνατότητες γραφικής διασύνδεσης που του παρέχει το λειτουργικό σύστηµα µέσω του Windows API. Παρόλα αυτά θα µπορούσε να αποτελέσει προσθήκη στο R-DEVICE ή σε οποιοδήποτε άλλο σύστηµα 65

66 εφαρµογής κανόνων RuleML σε RDF δεδοµένα. Σε γενικές γραµµές τα γενικά χαρακτηριστικά και πλεονεκτήµατά του είναι: Φιλικό εύχρηστο περιβάλλον χρήσης (User friendly User Interface) Αποδοτικότητα (Efficiency) Υψηλή Επίδοση (Performance) Συµβατότητα µε την πρότυπη (Standard) γλώσσα σήµανσης κανόνων RuleML υνατότητα επεξεργασίας τοπικών (local) και αποµακρυσµένων (remote) αρχείων RDF και RDF Schema Ο RuleML Builder χρησιµοποιεί την δεύτερη έκδοση της εφαρµογής ARP (Another RDF Parser) της Hewlett-Packard [9], σε ένα πρώτο επίπεδο συντακτικής ανάλυσης των αρχείων RDF και RDF Schema, ενώ σε δεύτερο επίπεδο συντακτικής ανάλυσης χρησιµοποιεί δικό του αλγόριθµο εξαγωγής κλάσεων και ιδιοτήτων που θα περιγραφεί στη συνέχεια.. Το σχήµα 4.1 παρουσιάζει οπτικά τη δοµή του RuleML Builder η οποία εξηγείται λεπτοµερώς στη συνέχεια. Internet RDFS/ RDF documents RuleML Builder ARP RDFS/ RDF N triples RDFS/ RDF Loader N triples N triples Parser RDFS/ RDF documents N triple Local Disk documents Rules Visual Creator Visual Rules Results Class and Property Visual Extractor RuleML Translator RuleML document R DEVICE Σχήµα 4.1. Η αρχιτεκτονική του RuleML Builder 66

67 Το σύστηµα RuleML Builder περιέχει τρεις βασικές λειτουργίες: 1. την εισαγωγή και επεξεργασία RDF δεδοµένων 2. την σύνταξη κανόνων και 3. την µεταγλώττιση των κανόνων σε RuleML που παρουσιάζονται αναλυτικά στη συνέχεια του κεφαλαίου. 4.2 Εισαγωγή και Επεξεργασία RDF εδοµένων Το πρώτο τµήµα του RuleML Builder ασχολείται µε την ανάγνωση της δοµής των RDF δεδοµένων, την αναπαράστασή τους µε γραφικό τρόπο, την επεξεργασία τους και την δυνατότητα δηµιουργίας συνεπαγόµενων κλάσεων µε τη χρήση κανόνων και έτοιµων τµηµάτων Λήψη εδοµένων από το ιαδίκτυο, από τοπικά αρχεία RDF και RDFS ή από έγγραφα Τριπλετών Ένας συνηθισµένος τρόπος αναπαράστασης των RDF και RDFS είναι µέσω τριπλετών, που παρουσιάζεται στo σχήµα 4.2 και 4.3. < < < < < < < < < < < < < < < < < < Σχήµα 4.2. Τµήµα ενός RDF SCHEMA σε µορφή τριπλετών 67

68 Στις τριπλέτες ενός RDF SCHEMA, µία κλάση δηλώνεται µε τον προσδιοριστή rdfs:class στο τρίτο τµήµα αντικείµενο της τριπλέτας (1 η τριπλέτα) ή µε τον προσδιοριστή rdfs:subclassof στο δεύτερο τµήµα κατηγόρηµα της τριπλέτας (2 η τριπλέτα). Αντίστοιχα, µία ιδιότητα ορίζεται µε τον προσδιοριστή rdfs:property (3 η τριπλέτα) ή rdfs:subpropertyof (6 η τριπλέτα). Επιπρόσθετα, για τις ιδιότητες µπορεί να δηλωθεί η κλάση στα αντικείµενα της οποίας εφαρµόζεται η ιδιότητα (4 η τριπλέτα) καθώς και το πεδίο τιµών της (5 η τριπλέτα) µέσω των προσδιοριστών rdfs:domain και rdfs:range αντίστοιχα. < < "1994"^^< < < "17"^^< < < "2000"^^< < < "345"^^< Σχήµα 4.3. Τµήµα ενός RDF εγγράφου σε µορφή τριπλετών Στις τριπλέτες ενός RDF εγγράφου, στο αντικείµενο µιας κλάσης αποδίδονται τιµές στις ιδιότητές του και στις περισσότερες περιπτώσεις δηλώνεται και ο τύπος τιµών της. Στην Εικόνα 4.3 φαίνονται δύο αντικείµενα της κλάσης Entry το entry97 και το entry47. Το καθένα από αυτά έχει τις ιδιότητες publicationyear και publicationnoofpages µε τιµές για το entry97: "1994" και "17" και για το entry47: "2000" και "345". Επίσης δηλώνεται και στις δύο ιδιότητες ότι είναι τύπου integer σύµφωνα µε τους τύπους δεδοµένων του XML Schema, µέσω της δήλωσης ^^< Εκτός από την ανάγνωση δεδοµένων σε µορφή τριπλετών, το RuleML Builder έχει δυνατότητα εισαγωγής δεδοµένων απ ευθείας από το RDF Schema και το RDF έγγραφο. Πιο συγκεκριµένα, σε περίπτωση που ο χρήστης επιλέξει το φόρτωµα δεδοµένων από τοπικά αρχεία RDF και RDFS ή από το ιαδίκτυο, το RuleML Builder 68

69 καλεί το εξωτερικό πρόγραµµα ARP (Another RDF Parser) ver. 2 της Hewlett Packard, το οποίο επεξεργάζεται τα τοπικά έγγραφα στον υπολογιστή του χρήστη και τα µετατρέπει σε µορφή τριπλετών. Τα παρακάτω σχήµατα παρουσιάζουν τον αλγόριθµο του RuleML Builder που αναλαµβάνει το κατέβασµα και την µετατροπή των RDF και RDFS αρχείων σε τριπλέτες. Αρχικά αποθηκεύεται στο path το directory στο οποίο τρέχει η εφαρµογή, ώστε αργότερα αυτό το path να µπορεί να δοθεί και στα δηµιουργούµενα αρχεία τριπλετών. path = App.path If Right(path, 1) <> "\" Then path = path & "\" Χρησιµοποιείται το αντικείµενο fso µέσω του οποίου µπορώ να επαληθεύτεί η ύπαρξη ενός αρχείου στο δίσκο. Είναι αναγκαίο γιατί καθώς ολοκληρώνεται η µετατροπή των RDF και RDFS αρχείων σε τριπλέτες, στο τέλος δηµιουργείται ένα αρχείο για καθένα από αυτά. Μέσω του fso εντοπίζεται αν τα ίδια αρχεία είχαν δηµιουργηθεί στο παρελθόν. Set fso = CreateObject("Scripting.FileSystemObject") Για την αποθήκευση του αρχείου τριπλετών µε όνοµα σχετικό προς αυτό που αρχικά είχε ξεκινάµε από το τέλος του ονόµατος του αρχείου και µετακινούµαστε προς την αρχή µέχρι να βρεθεί ο χαρακτήρας / όταν πρόκειται για URL διεύθυνση ή \ όταν πρόκειται για τοπικό αρχείο. i = Len(Text1.Text) Do While (i >= 0) And (Mid(Text1.Text, i, 1) <> "\") And (Mid(Text1.Text, i, 1) <> "/") s = Mid(Text1.Text, i, 1) & s i = i - 1 If i <= 0 Then Exit Do Loop Στη συνέχεια, προχωράµε προς τα µπρος από τον χαρακτήρα που σταµατήσαµε και παίρνουµε έναν έναν όλους τους χαρακτήρες από το / ή το \ µέχρι να βρούµε τη τελεία.. 69

70 Για παράδειγµα αν το path ενός RDFS αρχείου είναι το εξής: C:\Documents\test.rdfs, αποµονώνουµε µόνο το test... i = 1 Do While (i <= Len(s)) And (Mid(s, i, 1) <> ".") n = n & Mid(s, i, 1) i = i + 1 If i <= 0 Then Exit Do Loop...και προσθέτουµε στην αρχή το path της εφαρµογής και στο τέλος την επέκταση.n3. Αυτό το filename καταχωρείται στην µεταβλητή fnrdfs. fnrdfs = path & n & ".n3" Οµοίως και για το έγγραφο RDF Αυτό το filename καταχωρείται στην µεταβλητή fnrdf. n = "" i = Len(Text2.Text) Do While (i >= 0) And (Mid(Text2.Text, i, 1) <> "\") And (Mid(Text2.Text, i, 1) <> "/") s = Mid(Text2.Text, i, 1) & s i = i - 1 If i <= 0 Then Exit Do Loop i = 1 Do While (i <= Len(s)) And (Mid(s, i, 1) <> ".") n = n & Mid(s, i, 1) i = i + 1 If i <= 0 Then Exit Do Loop fnrdf = path & n & ".n3" Αν το ίδιο αρχείο τριπλετών RDFS είχε δηµιουργηθεί στο παρελθόν, τότε διαγράφεται, για να επαναδηµιουργηθεί στη συνέχεια. Οµοίως και για το αρχείο τριπλετών RDF. Επίσης διαγράφονται και τα δύο βοηθητικά αρχεία end1.txt και end2.txt, τα οποία δηµιουργούνται καθώς ολοκληρώνεται η µετατροπή των RDF και RDFS αρχείων σε τριπλέτες, και πιστοποιούν την ολοκλήρωση αυτής της εργασίας. 70

71 If fso.fileexists(fnrdfs) = True Then fso.deletefile (fnrdfs) If fso.fileexists(path & "end1.txt") = True Then fso.deletefile (path & "end1.txt") Τέλος δηµιουργείται ένα string, το οποίο ουσιαστικά αποτελεί την εντολή DOS που καλεί και εκτελεί τον ARP parser. Αυτό πραγµατοποιείται µέσω της βοηθητικής εντολής shell η οποία εκτελεί σε DOS το αντίστοιχο string. Αν η shell επιστρέψει µηδέν (0), τότε έχει προκληθεί κάποιο σφάλµα. st = Chr(34) & path & "arp.bat" & Chr(34) & " " & Chr(34) & Text1.Text & Chr(34) & " " & Chr(34) & fnrdfs & Chr(34) & " " & Chr(34) & path & "end1.txt" & Chr(34) r = Shell(st) If (r = 0) Then GoTo l1 Οµοίως και για το έγγραφο RDF. If fso.fileexists(fnrdf) = True Then fso.deletefile (fnrdf) If fso.fileexists(path & "end2.txt") = True Then fso.deletefile (path & "end2.txt") st = Chr(34) & path & "arp.bat" & Chr(34) & " " & Chr(34) & Text2.Text & Chr(34) & " " & Chr(34) & fnrdf & Chr(34) & " " & Chr(34) & path & "end2.txt" & Chr(34) r = Shell(st) If (r = 0) Then GoTo l1 Ο κώδικας αυτός χρησιµοποιεί το αρχείο δέσµης του MSDOS (batch file) arp.bat το οποίο εκτελεί τον ARP parser. Ο κώδικας του αρχείου δέσµης arp.bat στο σχήµα

72 @echo r_device_path=c:\program arp2=c:\program CLASSPATH=.;%arp2%\arp2.jar;%arp2%\xercesImpl.jar;%arp2%\icu4j. com.hp.hpl.jena.rdf.arp.ntriple %1 > %2 echo Done > %3 Σχήµα 4.4. Το αρχείο δέσµης arp.bat Ο RuleML Builder χρησιµοποιεί σαν βασική µορφή των δεδοµένων εισόδου τις τριπλέτες Ν3, αν και όπως παρουσιάστηκε προηγουµένως, εναλλακτικά δέχεται δεδοµένα απ ευθείας από το RDF έγγραφο και το RDF schema µέσω των URL τους. Στα σχήµατα 4.5 και 4.6, ακολουθεί ο αλγόριθµος του RuleML Builder που ασχολείται µε την ανάγνωση των εγγράφων RDFS και RDF αντίστοιχα, αφού αυτά έχουν πρώτα µετατραπεί σε µορφή τριπλετών. 1 Έναρξη διαδικασίας που έχει όρισµα το όνοµα του αρχείου τριπλετών ενός RDFS εγγράφου 2 Κλήση της clear_all για εκκαθάριση υπαρχόντων δεδοµένων 3 Προσθήκη της κλάσης Resource στη συλλογή τν κλάσεων 4 Άνοιγµα του αρχείου τριπλετών 5 Σάρωση του σειρά σειρά, µέχρι το τέλος του εγγράφου καταχώρηση της κάθε σειράς σε ένα string s 6 Χρήση τριών βοηθητικών string a, b, c. Προχωράµε µέσα στη γραµµή και i. µόλις περάσουµε το # καταχωρείται στο α τους επόµενους χαρακτήρες ως το > ii. οµοίως για το b iii. οµοίως για το c 7 Εξετάζονται τα a, b, c: ii. αν το c είναι "class, προστίθεται µία νέα κλάση µε ονοµα το a ii. αν το b είναι "subclass, ψάχνουµε τη κλάση µε ονοµα το c και δηµιουργώ σύνδεση κληρονοµικότητας µεταξύ τους ii. αν το c είναι "Property, προστίθεται µία νέα ιδιότητα µε ονοµα το a ii. αν το b είναι "subpropertyof, ψάχνουµε την ιδιότητα µε ονοµα το c και δηλώνεται ότι η a είναι παιδί της c ii. αν το b είναι "domain, ψάχνουµε την ιδιότητα µε ονοµα το a και ορίζεται πεδίο της το c ii. αν το b είναι "range, ψάχνουµε την ιδιότητα µε ονοµα το a και ορίζεται πεδίο τιµών της το c 8 Τέλος αλγορίθµου Σχήµα 4.5. Ο αλγόριθµος για την ανάγνωση του αρχείου τριπλετών, του RDFS 72

73 1 Έναρξη διαδικασίας που έχει όρισµα το όνοµα του αρχείου τριπλετών ενός RDF εγγράφου 2 Άνοιγµα του αρχείου τριπλετών 3 Σάρωση του σειρά σειρά, µέχρι το τέλος του εγγράφου καταχώρηση της κάθε σειράς σε ένα string s 4 Χρήση τριών βοηθητικών string a, b, c. Προχωράµε µέσα στη γραµµή και i. αντιγράφουµε όλο το s στο a µέχρι το πρώτο κενό χαρακτήρα ii. προσπερνούµε το κενό και οµοίως για το b iii. αντιγράφουµε το υπόλοιπο του s στο c 7 Εξετάζονται τα a, b, c και αν οι πρώτοι χαρακτήρες του a και b δεν είναι _ (αποκλείουµε τα lists και τα sequences): i. αγνοούνται όλοι οι χαρακτήρες του b µέχρι το # ii. αντιγράφονται στο idiotita οι υπόλοιποι χαρακτήρες µέχρι το > iii. αγνοούνται όλοι τους χαρακτήρες του c µέχρι το iv. αντιγράφονται στο timi οι υπόλοιποι χαρακτήρες µέχρι το v. αν η timi της ιδιότητας που µόλις διαβάστηκε είναι διάφορη του κενού, ψάχνουµε στη συλλογή των ιδιοτήτων την idiotita και ορίζεται τιµή της η timi 8 Τέλος αλγορίθµου Σχήµα 4.6. Ο αλγόριθµος για την ανάγνωση του αρχείου τριπλετών, του RDF Η εικόνα 4.1 παρουσιάζει τον τρόπο επιλογής των αρχείων εισόδου, ο οποίος είναι κοινός είτε πρόκειται για τοπικά δεδοµένα σε Ν3 ή για ιαδικτυακά δεδοµένα σε µορφή RDF. Εικόνα 4.1. Φόρτωµα Ν3 αρχείων 73

74 4.2.2 Αναπαράσταση Κλάσεων και Ιδιοτήτων Τα δοµικά στοιχεία των δεδοµένων σε RDF είναι οι κλάσεις και οι ιδιότητες των κλάσεων αυτών. Στον RuleML Builder τόσο οι κλάσεις όσο και οι ιδιότητες τους αναπαριστώνται γραφικά ως πλαίσια, έτσι ώστε να είναι ιδιαίτερα εύκολο για τον χρήστη να έχει µια πλήρη εικόνα των δεδοµένων των εγγράφων που επέλεξε. Η εικόνα 4.2 παρουσιάζει το κεντρικό παράθυρο του RuleML Builder στο οποίο φαίνονται αρχικά οι κλάσεις των RDF δεδοµένων που έχουν διαβαστεί σε κάποιο προηγούµενο βήµα. Το κεντρικό παράθυρο αποτελείται από τρία ορθογώνια πλαίσια που περιέχουν τις αρχικές κλάσεις των RDF δεδοµένων, τις συνεπαγόµενες κλάσεις που δηµιουργεί ο χρήστης και τους κανόνες αντίστοιχα. Τόσο τα πλαίσια αυτά όσο και τα περιεχόµενα τους µπορούν να µετακινηθούν και να αλλάξουν µέγεθος µε απλές κινήσεις του ποντικιού ώστε να εξασφαλίζεται η καλύτερη δυνατή προβολή των τµηµάτων που ενδιαφέρουν τον χρήστη. Μεγαλώνοντας το πλαίσιο κάποιας κλάσης, ο χρήστης µπορεί να διακρίνει τις ιδιότητες της. Για παράδειγµα, στην εικόνα 4.3 έχει µεγαλώσει το πλαίσιο της κλάσης Author και παρουσιάζονται τα 5 πλαίσια που αντιστοιχούν στις ιδιότητες της. Οι ιδιότητες µιας κλάσης προκύπτουν από το RDF Schema έγγραφο και αντιστοιχούν στις ιδιότητες που στο rdfs:domain τους έχουν µια συγκεκριµένη κλάση. Εικόνα 4.2. Αναπαράσταση κλάσεων 74

75 Εικόνα 4.3. Αναπαράσταση κλάσεων και ιδιοτήτων Ιεραρχία Κλάσεων και Κληρονοµικότητα Ιδιοτήτων Στα RDF έγγραφα υπάρχουν δύο µορφές ιεραρχίας: η ιεραρχία µεταξύ των κλάσεων και η ιεραρχία µεταξύ των ιδιοτήτων. Σύµφωνα µε την πρώτη οι κλάσεις εκτός από τις δικές τους ιδιότητες που ορίζονται µέσω του προσδιοριστή rdfs:domain κληρονοµούν και άλλες ιδιότητες µέσω των σχέσεων γονέα-παιδί που ορίζονται µε τον προσδιοριστή rdfs:subclassof. Επίσης µέσω της ιδιότητας subpropertyof καθορίζονται σχέσεις κληρονοµικότητας µεταξύ των ιδιοτήτων. Η κληρονοµικότητα των κλάσεων καθορίζει την ανταλλαγή ιδιοτήτων ανάµεσα στους γονείς και στα παιδιά τους. Η κληρονοµικότητά τους, για τις ανάγκες συγγραφής των κανόνων, είναι διπλής κατεύθυνσης, δηλαδή µία κλάση κληροδοτεί τις ιδιότητές της τόσο στα παιδιά όσο και στους γονείς της. Έτσι στην περίπτωση που το δέντρο της ιεραρχίας έχει µοναδική ρίζα (π.χ. κλάση rdfs:resource) τότε η κλάση που βρίσκεται στην ρίζα περιλαµβάνει όλες τις ιδιότητες που υπάρχουν στις RDF κλάσεις. Έστω για παράδειγµα, τρεις κλάσεις οι C 1, C 2 και C 3 για τις οποίες ισχύει ότι οι C 1 και C 2 είναι υποκλάσεις της C 3. Έστω επίσης ότι οι αρχικές ιδιότητες των τριών κλάσεων έχουν ως εξής: C 1 : {P 1,P 2 }, C 2 : {P 3,P 4 }, C 3 : {P 5 }. Τα σχήµατα 4.7 και 4.8 παρουσιάζουν τις ιδιότητες των τριών κλάσεων αρχικά και τελικά (µετά την εφαρµογή της κληρονοµικότητας) αντίστοιχα. 75

76 C 3 P 5 C 1 P 1 P 2 C 2 P 3 P 4 Σχήµα 4.7. Οι αρχικές ιδιότητες των κλάσεων C 3 P 5, P 1, P 2, P 3, P 4 C 1 P 1 P 2 P 5 C 2 P 3 P 4 P 5 Σχήµα 4.8. Οι ιδιότητες των κλάσεων µετά την εφαρµογή της διπλής κληρονοµικότητας Η κληρονοµικότητα των ιδιοτήτων είναι απλή, µε την έννοια ότι οι ιδιότητες κληροδοτούν στις ιδιότητες-παιδιά τους το πεδίο ορισµού (domain), δηλαδή σε ποια κλάση ανήκουν και το πεδίο τιµών τους (range). Έτσι, αν για παράδειγµα υπάρχει η ιδιότητα Α µε πεδίο ορισµού C και πεδίο τιµών rdfs:literal και οριστεί µία νέα ιδιότητα Β που είναι υπο-ιδιότητα της Α και για την οποία ορίζεται µόνο το πεδίο ορισµού της έστω η κλάση D υποσύνολο του C, τότε η Β θα κρατήσει το πεδίο ορισµού της και θα κληρονοµήσει το πεδίο τιµών από την Α. Εποµένως, για τις δύο κλάσεις θα ισχύουν τα παρακάτω: Ιδιότητα Πεδίο Εύρος Τιµών Α C Literal Β D Literal Σε περίπτωση που το πεδίο της υποκλάσης D, δεν ήταν υποσύνολο του πεδίο της υπερκλάσης C, επιλέγεται ως τελικό πεδίο της υποκλάσης η τοµή των δύο συνόλων όπως ορίζει η σηµασιολογία της RDF Schema. 76

77 Εύρεση Ιδιοτήτων των Κλάσεων µε βάση την ιπλή Κληρονοµικότητα Στα δεδοµένα που εισάγονται στο RuleML Builder από τα RDF έγγραφα υπάρχουν κληρονοµικότητες δύο ειδών (κλάσεων και ιδιοτήτων) όπως έχει ήδη ειπωθεί. Εποµένως χρειάζεται ιδιαίτερη προσοχή κατά την ανάγνωση των αρχείων εισόδου ώστε να αποτυπωθεί σωστά η οντολογία των εγγράφων στο γραφικό εργαλείο. Η εφαρµογή λειτουργεί σε δύο φάσεις, για να µπορέσει να αποδώσει σε κάθε κλάση τις σωστές ιδιότητες. Στην πρώτη φάση (δηµιουργία) δηµιουργεί ένα νέο αντικείµενο για κάθε κλάση στο οποίο όµως δεν περιέχεται καθόλου πληροφορία για τις ιδιότητες, παρά µόνο για την κλάση γονέα (αν υπάρχει τέτοια). Αντίστοιχα, για κάθε ιδιότητα δηµιουργείται ένα ξεχωριστό αντικείµενο το οποίο περιέχει πληροφορία για την RDF κλάση στην οποία ανήκει κατά πρώτο λόγο, καθώς και για την κλάση γονέα (αν υπάρχει). Φυσικά τα αντικείµενα κλάσεων και ιδιοτήτων περιέχουν και άλλες πληροφορίες (ονόµατα, εύρη τιµών κ.λπ. τα οποία όµως δεν αφορούν τον αλγόριθµο εφαρµογής της κληρονοµικότητας). Στη δεύτερη φάση (σύνθεση) ο αλγόριθµος, ο οποίος παρουσιάζεται σε µορφή ψευδοκώδικα στo σχήµα 4.9 παίρνει σειριακά όλες τις κλάσεις και προσπαθεί να βρει όλες τις ιδιότητες που θα πρέπει να προστεθούν σε αυτές ( ιαδικασία Find_properties). Για να το πετύχει αυτό χρησιµοποιεί ένα σύνολο (PList) στο οποίο µαζεύει βήµα προς βήµα τις ιδιότητες από τις κλάσεις της ιεραρχίας. Η διαδικασία αυτή καλεί δύο φορές την αναδροµική διαδικασία Search_hierarchy, µία για να βρει τις κλάσεις γονείς και µία για τις κλάσεις παιδιά. Στο τέλος παίρνει όλες τις ιδιότητες που έχουν µαζευτεί στο σύνολο PList και τις προσθέτει στην κλάση. Η διαδικασία Search_hierarchy σε κάθε βήµα καλεί αναδροµικά τον εαυτό της για κάθε υποκλάση ή υπερκλάση της τρέχουσας κλάσης (παράµετρος της διαδικασίας). Στη συνέχεια βρίσκει όλες τις ιδιότητες της τρέχουσας κλάσης και τις προσθέτει στο σύνολο PList. Εδώ θα πρέπει να αναφερθεί ότι κάθε φορά που προστίθεται µια νέα ιδιότητα, προστίθενται µαζί και όλες οι υπο-ιδιότητες αυτής, µέσω της επίσης αναδροµικής συνάρτησης Sub-Properties. 77

78 ιαδικασία Find_properties() Για κάθε rdf_class n n.number_of_properties 0 PList Search_hierarchy (n, True) Search_hierarchy (n, False) Για i 0 Έως PList -1 n.number_of_properties n.number_of_properties + 1 n.properties n.properties PList[i] Τέλος Για Τέλος Για Τέλος ιαδικασίας ιαδικασία Search_hierarchy(κλάση c, Boolean d) Αν b = True Τότε Για κάθε c υποκλάση της k Search_hierarchy (k, d) Τέλος Για Αλλιώς Για κάθε c υπερκλάση της k Search_hierarchy (k, d) Τέλος Για Τέλος Αν Για κάθε p πρωταρχική ιδιότητα της c PList PList p PList PList Sub-Properties(p) Τέλος Για Τέλος ιαδικασίας Συνάρτηση Sub-Properties (ιδιότητα p): Σύνολο Ιδιοτήτων K Για κάθε q υπο-ιδιότητα της p K K Sub-Properties(q) q Τέλος Για Επίστρεψε K Τέλος Συνάρτησης Σχήµα 4.9. Ο αλγόριθµος της σύνθεσης Κλάσεων - Ιδιοτήτων 78

79 4.2.4 ηµιουργία Συνεπαγόµενων Κλάσεων Το δεύτερο ορθογώνιο πλαίσιο του κεντρικού παραθύρου της εφαρµογής (κόκκινο χρώµα) χρησιµεύει για την κατασκευή συνεπαγόµενων κλάσεων (Derived Class) οι οποίες τοποθετούνται στο δεξί µέρος των κανόνων (συµπέρασµα). Ο χρήστης µπορεί να προσθέσει όσες συνεπαγόµενες κλάσεις επιθυµεί, είτε κάνοντας δεξί κλικ στο πλαίσιο των συνεπαγόµενων κλάσεων ή από την αντίστοιχη επιλογή του µενού της εφαρµογής. Για κάθε νέα κλάση, αρχικά δηλώνεται το όνοµα της, όπως παρουσιάζεται στην εικόνα 4.4. Εικόνα 4.4. ηµιουργία συνεπαγόµενης Κλάσης Στη συνέχεια ο χρήστης µπορεί να προσθέσει ιδιότητες στις συνεπαγόµενες κλάσεις µε δύο τρόπους: a) Κάνοντας δεξί κλικ µέσα στο πλαίσιο της συνεπαγόµενης κλάσης και επιλέγοντας την εντολή Add Property, όπως στην εικόνα 4.5. Σε αυτήν την περίπτωση αν επιθυµεί θα πρέπει να δηλώσει και το πεδίο τιµών κάνοντας δεξί κλικ στη νέα ιδιότητα. b) Σέρνοντας (drag and drop) µια ιδιότητα από τις RDF κλάσεις πάνω στο πλαίσιο της συνεπαγόµενης κλάσης. Σε αυτήν την περίπτωση η νέα ιδιότητα που δηµιουργείται παίρνει τόσο το όνοµα όσο και το πεδίο τιµών της αντίστοιχης ιδιότητας της RDF κλάσης. 79

80 Εικόνα 4.5. Προσθήκη ιδιότητας σε συνεπαγόµενη κλάση 4.3 Σύνταξη Κανόνων Το δεύτερο τµήµα του RuleML Builder ασχολείται µε τη σύνταξη κανόνων, την αναπαράστασή τους µε γραφικό τρόπο και την επεξεργασία τους. Συγκεκριµένα, το τρίτο ορθογώνιο πλαίσιο του κεντρικού παραθύρου της εφαρµογής (λευκό χρώµα) χρησιµεύει για την κατασκευή κανόνων Rules. Ο χρήστης µπορεί να δηµιουργήσει πολλούς λογικά ανεξάρτητους κανόνες που θα ανήκουν στο ίδιο RuleML έγγραφο. Ένας κανόνας αναπαριστάται µε ένα ορθογώνιο πλαίσιο (ανοιχτό πράσινο χρώµα) το οποίο περιέχεται στο πλαίσιο των Rules. Ο χρήστης µπορεί να προσθέσει όσoυς κανόνες επιθυµεί είτε κάνοντας δεξί κλικ στο πλαίσιο των κανόνων είτε από την αντίστοιχη επιλογή του µενού της εφαρµογής µέσω της επιλογής New Rule.Οι κανόνες αριθµούνται µε αυστηρά αύξουσα σειρά δηµιουργίας ενώ στο εσωτερικό τους γίνεται εµφανής η οργάνωση του κανόνα σε προϋποθέσεις (IF) και συµπεράσµατα (THEN) (Εικόνα 4.6). Εικόνα 4.6. Προσθήκη Κανόνα 80

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

ΑΝΑΠΑΡΑΣΤΑΣΗ ΓΝΩΣΗΣ ΣΤΟΝ ΠΑΓΚΟΣΜΙΟ ΙΣΤΟ ΑΝΑΠΑΡΑΣΤΑΣΗ ΓΝΩΣΗΣ ΣΤΟΝ ΠΑΓΚΟΣΜΙΟ ΙΣΤΟ XML (extended Markup Language) Ι. Χατζηλυγερούδης ΕΙΣΑΓΩΓΗ SGML (Standard Generalized Markup Language) Διεθνές πρότυπο ορισμού μεθόδων αναπαράστασης πληροφοριών

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

Γραφικό Περιβάλλον Μοντελοποίησης Οντολογιών και Μεταδεδοµένων RDF στο Σηµασιολογικό ιαδίκτυο

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Γραφικό Περιβάλλον Οπτικής Απεικόνισης Οντολογιών RDF Schema στο Σημασιολογικό Ιστό

Γραφικό Περιβάλλον Οπτικής Απεικόνισης Οντολογιών RDF Schema στο Σημασιολογικό Ιστό ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ ΔΙΑΤΜΗΜΑΤΙΚΟ ΜΕΤΑΠΤΥΧΙΑΚΟ ΠΡΟΓΡΑΜΜΑ ΣΤΑ ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ (Master in Information Systems) Γραφικό Περιβάλλον Οπτικής Απεικόνισης Οντολογιών RDF Schema στο Σημασιολογικό Ιστό

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

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

ιαχείριση Γνώσης σε Ενδοεπιχειρισιακά ίκτυα και το ιαδίκτυο (ΗΥ-566) ιαχείριση Γνώσης σε Ενδοεπιχειρισιακά ίκτυα και το ιαδίκτυο (ΗΥ-566) Άσκηση 2 - Αναφορά "Επιλογή Παραδείγµατος Πεδίου Εφαρµογής Περιγραφής Γνώσης, Σύνταξη Σχήµατος σε RDFS (δεδοµένa σε RDF) και Επερωτήσεις

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

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

Εργαστήριο Σημασιολογικού Ιστού Εργαστήριο Σημασιολογικού Ιστού Ενότητα 5: Resource Description Framework (RDF) Μ.Στεφανιδάκης 13-3-2016. Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του

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

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

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

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

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

Εργαστήριο Σημασιολογικού Ιστού Εργαστήριο Σημασιολογικού Ιστού Ενότητα 5: Resource Description Framework (RDF) Μ.Στεφανιδάκης 16-3-2015. Τα επίπεδα του Σημασιολογικού Ιστού RDF: Το κύριο πρότυπο του Σημασιολογικού Ιστού, χρησιμοποιεί

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

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

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

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

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

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

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

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

Μεταδεδομένα στο Ψηφιακό περιβάλλον Μεταδεδομένα στο Ψηφιακό περιβάλλον Μονάδα Αριστείας Ανοικτού Λογισμικού - Χαροκόπειο Πανεπιστήμιο Ψηφιακό Τεκμήριο Οτιδήποτε υπάρχει σε ηλεκτρονική μορφή και μπορεί να προσπελαστεί μέσω υπολογιστή Μεταδεδομένα

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

Ανάπτυξη Συστήματος Εκτέλεσης Διαδικτυακών

Ανάπτυξη Συστήματος Εκτέλεσης Διαδικτυακών ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ - ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ Ανάπτυξη Συστήματος Εκτέλεσης Διαδικτυακών Κανόνων RuleML στο Σύστημα Παραγωγής CLIPS Διπλωματική Εργασία της Μόκας Ευαγγελίας

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

ΗΥ Λογική. Διδάσκων: Δημήτρης Πλεξουσάκης Καθηγητής

ΗΥ Λογική. Διδάσκων: Δημήτρης Πλεξουσάκης Καθηγητής ΗΥ 180 - Λογική Διδάσκων: Καθηγητής E-mail: dp@csd.uoc.gr Ώρες διδασκαλίας: Δευτέρα, Τετάρτη 4-6 μμ, Αμφ. Β Ώρες φροντιστηρίου: Πέμπτη 4-6 μμ, Αμφ. Β Ώρες γραφείου: Δευτέρα, Τετάρτη 2-4 μμ, Κ.307 Web site:

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

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

ΕΘΝΙΚΟ ΚΑΙ ΚΑΠΟΔΙΣΤΡΙΑΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΕΘΝΙΚΟ ΚΑΙ ΚΑΠΟΔΙΣΤΡΙΑΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΣΥΜΠΛΗΡΩΜΑΤΙΚΕΣ ΣΗΜΕΙΩΣΕΙΣ ΛΟΓΙΚΟΥ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ (III) ΙΖΑΜΠΩ ΚΑΡΑΛΗ ΑΘΗΝΑ 2008 Σύγχρονεςανάγκες για αναπαράσταση γνώσης

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

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Λογική. Ενότητα 1: Εισαγωγή. Δημήτρης Πλεξουσάκης Τμήμα Επιστήμης Υπολογιστών

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

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

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

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

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

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

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

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

Κεφάλαιο 2.3: Προγραμματισμός. Επιστήμη ΗΥ Κεφ. 2.3 Καραμαούνας Πολύκαρπος

Κεφάλαιο 2.3: Προγραμματισμός. Επιστήμη ΗΥ Κεφ. 2.3 Καραμαούνας Πολύκαρπος Κεφάλαιο 2.3: Προγραμματισμός 1 2.3.1 Αναφορά σε γλώσσες προγραμματισμού και «Προγραμματιστικά Υποδείγματα» 2.3.1.1 Πρόγραμμα και Γλώσσες Προγραμματισμού Πρόγραμμα: σύνολο εντολών που χρειάζεται να δοθούν

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

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

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

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

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

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

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

ιπλωµατική Εργασία του Γεράσιµου Παπαδόπουλου (ΑΕΜ: 295)

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

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

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

Τεχνολογίες RDF για τον Ιστό Δεδοµένων 1 Τεχνολογίες RDF για τον Ιστό Δεδοµένων The Semantic Web is Dead? Hardly! The reports of my death are greatly exaggerated. Mark Twain Διαχείριση δεδοµένων στον Ιστό 2 Έστω ένας φανταστικός ιστός! html

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ΣΧΟΛΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ: ΜΙΑ ΟΝΤΟΛΟΓΙΚΗ ΠΡΟΣΕΓΓΙΣΗ ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΣΧΟΛΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ: ΜΙΑ ΟΝΤΟΛΟΓΙΚΗ ΠΡΟΣΕΓΓΙΣΗ Διπλωματική Εργασία του ΣΥΝΟΠΙΔΗ ΕΥΡΙΠΙΔΗ (ΑΕΜ: 221) Επιβλέπων Καθηγητής:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Linked Data for the Masses: Η προσέγγιση και το λογισμικό Linked Data for the Masses: Η προσέγγιση και το λογισμικό Γιώργος Αναδιώτης, Πάνος Ανδριόπουλος, Πάνος Αλεξόπουλος, ημήτρης Βεκρής, Αριστοτέλης Ζωσάκης IMC Technologies S.A. 15/05/2010 Linked Data for

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

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Κεφάλαιο 8 : H γλώσσα προγραµµατισµού Pascal 1 ο Μέρος σηµειώσεων (Ενότητες 8.1 & 8.2 σχολικού βιβλίου)

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Κεφάλαιο 8 : H γλώσσα προγραµµατισµού Pascal 1 ο Μέρος σηµειώσεων (Ενότητες 8.1 & 8.2 σχολικού βιβλίου) ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Κεφάλαιο 8 : H γλώσσα προγραµµατισµού Pascal 1 ο Μέρος σηµειώσεων (Ενότητες 8.1 & 8.2 σχολικού βιβλίου) 1. Εισαγωγή Χαρακτηριστικά της γλώσσας Τύποι δεδοµένων Γλώσσα προγραµµατισµού

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

Το µάθηµα Ηλεκτρονική ηµοσίευση

Το µάθηµα Ηλεκτρονική ηµοσίευση Τµήµα Αρχειονοµίας Βιβλιοθηκονοµίας Ιόνιο Πανεπιστήµιο Το µάθηµα Ηλεκτρονική ηµοσίευση Σαράντος Καπιδάκης Επικοινωνία Σαράντος Καπιδάκης Εργαστήριο Ψηφιακών Βιβλιοθηκών και Ηλεκτρονικής ηµοσίευσης sarantos@ionio.gr

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

Υπάρχουν διάφοροι ορισμοί. Η οντολογία (ontology), ως μια τυποποιημένη περιγραφή ενός συγκεκριμένου τομέα γνώσης η οποία πρέπει να είναι αποδεκτή από

Υπάρχουν διάφοροι ορισμοί. Η οντολογία (ontology), ως μια τυποποιημένη περιγραφή ενός συγκεκριμένου τομέα γνώσης η οποία πρέπει να είναι αποδεκτή από Υπάρχουν διάφοροι ορισμοί. Η οντολογία (ontology), ως μια τυποποιημένη περιγραφή ενός συγκεκριμένου τομέα γνώσης η οποία πρέπει να είναι αποδεκτή από μια ομάδα ατόμων, για να έχει νόημα η ύπαρξή της, έρχεται

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

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

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

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

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

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

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

2.1 Αντικειµενοστρεφής προγραµµατισµός

2.1 Αντικειµενοστρεφής προγραµµατισµός 2.1 Αντικειµενοστρεφής προγραµµατισµός Στον αντικειµενοστρεφή προγραµµατισµό (object oriented programming, OOP) ένα πρόγραµµα υπολογιστή είναι ένα σύνολο αλληλεπιδρώντων αντικειµένων. Μπορεί να ειπωθεί

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

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

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

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

Αρχές Προγραμματισμού Υπολογιστών

Αρχές Προγραμματισμού Υπολογιστών Αρχές Προγραμματισμού Υπολογιστών Ανάπτυξη Προγράμματος Β ΕΠΑΛ Τομέας Πληροφορικής Βελώνης Γεώργιος Καθηγητής Πληροφορικής ΠΕ20 Κύκλος ανάπτυξης προγράμματος/λογισμικού Η διαδικασία ανάπτυξης λογισμικού,

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ, ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ, ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ, ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 435: ΑΛΛΗΛΕΠΙ ΡΑΣΗ ΑΝΘΡΩΠΟΥ ΥΠΟΛΟΓΙΣΤΗ Ακαδηµαϊκό Έτος 2004 2005, Χειµερινό Εξάµηνο 2 Η ΟΜΑ ΙΚΗ ΕΡΓΑΣΙΑ: ΑΝΑΠΤΥΞΗ ΑΡΧΙΚΗΣ Ι ΕΑΣ ΤΟΥ ΣΥΣΤΗΜΑΤΟΣ ΚΑΙ ΑΝΑΛΥΣΗ ΑΝΑΓΚΩΝ

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

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

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

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

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

Εργαστήριο Σημασιολογικού Ιστού Εργαστήριο Σημασιολογικού Ιστού Ενότητα 8: Εισαγωγή στη SPARQL Βασική Χρήση Μ.Στεφανιδάκης 3-5-2015. Η γλώσσα ερωτημάτων SPARQL Ερωτήσεις (και ενημερώσεις) σε σετ δεδομένων RDF Και σε δεδομένα άλλης μορφής

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

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

ΕΠΛ 012 Εισαγωγή στο Παγκόσμιο Πλέγμα Πληροφοριών ΕΠΛ 012 Εισαγωγή στο Παγκόσμιο Πλέγμα Πληροφοριών World Wide Web (WWW) Θέματα Επεξεργασία δεδομένων στο Web Δημιουργία απλών σελίδων HTML Περιγραφή κάποιων XHTML στοιχείων (tags) Εξέλιξης του WWW Το WWW

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

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

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

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

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

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

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

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

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

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

Μαθηματικά Λογισμικά και Γλώσσες Αναπαράστασης Γνώσης

Μαθηματικά Λογισμικά και Γλώσσες Αναπαράστασης Γνώσης Μαθηματικά Λογισμικά και Γλώσσες Δρ. Γεώργιος Χρ. Μακρής 18 Μαΐου 2018 Αναπαράσταση Μαθηματικών Κειμένων στο διαδίκτυο (υπάρχουσα κατάσταση) Περίπτωση 1: Όλο το κείμενο παρέχεται στη ιστοσελίδα με ειδική

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

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

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

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

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

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

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

Άσκηση RDF Schema. <book:publisher rdf:id="penguin_pub"> <book:publishes rdf:resource="#book20"/> </book:publisher>

Άσκηση RDF Schema. <book:publisher rdf:id=penguin_pub> <book:publishes rdf:resource=#book20/> </book:publisher> Άσκηση RDF Schema Να επεκτείνετε το RDF Schema της ερώτησης 4 με σκοπό να αναπαραστήσετε την παρακάτω γνώση: «Ο Εκδότης εκδίδει Βιβλία». Να ορίσετε νέες κλάσεις και ιδιότητες αν χρειαστεί, συσχετίζοντάς

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

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

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

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

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

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

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

Βάσεις ιαδικτύου. Θέματα. Εισαγωγή στην XML. Ευρετήρια για την Ανάκτηση Κειμένων. Ο αλγόριθμος HITS. είναι η XML. Παράδειγμα XML

Βάσεις ιαδικτύου. Θέματα. Εισαγωγή στην XML. Ευρετήρια για την Ανάκτηση Κειμένων. Ο αλγόριθμος HITS. είναι η XML. Παράδειγμα XML Θέματα Βάσεις ιαδικτύου Ο αλγόριθμος HITS Βάσεις Δεδομένων ΙΙ 2004-2005 Ευαγγελία Πιτουρά 1 Βάσεις Δεδομένων ΙΙ 2004-2005 Ευαγγελία Πιτουρά 2 Τι είναι η XML XML Mark-up Γλώσσες (Γλώσσες Σημειοθέτησης)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Εργαστήριο Σημασιολογικού Ιστού Εργαστήριο Σημασιολογικού Ιστού Ενότητα 3: Από το μοντέλο EAV στους γράφους Μ.Στεφανιδάκης 4-3-2015. Το μοντέλο EAV σχηματικά Τα δεδομένα ως τώρα έχουν τη μορφή μεμονωμένων νιφάδων Είναι όμως πράγματι

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

J-GANNO. Σύντοµη αναφορά στους κύριους στόχους σχεδίασης και τα βασικά χαρακτηριστικά του πακέτου (προέκδοση 0.9Β, Φεβ.1998) Χάρης Γεωργίου

J-GANNO. Σύντοµη αναφορά στους κύριους στόχους σχεδίασης και τα βασικά χαρακτηριστικά του πακέτου (προέκδοση 0.9Β, Φεβ.1998) Χάρης Γεωργίου J-GANNO ΓΕΝΙΚΕΥΜΕΝΟ ΠΑΚΕΤΟ ΥΛΟΠΟΙΗΣΗΣ ΤΕΧΝΗΤΩΝ ΝΕΥΡΩΝΙΚΩΝ ΙΚΤΥΩΝ ΣΤΗ ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ JAVA Σύντοµη αναφορά στους κύριους στόχους σχεδίασης και τα βασικά χαρακτηριστικά του πακέτου (προέκδοση 0.9Β,

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

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

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

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

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

Εργαστήριο Σημασιολογικού Ιστού Εργαστήριο Σημασιολογικού Ιστού Ενότητα 4: Χρησιμοποιώντας Ενιαία Αναγνωριστικά URIs και IRIs Μ.Στεφανιδάκης 28-2-2016. Η έννοια της οντότητας Στον Σημασιολογικό Ιστό οι τριάδες μπορούν να εκληφθούν ως

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

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

Εργαστήριο Σημασιολογικού Ιστού Εργαστήριο Σημασιολογικού Ιστού Ενότητα 3: Από το μοντέλο EAV στους γράφους Μ.Στεφανιδάκης 23-2-2016. Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα.

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

Γενικά Στοιχεία Ηλεκτρονικού Υπολογιστή

Γενικά Στοιχεία Ηλεκτρονικού Υπολογιστή Γενικά Στοιχεία Ηλεκτρονικού Υπολογιστή 1. Ηλεκτρονικός Υπολογιστής Ο Ηλεκτρονικός Υπολογιστής είναι μια συσκευή, μεγάλη ή μικρή, που επεξεργάζεται δεδομένα και εκτελεί την εργασία του σύμφωνα με τα παρακάτω

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

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

Σημασιολογικός Ιστός (Semantic Web) - XML Πανεπιστήμιο Πειραιώς Τμήμα Ψηφιακών Συστημάτων Σημασιολογικός Ιστός (Semantic Web) - XML 22/11/2016 Δρ. Ανδριάνα Πρέντζα Αναπληρώτρια Καθηγήτρια aprentza@unipi.gr Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων

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

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

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

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

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

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

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

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

Εργαστήριο Σημασιολογικού Ιστού Εργαστήριο Σημασιολογικού Ιστού Ενότητα 1: Σημασιολογία και Μεταδεδομένα Μ.Στεφανιδάκης 5-2-2016. Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα.

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

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

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

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

Προγραμματισμός Η/Υ. Προτεινόμενα θέματα εξετάσεων Εργαστήριο. Μέρος 1 ό. ΤΕΙ Λάρισας- Σχολή Τεχνολογικών Εφαρμογών Τμήμα Πολιτικών Έργων Υποδομής

Προγραμματισμός Η/Υ. Προτεινόμενα θέματα εξετάσεων Εργαστήριο. Μέρος 1 ό. ΤΕΙ Λάρισας- Σχολή Τεχνολογικών Εφαρμογών Τμήμα Πολιτικών Έργων Υποδομής Προγραμματισμός Η/Υ Προτεινόμενα θέματα εξετάσεων Εργαστήριο Μέρος 1 ό ΤΕΙ Λάρισας- Σχολή Τεχνολογικών Εφαρμογών Τμήμα Πολιτικών Έργων Υποδομής Ιανουάριος 2011 Καλογιάννης Γρηγόριος Επιστημονικός/ Εργαστηριακός

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

Οργάνωση Γεωγραφικών. πληροφοριών

Οργάνωση Γεωγραφικών. πληροφοριών Οργάνωση Γεωγραφικών Οργάνωση γεωγραφικών 1 Ορισµοί - ορολογία εδοµένα (Data) ένα σύνολο από γεγονότα και στοιχεία, τα οποία έχουν συλλεχθεί για κάποιο συγκεκριµένο σκοπό Πληροφορίες (Information) επεξεργασµένα

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

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

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

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

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

Τεχνητή Νοημοσύνη (ΥΠ23) 6 ο εξάμηνο Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ουρανία Χατζή Τεχνητή Νοημοσύνη (ΥΠ23) 6 ο εξάμηνο Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ουρανία Χατζή raniah@hua.gr 1 Αναπαράσταση Γνώσης Η περιγραφή ενός προβλήματος σε συνδυασμό με τους τελετές

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

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

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

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

Μαθησιακές δραστηριότητες με υπολογιστή

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

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

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

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

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

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

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

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

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

Π Τ Υ Χ Ι Α Κ Η Ε Ρ Γ Α Σ Ι Α ΑΝΩΤΑΤΟ ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙ ΕΥΤΙΚΟ Ι ΡΥΜΑ ΠΕΙΡΑΙΑ ΤΜΗΜΑ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΤΟΜΕΑΣ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ Η/Υ, ΠΛΗΡΟΦΟΡΙΚΗΣ & ΙΚΤΥΩΝ Εργ. Τεχνολογίας Λογισμικού & Υπηρεσιών S 2 E Lab Π Τ Υ Χ Ι

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

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

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

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

Περί της Ταξινόμησης των Ειδών

Περί της Ταξινόμησης των Ειδών Αριστοτέλειο Πανεπιστήμιο Θεσσαλονίκης Σχολή Θετικών Επιστημών Τμήμα Φυσικής 541 24 Θεσσαλονίκη Καθηγητής Γεώργιος Θεοδώρου Tel.: +30 2310998051, Ιστοσελίδα: http://users.auth.gr/theodoru Περί της Ταξινόμησης

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

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

Βάσεις Δεδομένων ΙΙ. Διάλεξη 5 η XML και ΒΔ στο Διαδίκτυο Βάσεις Δεδομένων ΙΙ Διάλεξη 5 η XML και ΒΔ στο Διαδίκτυο Δ. Χριστοδουλάκης - Α. Φωκά Τμήμα Μηχανικών Η/Υ & Πληροφορικής - Εαρινό Εξάμηνο 2007 Εισαγωγή Πολλές εφαρμογές διαδικτύου υποστηρίζουν web διεπαφές

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

ΕΠΛ 434: Λογικός Προγραμματισμός

ΕΠΛ 434: Λογικός Προγραμματισμός ΕΠΛ 434: Λογικός Προγραμματισμός και Τεχνητή Νοημοσύνη Επισκ. Λέκτορας Λοΐζος Μιχαήλ Τμήμα Πληροφορικής ρ Πανεπιστήμιο Κύπρου (Χειμερινό Εξάμηνο 2008 2009) Προγράμματα στην Prolog Αλγόριθμος = Λογική +

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

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

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

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

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

Αν σας ενδιαφέρει κάποιο θέμα, δείτε τη σχετική βιβλιογραφία και στείλτε μου  για να συναντηθούμε και να το συζητήσουμε. Πτυχιακές και Διπλωματικές Εργασίες για τους προπτυχιακούς και μεταπτυχιακούς φοιτητές του Τμήματος Πληροφορικής και Τηλεπικοινωνιών Ακαδημαϊκό Έτος 2008-2009 Αναπληρωτής Καθηγητής Μανόλης Κουμπαράκης

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

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

Κείμενο ASCII Unicode - HTML. Κωδικοποίηση ASCII / Unicode HTML Κείμενο ASCII Unicode - HTML Κωδικοποίηση ASCII / Unicode HTML Κείμενο και Τυπογραφία Αναπαράσταση κειμένου Αρχικά οι ανάγκες των προγραμμάτων απαιτούσαν ένα περιορισμένο σύνολο κωδικοποιημένων χαρακτήρων

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

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

Διαχείριση Πολιτισμικών Δεδομένων Διαχείριση Πολιτισμικών Δεδομένων Μάθημα 9 Μεταδεδομένα Τζανέτος Πομόνης ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Συντήρησης Πολιτισμικής Κληρονομιάς Τι είναι τα Μεταδεδομένα; Ο όρος

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

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

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

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

Επιχειρηµατικές ιαδικασίες: Εισαγωγικές Έννοιες & Αρχικά στάδια µοντελοποίησης

Επιχειρηµατικές ιαδικασίες: Εισαγωγικές Έννοιες & Αρχικά στάδια µοντελοποίησης ΟΙΚΟΝΟΜΙΚΌ ΠΑΝΕΠΙΣΤΉΜΙΟ ΑΘΗΝΏΝ ΤΜΗΜΑ ΙΟΙΚΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ & ΤΕΧΝΟΛΟΓΙΑΣ Επιχειρηµατικές ιαδικασίες: Εισαγωγικές Έννοιες & Αρχικά στάδια µοντελοποίησης 1o φροντιστήριο στο µάθηµα Ανάλυση και µοντελοποίηση

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

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

ΓΛΩΣΣΙΚΗ ΤΕΧΝΟΛΟΓΙΑ. Μάθημα 1 ο : Εισαγωγή στην γλωσσική τεχνολογία. Γεώργιος Πετάσης. Ακαδημαϊκό Έτος: 2012 2013 ΓΛΩΣΣΙΚΗ ΤΕΧΝΟΛΟΓΙΑ Μάθημα 1 ο : Εισαγωγή στην γλωσσική τεχνολογία Γεώργιος Πετάσης Ακαδημαϊκό Έτος: 2012 2013 ΤMHMA MHXANIKΩΝ Η/Υ & ΠΛΗΡΟΦΟΡΙΚΗΣ, Πανεπιστήμιο Πατρών, 2012 2013 Τι είναι η γλωσσική τεχνολογία;

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

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

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

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

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

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

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