You are on page 1of 12

Αναπαράσταση εµπειρογνώσης µε χρήση Θεµατικών Χαρτών 1

Πανεπιστήµιο Θεσσαλίας
Τµήµα Μηχανικών Η/Υ, Τηλεπικοινωνιών και ∆ικτύων

Ειδικά Θέµατα-Εργασίες
Θέµα: Αναπαράσταση εµπειρογνώσης µε χρήση θεµατικών χαρτών (Topic Maps)

Επιβλέπων καθηγητής:Βασίλειος Σ. Βερύκιος

Παππάς Λάµπρος
ΑΕΜ: 1701028

Εαρινό Εξάµηνο 2006

Λάµπρος Παππάς

Πανεπιστήµιο Θεσσαλίας
Τµήµα Μηχανικών Η/Υ Τηλεπικοινωνιών και ∆ικτύων

Αναπαράσταση εµπειρογνώσης µε χρήση Θεµατικών Χαρτών 2 Περιεχόµενα Περιεχόµενα 2 Πρόλογος 3 Τεχνικές Αναπαράστασης Γνώσης 3 RDF .OWL 5 Topic Maps (Θεµατικοί Χάρτες) 5 Σχεδίαση Λογισµικού 6 Η εφαρµογή 7 Υλοποίηση 8 RDF-OWL vs Topic Maps Συµπεράσµατα – Απολογισµός 10 Βιβλιογραφία 11 Screenshots 12 Λάµπρος Παππάς Πανεπιστήµιο Θεσσαλίας Τµήµα Μηχανικών Η/Υ Τηλεπικοινωνιών και ∆ικτύων .

Στα πλαίσια της εργασίας µελετήθηκαν τόσο πιο δύσκολα κάποιος µπορούσε να βρεί τις µέθοδοι αναπαράστασης γνώσης και ειδικά τα συγκεκριµένες πληροφορίες που ο ίδιος. Επιπλέον δεν υπήρχε καµµία Topic Maps και του Java API τους (tm4j) ένδειξη για την εγκυρότητα ή έστω το βαθµό ανέπτυξα µια εφαρµογή για διαχείριση του αποδοχής κάθε δηµοσιευµένης πληροφορίας. άρα (World Wide Web) αποτελούν αναµφισβήτητα και οι πιο πιθανές να περιέχουν χρήσιµη τεράστια προσφορά της Επιστήµης της πληροφορία. που αποτελεί επέκταση του ενδιαφέρει. εκείνη τη Topic Maps (Θεµατικοί Χάρτες). την HTML. Οι χρονοδιαγράµµατος ανάπτυξης λογισµικού από πρώτες µηχανές αναζήτησης δεν έλυσαν οµάδα προγραµµατιστών. έρευνες . για την αξιολόγηση κάθε ιστοσελίδας. οι πρώτες σελίδες αποτελεσµάτων που επιστρέφει η µηχανή Το Internet και κυρίως ο παγκόσµιος ιστός είναι οι πιό διάσηµες . Τα είναι αυτή µε τα περισσότερα hits (επισκέψεις) πρώτα χρόνια χρήσης του web όλοι ήταν ανά ηµέρα. ενώ η εταιρεία ευχαριστηµένοι: Το web ήταν το τέλειο µέσο για “google. Η αποτελεσµατικότητα της αναζήτησης ανέβηκε κατακόρυφα. ιστοσελίδες που περιέχουν τις λέξεις του query . Οι εκατοµµύρια χρήστες που Πληροφορικής στην παγκόσµια κοινότητα. Ο χρήστης ώρα αφορά σχεδιασµό ανάπτυξης λογισµικού σε εισήγαγε κάποιες λέξεις οι οποίες τον ενδιέφεραν Java και στερείται γραφικού περιβάλλοντος. παγκοσµίως. ενώ υλοποιεί και ένα πολύ να λαµβάνει υπ’οψη τη λογική σχέση των λέξεων σηµαντικό κοµµάτι της σχεδίασης λογισµικού: τον της επερώτησης µε την ιστοσελίδα. Η ιστοσελίδα αναπαράστασης δεδοµένων . Οι χρήστες του google γνωρίζουν Τεχνικές Aναπαράστασης Γνώσης πλέον ότι όταν εκτελούν ένα query. «δηµοσιευµένων» στο web πληροφοριών αύξανε. αυτή τη φορά όµως διατεταγµένες κατά σειρά σηµαντικότητας/εγκυρότητας. Β. Επιβλέπων Όσο όµως η ποσότητα των ήταν ο κ. λήξης αλλά και Το 1998 [2]οι Larry Page και Sergey Brin του αδρανούς χρόνου (πλεόνασµα – float – slack. Πλέον ο χρήστης αφού συγκεκριµένες µεθόδους (Topic Maps/ OWL / δώσει το query (ερώτηµα – λέξεις που RDF) και µία µηχανή γραφικής αναπαράστασης περιλαµβάνονται στην αναζήτηση) που τον Topic Maps (tmnav). ειδήσεις και ένα Ειδικά Θέµατα/Εργασίες για το εαρινό εξάµηνο σωρό άλλα χρήσιµα ή άχρηστα πράγµατα. έκαναν την πρώτη µεγάλη επανάσταση στον time [1]) ανάπτυξης κάθε κοµµατιού του τοµέα της αναζήτησης πληροφορίας στο web. αρα και οι πιό έγκυρες. Με χρήση των στιγµή . κάποιες σύνδεσµο προς αυτή.com” είναι από τις πιο κερδοφόρες αλλά την παρουσίαση πληροφορίας από οποιοδήποτε και καινοτόµες εταιρείες στον τοµέα της µέρος του κόσµου σε οποιοδήποτε µέρος του Λάµπρος Παππάς Πανεπιστήµιο Θεσσαλίας Τµήµα Μηχανικών Η/Υ Τηλεπικοινωνιών και ∆ικτύων . κάποιες γενικές πληροφορίες για το πόσες και πόσο σηµαντικές ιστοσελίδες έχουν την αναπαράσταση γνώσης. παραδοσιακό web στηρίζεται στα προτόκολλα εκτελώντας αναζητήσεις. Ο Σε αυτή τη γραπτή αναφορά θα παρουσιάσω. Το επισκέπτονται καθηµερινά την ιστοσελίδα. σχεδιαζόµενου λογισµικού (Project Component). Βερύκιος. του ακαδηµαϊκού έτους 2005-2006. Είναι και η µηχανή επέστρεφε όλες τις ιστοσελίδες που όµως ένα καλό παράδειγµα χρήσης µεθόδων περιείχαν αυτές τις λέξεις. δηµιουργόντας τη µηχανή αναζήτησης google [3]. να δηµοσιεύουν αλλά και να Η εργασία έγινε στα πλαίσια του µαθήµατος διαβάζουν απόψεις. χωρίς καµµία ένδειξη αναπαράστασης γνώσης (και συγκεκριµένα των για το πόσο έγκυρη ήταν η ιστοσελίδα και χωρίς Topic Maps ) . υπολογισµό του χρόνου έναρξης. Εκατοµµύρια άνθρωποι άρχισαν να επικοινωνούν. χρειαζόταν. αποδεικνύουν την επικοινωνίας του Internet και σε µια γλώσσα αποτελεσµατικότητα του google . Η εφαρµογή για την αποτελεσµατικά το πρόβληµα . παίρνει ως αποτέλεσµα όλες τις tm4j ΑΡΙ. αλγόριθµος αυτός απονέµει «βαθµούς εκτός από λεπτοµέρειες για την εφαρµογή και την σηµαντικότητας» σε κάθε ιστοσελίδα ανάλογα µε υλοποίηση της. Φυσικά µπορούν να υλοποιηθούν πολύ Το καινούριο σε αυτή τη µηχανή αναζήτησης περισσότερες δυνατότητες για τις οποίες θα ήταν η ενσωµάτωση του αλγορίθµου page-rank µιλήσουµε στο σχετικό κεφάλαιο. Αναπαράσταση εµπειρογνώσης µε χρήση Θεµατικών Χαρτών 3 Πρόλογος κόσµου.

αλλά και οι ιστοσελίδες. απλά µια γλώσσα µορφοποίησης κειµένου. γνώσης. Θα Αναπαράστασης Γνώσης που είναι το κύριο θέµα του επιστραφεί λοιπόν και η προαναφερθείσα της εργασίας.. Η εξόρυξη της λογικής (Περισσότερα σε επόµενο κεφάλαιο της εργασίας) σχέσης µεταξύ των οντοτήτων που αναφέρονται RDF Schema: Γλώσσα αναπαράστασης ενός σε ένα κείµενο. (Περισσότερα σε επόµενο κεφάλαιο της στη γλώσσα αναπαράστασης του. Αναπαράσταση εµπειρογνώσης µε χρήση Θεµατικών Χαρτών 4 πληροφορικής. µελετώντας απλά τα strings vocabulary µε ιδιότητες και κλάσεις για RDF (συµβολοσειρές) που αποτελούν το κείµενο είναι αντικείµενα. Ένα . ιστοσελίδα (µάλιστα άν αυτή βρίσκεται σε κάποιο Οι τεχνολογίες που ενσωµατώνονται στο έγκυρο site µπορεί να επιστραφεί και σε πρώτες Semantic Web είναι φυσικά τεχνικές θέσεις) . Τα αποτελέσµατα βέβαια δεν ήταν τους. Η µόνη ηλεκτρονικούς υπολογιστές χωρίς νοηµοσύνη επιλογή που έχει είναι να εισάγει σε κάποια (Βασικά αυτός είναι ένας πολύ καλός ορισµός της µηχανή αναζήτησης τη λέξη “καρδιολόγος”. Το παράδειγµα είναι εξαιρετικά οποία χρησιµοποιείται για τη δηµιουργία απλοικό. τις επιλογές του δηµιουργού τους. έχουν δηµιουργηθεί τους! Η εκ των υστέρων ανακάλυψη των αρκετές άλλες τεχνολογίες που σαφέστατα Λάµπρος Παππάς Πανεπιστήµιο Θεσσαλίας Τµήµα Μηχανικών Η/Υ Τηλεπικοινωνιών και ∆ικτύων . Χώρίς “το google” όλοι οι χρήστες αντικειµένων και των σχέσεων που τα συνδέουν . Τα queries.. Αν αναλογιστούµε την ειδική σηµασία δοµηµένων κειµένων µε µόνο περιορισµό στα tabs που έχουν πάρα πολλές λέξεις ή η σύνταξή τους τους . η οποία θα περιέχει άχρηστη για το αναπαράστασης γνώσης. ο Tim Berners Lee . πρόβληµα. ίσως ολόκληρο το web να µην είχε γνωρίσει Ο εµνευστής του Web . Έστω τώρα ότι κάποιος χρήστης σε µια µορφή που θα είναι “αναγνώσιµη” από αναζητεί ιστοσελίδες καρδιολόγων. ιδίως για έναν άπειρο χρήστη. Παρέχει περισσότερες πρόβληµα της αναπαράστασης και αναζήτησης δυνατότητες για περιγραφή των οντολογιών. ΟWL (Web Ontology Language) : Επέκταση Που βρίσκεται λοιπόν το πραγµατικό του RDF Schema. τις συνώνυµες και γλώσσα την οποία χρησιµοποιούν οι διάφορες αντίθετες λέξεις θα καταλάβουµε ότι η αναζήτηση τεχνικές αναπαράστασης γνώσης. τεχνική αναπαράστασης γνώσης. γνώσης . της δοµής ενός ΧΜL εγγράφου. αδύνατη – µια µορφή αταξινόµητες. Πρότειναν λοιπόν τη Παρ’όλα αυτά το google δεν έλυσε όλα τα µετατροπή/επέκταση του Web σε Semantic Web προβήµατα της αναζήτησης πληροφορίας στο (Σηµασιολογικός Ιστός) [4] [5] . Με λίγα παράδειγµα : Έστω ότι σε κάποια ιστοσελίδα λόγια προσπαθούµε να αναπαραστήσουµε τα αναγράφεται : “Ο Λάµπρος Παππάς δεν είναι αντικείµενα/οντότητες του πραγµατικού κόσµου καρδιολόγος”.). Το semantic web web. πιθανώς άσχετες. τέτοια επιτυχία και να µην είχε τον όγκο των µαζί µε άλλους ερευνητές αντιλήφθηκαν το πληροφοριών που διαθέτει σήµερα. τις διαφορές στην γλώσσα . Κάποιες προσπάθειες για αναπαράσταση RDF (Resource Description Framework) : γνώσης µετά από επεξεργασία ενός κειµένου Ένα απλό data model (µοντέλο δεδοµένων) για έκαναν οι επιστήµονες του τοµέα της Τεχνητής αναφορά σε αντικείµενα και στις σχέσεις µεταξύ Νοηµοσύνης. δεν είναι µια προσπάθεια αναπαράστασης της γνώσης περιέχουν καµµιά ένδειξη για το πραγµατικό του Web µε τρόπο που να είναι προσβάσιµη περιεχόµενο τους (σε επίπεδο γνώσης) . Η HTML είναι εργασίας). ιστοσελίδες και reverse engineering . ∆εν Εκτός όµως από τις τεχνολογίες που έχουν είναι γλώσσα αναπαράστασης ενσωµατωθεί στο “επίσηµο”(όπως ορίζεται από το αντικειµένων/οντοτήτων και σχέσεων µεταξύ W3C ) Semantic Web .αλλά κυρίως επεξεργάσιµη από µηχανές. ∆εν είναι µέσα σε µιά πρόταση. πολύ ενθαρρυντικά. είναι απλά µια τα ορθογραφικά λάθη. Μπορεί να αναπαρασταθει σε ΧΜL. και στην αναζήτηση πληροφορίας ανάµεσα σε σε καθολικό επίπεδο. είναι ΧML Schema :Μία γλώσσα για περιορισµό εξαιρετικά δύσκολη υπόθεση. Ορίζονται και γενικευµένες ιεραρχίες εξαιρετικά δύσκολη υπόθεση για έναν ηλεκτονικό ιδιοτήτων κλάσσεων (οντολογίες). του web θα αφιέρωναν πολύ περισσότερες ώρες από ένα html κείµενο είναι ακόµη πρακτικά. υπολογιστή. Μερικές από τις πιο χρήστη πληροφορία. Μα φυσικά στην ίδια τη βάση του web. γεγονος το οποίο ο ίδιος θα σηµαντικές παραθέτονται παρακάτω: καταλάβει µόνο αφού διαβάσει ολόκληρη τη ΧML : Μια markup language (γλώσσα φράση: “Ο Λάµπρος Παππάς δεν είναι αναπαράστασης) πιό γενική από την HTML η καρδιολόγος”.

οι Associations (Συσχετίσεις) <authored-by> <rdf:Description ID="Lampros. και καλύτερη αναπαράσταση των ιδιοτήτων Οι τεχνικές αναπαράστασης γνώσης γίνονται µεταξύ των κλάσεων. Στην εφαρµογή που αναπτύχθηκε στα statements είναι η αναπαράσταση σε XML. δεν αρκεί Ontology Language του Semantic Web µια καλή γλώσσα αναπαράστασης οντολογιών. Σηµαντικές φαίνεται κάτι ιδιαίτερο. ενέργεια και αντικείµενο. Με την RDF µπορούµε να Η γλώσσα αναπαράστασης των Topic Maps αναπαραστήσουµε αντικείµενα/οντότητες του ποικίλει. που είναι από τα παρέχει περισσότερες πληροφορίες για τις κλάσεις κεντρικά κοµµάτια στην παρούσα εργασία.org/1999/02/22-rdf-syntax- του φυσικού κόσµου. η οποία έχει Αναπαριστά όπως και το RDF Schema ιεραρχίες υιοθετηθεί από αρκετές εταιρείες και κλάσσεων και ιδιοτήτων για αντικείµενα και χρησιµοποιείται σε αρκετές εφαρµογές. αλλά Η OWL είναι ουσιαστικά το λεξικό της RDF σαφέστατα πιο ολοκληρωµένη και επεκτεταµένη .ogbuji.net"> και οι Occurrences (Εµφανίσεις) (“The TAO of <name>Lampros Pappas</name> </rdf:Description> Topic Maps” ) . Κάθε Topic µπορούµε να πούµε οτι παρόµοια µορφή θα καθιστούσε το περιεχόµενο το είναι instance ενός άλλου Topic. Οι δύο τελευταίες µορφές Pappas είναι µία RDF Statement (δήλωση RDF) είναι πιο εύκολα αναγνώσιµες από ανθρώπους ενώ µε υποκείµενο:This article . Είναι κάτι αντίστοιχο µε το συνδυασµό της RDF και της OWL. disjointness. Επιπλέον όµως Περισσότερα για τα Topic Maps . η µορφή σύνταξης linear topic map notation (LTM) έκφραση This article is authored by Lampros και η µορφή AsTMa. Περισσότερα για την OWL και το RDF Πρέπει να αναπτυχθούν τα κατάλληλα εργαλεία Schema στο 4ο κεφάλαιο του [5] και στα [16] [17] και οι κατάλληλες εφαρµογές. το Topic Λάµπρος Παππάς Πανεπιστήµιο Θεσσαλίας Τµήµα Μηχανικών Η/Υ Τηλεπικοινωνιών και ∆ικτύων . Η αναπαράσταση όµως ιδιότητες ενός Topic είναι ο τύπος του (Type) και όλης της γνώσης που υπάρχει στο web σε τέτοια ή το όνοµά του.gr/~lapappas/thisarticle "> τα Topics (Θέµατα). Π.uth. υποκείµενα σε RDF statements. συνεχώς πιο αποτελεσµατικές . γραφτεί κάπως έτσι : Ένας Topic Map αναπαριστά ένα υποσύνολο <rdf:RDF xmlns:rdf="http://www. Π. • Mind Maps [8] Παρόµοια τεχνική µε τις παραπάνω .w3.ενέργεια:is authored κείµενα σε κάποια από τις δύο µορφές µπορούν να by και αντικείµενο: Lampros Pappas . Όµως όπως Η RDF και η OWL µαζί αποτελούν την αναφέρει και ο James Hendler στο [10]. Οι Topic Maps (Θεµατικοί Χάρτες) είναι µια τεχνική αναπαράστασης γνώσης που δηµιούργησε RDF . 5 Αναπαράσταση εµπειρογνώσης µε χρήση Θεµατικών Χαρτών χαρακτηρίζονται ως ταχνικές αναπαράστασης web εύκολα επεξεργάσιµο από οποιοδήποτε γνώσης. cardinality . µετατραπούν µε κατάλληλα εργαλεία σε .pappas. Επιπλέον υπάρχει η υποκείµενο . Η πιο κυρίαρχη µορφή σύνταξης φυσικού κόσµου και τις σχέσεις ή ιδιότητες που τα κειµένων Topic Maps είναι η XTM η οποία διέπουν µε τη µορφή τριάδων Κάθε τριάδα έχει βασίζεται στη γνώριµη XML.χ. equality (ισότητα) ) επόµενο κεφάλαιο.OWL ο οργανισµός ISO.χ. δηµιουργοί περιεχοµένου/γνώσης να µπορούν εύκολα να το αναπαραστήσουν και να το δηµοσιεύσουν σε µία µηχανικά αναγνώσιµη Topic Maps µορφή µέσω αυτής της γλώσσας. είναι η τεχνική των Topic Maps. ns#" xmlns="http://schemas.inf. • Semantic Networks [6] Περισσότερα για την RDF στο 3ο κεφάλαιο • Concept Maps [7] του [5] και στα [13] [14] [15]. </authored-by> </rdf:Description> Topic: Οτιδήποτε µπορούµε να φανταστούµε </rdf:RDF> ως οντότητα του φυσικού κόσµου και θέλουµε να Μπορεί η RDF µε την πρώτη µατιά να µη το αναπαραστήσουµε κατάλληλα. Είναι µια επέκταση του RDF Schema.χ.xtm Μία πολύ κοινή µορφή αναπαράστασης RDF κείµενα. ούτως ώστε οι [18] [19] .uche. σε (π.net/rdfexample/"> Κυρίαρχες έννοιες στους Topic Maps είναι <rdf:Description about="http://www. Η πλαίσια της εργασίας χρησιµοποιήθηκε το XTM παραπάνω τριάδα σε µορφή XML θα µπορούσε να format. Μερικά παραδείγµατα: πρόγραµµα-πράκτορα (agent) .

παράδειγµα σε XTM : <association id="foo1-coded-by-lapappas"> <instanceOf> <topicRef Σχεδίαση Λογισµικού link:href="#coded-by"/> </instanceOf> <member> Όπως ανέφερα η εφαρµογή που ανέπτυξα <roleSpec> <topicRef στα πλαίσια της εργασίας αφορά τη σχεδίαση του xlink:href="#project-component"/> </roleSpec> χρονοδιαγράµµατος ανάπτυξης ενός Project <topicRef λογισµικού. καθορίσει πόσο θα διαρκέσει η ανάπτυξη κάθε Occurrence: Η εµφάνιση ενός Topic. Οι δραστηριότητες ανάπτυξης του component και το Topic #lapappas που έχει σε λογισµικού κατακερµατίζονται και κάθε αυτή τη συσχέτιση το ρόλο του #coder. Ο Project Manager πρέπει να είναι αυστηρά τριαδικά.gr/~lapappas/#pizza και type Topic. Είναι σκόπιµο λοιπόν να αναφερθούν xlink:href="#foo1"/> </member> µερικά πράγµατα για τη διαδικασία ανάπτυξης <member> <roleSpec> λογισµικού. δηλαδή συσχετίζουν περισσότερα των 2 αυτό το σηµείο πρέπει να γίνει ο σχεδιασµός του topics. Επίσης θα σας παρουσιάσουµε τη Association: Έτσι ορίζουµε σχέσεις µεταξύ µηχανή tmnav που αναπτύχθηκε από την ίδια διαφορετικών Topics. Το [1] <topicRef xlink:href="#lapappas"/> αναφέρεται σε αρκετές τεχνικές που εφαρµόζονται </association> </member> σε όλη τη διαδικασία ανάπτυξης λογισµικού. Φυσικά ένα Topic Εµείς χρησιµοπoιήσαµε ένα Java API για µπορεί να µην είναι instance κανενός άλλου διαχείριση Topic Maps κειµένων (tm4j) [27]. Για Project Component. Επίσης δεν πρέπει να συγχέουµε τα φτιαχνοντας µια εφαρµογή για αναπαράσταση και instances µε τις ιδιότητες subclass of και εξόρυξη πληροφορίας σχετικά µε τη διαχείριση superclass of που είναι ξεχωριστές ιδιότητες που ανάπτυξης ενός έργου Λογισµικού (Project αναπαριστούν ιεραρχία Topics. Αναπαράσταση εµπειρογνώσης µε χρήση Θεµατικών Χαρτών6 http://www. [24] [25] ξεχνάµε οτι γράφουµε σε XML µορφή. βασίστηκε πάνω στο tm4j και αναπαριστά topic. Για περισσότερες πληροφορίες δείτε τα : το σηµείο να τονίσουµε οτι οτιδήποτε θέλουµε να [20] [21] [22] [23] [28] αναπαραστήσουµε σε ένα Topic Map είναι καλό Για το χειρισµό Topic Maps υπάρχει ένα ΑΡΙ να γράφεται µε τη µορφή URI. URIs των ιδιοτήτων τους ). Κάθε association είναι και οµάδα.uth. Αφορά το Topic #foo1 που προδιαγραφές του λογισµικού σχεδιάζεται η δοµή έχει σε αυτή τη συσχέτιση το ρόλο του #project.uth. Topic. Σε του 3. του έργου. http://www. Management). σε αντίθεση µε τα RDF statements που χρονοδιαγράµµατος.inf. εποµένως ισχύουν όλα τα παραπάνω. για το Topic lapappas µπορεί να έχουµε µία κοµµατιών του έργου.gr/~lapappas/#pizza µε name τύπου site που να αναπαριστά το url του site του http://www. Μια προγραµµατιστής (ή οµάδα προγραµµατιστών) σηµαντική ιδιότητα των Topic Maps είναι ότι τα αναλαµβάνει να αναπτύξει κάποια από τα Associations µπορούν να έχουν βαθµό µεγαλύτερο κοµµάτια του έργου (Project Components).gr/~lapappas/#food είναι instance του Topic Αυτές είναι οι κυριότερες έννοιες των Topic http://www. Πολλά subjects τα οποία καθορίζονται µοναδικά από τα από αυτά τα εργαλεία µπορείτε να βρείτε στο [26]. <topicRef Είναι σαφές ότι τα µεγάλα έργα λογισµικού xlink:href="#coder"/> </roleSpec> χρειάζονται πολύ καλό σχεδιασµό. ολοκληρωθούν πριν αρχίσει η ανάπτυξη άλλων Π. Η συσχέτιση #foo1-coded-by-lapappas είναι Αφού καθοριστούν οι απαιτήσεις και τύπου ="#coded-by. Προκύπτει έτσι ένας occurrence τύπου photo που θα αναπαριστά το url γράφος δραστηριοτήτων που φανερώνει τις µιας φωτογραφίας του Topic και µία occurrence χρονικές εξαρτήσεις µεταξύ των επιµέρους δραστηριοτήτων του έργου.inf.inf.uth. Επίσης πρέπει να καθορίσει κάθε Topic µπορούν να υπάρχουν πολλαπλές ποια κοµµάτια του έργου πρέπει να Occurrences και µάλιστα διαφορετικού τύπου. άλλωστε µη το ΤΜΑΡΙ.inf.χ. Ένα Topic Maps µε τη βοήθεια γραφικών.uth. Με κατάλληλη Λάµπρος Παππάς Πανεπιστήµιο Θεσσαλίας Τµήµα Μηχανικών Η/Υ Τηλεπικοινωνιών και ∆ικτύων .gr/~lapappas/#food (Σε αυτό Maps. Οι Topic Υπάρχουν πολλές µηχανές και εργαλεία για Maps βέβαια υποστηρίζουν και non-addressable διαχείριση και δηµιουργία Topic Maps.

είναι παραδειγµατα αρχείων σχεδιασµού χρονοδιαγράµµατος που µπορούν να χρησιµοποιηθούν από την εφαρµογή.xtm format) το οποίο ποιος είναι ο coder του component.(επαγόµενος από τις must-be-completed-before JavaProjectManager. πόσες περιλαµβάνει εργατοώρες χρειάζονται για την ανάπτυξή του. χρονοδιαγράµµατος ανάπτυξης ενός εργου Στη συνέχεια η εφαρµογή υπολογίζει για λογισµικού στη γλώσσα Java. Η εφαρµογή διατρέχει το xtm αρχείο και αναγνωρίζει κάθε project component . Οι πληροφορίες που παρέχονται είναι: Map κείµενο (σε .xtm δείχνει γνωρίζουν πότε πρέπει να αρχίσει η υλοποίηση ποια Topics πρέπει να έχει απαραιτήτως ένα κάθε δραστηριότητας . να JavaProjectManager/topicmaps/sample. διατηρείται ο γράφος δραστηριοτήτων του έργου Η εφαρµογή ονοµάζεται . project ως Topic Instances Η εφαρµογή υπολογίζει τις ηµεροµηνίες • δήλωση όλων των demos του project έναρξης και ολοκλήρωσης κάθε component ως Topic Instances θεωρώντας οτι οι coders δουλεύουν από ∆ευτέρα- Λάµπρος Παππάς Πανεπιστήµιο Θεσσαλίας Τµήµα Μηχανικών Η/Υ Τηλεπικοινωνιών και ∆ικτύων .xtm Manager να διαπιστώσει τις συνέπειες κάποιας και JavaProjectManager/topicmaps/project2. εκτελέσει query για να δει όλα τα τεκµηρίωσης και άλλων σταδίων ανάπτυξης του class/function/demo του project αλλά και έργου για λόγους απλότητας. • δήλωση του ονόµατος του Project πότε αρχίζει . Αφορά τη διαχείριση του associations). ανάπτυξη class. πότε τελειώνει αλλά και πόσο • δήλωση όλων των classes του project µπορεί να καθυστερήσει η έναρξη ανάπτυξής του ως Topic Instances χωρίς συνέπειες για τον τελικό χρόνο παράδωσης • δήλωση όλων των functions του του project (µε βάση τυχόν πλεονάζοντα χρόνο). Αναπαράσταση εµπειρογνώσης µε χρήση Θεµατικών Χαρτών 7 διαπέραση του γράφου µπορούµε να λάβουµε • δήλωση όλων των προγραµµατιστών πάρα πολλά στοιχεία. ενώ στη Η εφαρµογή δοµή του Topic Map που δηµιουργείται . η ανάπτυξη function και η Αφού όλα γίνουν επιτυχώς. όπως το συνολικό ελάχιστο (coders) του project ως Topic χρόνο ανάπτυξης όλου του έργου αλλά και κάθε Instances επιµέρους δραστηριότητας. η εφαρµογή αναπτυξη demo (επίδειξης λειτουργίας) του έργου. Μπορεί λοιπόν να προκύψει και πλεονάζων • δήλωση για κάθε κάθε project χρόνος (= διαθέσιµος – πραγµατικός) για κάποια component (class/function/demo) δραστηριότητα ∆. ενώ τα αρχεία Χρήσιµο επίσης θα ήταν να µπορεί ο Project JavaProjectManager/topicmaps/mytopicmap3. παρέχει prompt στο χρήστη ο οποίος µπορεί να Παραλείψαµε τη συγγραφή βοήθειας . component (class/function/demo) ως Ο πραγµατικός χρόνος είναι ο χρόνος που association χρειάζεται για την ολοκλήρωση της • δήλωση του coder για κάθε project δραστηριότητας και εκτιµάται στη φάση component (class/function/demo) ως σχεδιασµού του έργου από το διαχειριστή του association έργου. πληροφορίες για κάθε project component Ο διαχειριστής του έργου γράφει ένα Topic ξεχωριστά. πρέπει να έχει ολοκληρωθεί (must- Είναι πολύ σηµαντικό για το διαχειριστή του be-completed-before association) έργου αλλά και για τους προγραµµατιστές που Το αρχείο ασχολούνται µε κάθε δραστηριότητα. αλλά και αν υπάρχει πλεονάζων χρόνος. Οι χρόνοι µετρούνται σε πριν από ποια project components εργατοµέρες ή εργατοώρες. Για κάθε • δήλωση της ηµεροµηνίας έναρξης δραστηριότητα ∆ ορίζεται ο διαθέσιµος χρόνος του Project που προκύπτει από το χρόνο έναρξης της αµέσως • δήλωση των ωρών που χρειάζονται επόµενης δρασηριότητας αφαιρόντας το µέγιστο για την ανάπτυξη κάθε project χρόνο λήξης των προηγούµενων δραστηριοτήτων. κάθε project component το διαθέσιµο χρόνο αλλά ∆ραστηριότητες ανάπτυξης θεωρούνται η και τυχόν πλεονάζοντα χρόνο. πότε πρέπει να τελειώσει αρχείο για να χρησιµοποιηθεί από την εφαρµογή.xtm καθυστερησης στην ανάπτυξη όλου του Project.

8 Αναπαράσταση εµπειρογνώσης µε χρήση Θεµατικών Χαρτών Παρασκευή τις ώρες 9:00-17:00. • type: ο τύπος του Project Component (demo/function/project-start/project- Η εφαρµογή θα µπορούσε να επεκταθεί µε end) πολλόυς τρόπους: • ID: το όνοµα • Εύχρηστο gui • coder:ο coder • Εισαγωγή κάθε project component • dateString η ηµεροµηνία σε String από το διαχειριστή του έργου ώστε (χρησιµοποιείται µόνο στο project- να µη χρειάζεται η χειροκίνητη start) συγγραφή .Calendar • setHours(int _hours): Συνάρτηση που Αν θέλετε να δοκιµάσετε το tmnav ορίζει τις ώρες ανάπτυξης εκτελέστε το runtmnav. • spareHours: πλεονάζων χρόνος • Αναπαράσταση περισσότερων • startDate: η ηµεροµηνία έναρξης φάσεων ανάπτυξης του έργου (χρησιµοποιείται µόνο στο project- • Εισαγωγή καθυστερήσεων και start) ένδειξη για συνέπειες στον τελικό • mustBeCompletedBeforeList: Λίστα χρόνο παράδοσης µε τα components που αρχίζουν αφού ολοκληρωθεί η ανάπτυξη του Η µηχανή tmnav. Η εφαρµογή παρέχει όλες τις διαθέσιµες Συµβουλές για προγραµµατισµό µε το tm4j API. Windows απλά εκτελέστε το Στη συνέχεια θα αναλύσουµε µε λίγα λόγια startJavaProjectManager. tm4j-0.0.xtm αρχείων. Συνάρτηση που ορίζει τον coder Με το tmnav µπορούµε να δούµε γραφικά • setDate(String _dateString) : κάθε Topic και όλες τις ιδιότητες του. Η ηµεροµηνία αντιγράψαµε τα jars του tm4j στο φάκελο του έναρξης εισάγεται στη µορφή DDMMYYYY. project και τα συµπεριλάβαµε στο classpath.bat από το φάκελο • addMustBeCompletedBefore(afterNo tmnav-0.5 . µετατρέπει σε java. εν’λόγω component Καταβάσαµε και δοκιµάσαµε τη µηχανή από • setCoder(String coderString) : το [27]. αντλησαµε από το documentation και το Javadoc Για να εκκινήσετε την εφαρµογή σε του API.bat µε προσοχή για να µη Συµβολίζει ένα demo/function/class και τα χαλάσει ο ορισµός του classpath για τα jars του project-start και project-end tm4j. de after): Συνάρτηση που προσθέτει component στην mustBeCompletedBeforeList Υλοποίηση class afterNode Συµβολίζει ένα µέλος της λίστας Για την υλοποίηση χρησιµοποιήθηκε Java addMustBeCompletedBefore ενός 1.7 και το περιβάλλον Eclipse 3. Για ProjectComponent.9. Συνάρτηση που παίρνει το String της Παραθέτουµε ορισµένα screenshots µετά τη µορφής DDMMYYYY και το βιβλιογραφία. Η εφαρµογή τη λειτουργεία κάθε class και function της φορτώνει αυτόµατα το αρχειο εφαρµογής: topicmaps/project2. • hours: οι ώρες που χρειάζονται για • Αναγνώριση και LTM format την ανάπτυξη του project αρχείων • minHours. να κάνουµε χρήση του tm4j API απλά Περιέχει: Λάµπρος Παππάς Πανεπιστήµιο Θεσσαλίας Τµήµα Μηχανικών Η/Υ Τηλεπικοινωνιών και ∆ικτύων .2.maxHours: για τον • Υποστήριξη και για άλλες γλώσσες υπολογισµό του διαθέσιµου χρόνου προγραµµατισµού.xtm . Αν θέλετε να φορτώσετε κάποιο άλλο αρχείο κάνετε edit το class ProjectComponent: startJavaProjectManager.util.bat .8_1-bin. εντολές όταν ο χρήστης εκτελέσει τη εντολή help.

συνάρτηση που διαπερνά τη λίστα projectComponents και τυπώνει Ο πλήρης κώδικας βρίσκεται στο φάκελο πληροφορίες για κάθε στοιχείο της µε JavaProjectManager\inf\uth\topicMaps\JavaProject τύπο < typeString>.. το project-start για να υπολογιστεί ο Τέλος καλεί τη συνάρτηση menu διαθέσιµος χρόνος για κάθε • τη menu() η οποία παίρνει από το δραστηριότητα stdin τις επιλογές του χρήστη . Αν δεν υπάρχει constructor. projectComponents και επιστρέφει το Περιέχει: projectComponent µε ΙD==< • TopicMap topicMap: Το TopicMap componentID> και type==< αντικείµενο που αποκτήσαµε µετά το componentType>. που επιστρέφει το Topic Map αντικείµενο. • countTotalHours(ProjectComponent δηµιουργεί ένα αντικείµενο τύπου component) αναδροµική συνάρτηση ParseTopicMap για να parsάρει το αρχείο και ένα που πρέπει να καλέσουµε µε όρισµα αντικείµενο τύπου manager για να εκτελεί queries. • getComponentBy(String componentID. component µε αυτο το όνοµα και Περιέχει επίσης την κλάση getTopicMap() τύπο τυπώνεται µήνυµα λάθους. class JavaProjectManager start και project-end ως αντικείµενα Περιέχει τη main() που :παιρνει από τα της κλάσης ProjectComponent αφού ορίσµατα της γραµµάς εντολών (args) το όνοµα ή τα αρχικοποιήσει κατάλληλα το url του αρχείου που θέλουµε να φορτώσουµε.String typeString) συνάρτηση που τυπώνει πληροφορίες class ParseTopicMap για συγκεκριµένο component. Αν δεν υπάρχει parsing του κειµένου και συµβολίζει επιστρέφει null το project που διαχειριζεται η • String calculateDateAfter(Calendar εφαρµογή startDate.εκτελεί • countSpareHours(ProjectComponent τις κατάλληλες συναρτήσεις και component) αναδροµική συνάρτηση τυπώνει µηνύµατα λάθους όταν που πρέπει να καλέσουµε µε όρισµα χρειάζεται.String class Manager: componentType) συνάρτηση που Συµβολίζει τον manager του Topic Map που διατρέχει τη λίστα δηµιουργήσαµε µε την ParseTopicMap. Η κλάση αυτή περιέχει την συνάρτηση Τυπώνονται επιπλέον πληροφορίες parse() η οποία χρησιµοποιεί το tm4j API για να για το χρόνο έναρξης και λήξης της φτιάξει ένα TopicMap αντικείµενο από το κείµενο δραστηριότητας και για τυχόν του οποίου το url που δόθηκε ως όρισµα στον πλεονάζοντα χρόνο. δραστηριότητα ∆οκίµασα να τελειώσω το κοµµάτι της εισαγωγής • printComponents(String typeString) Τοpics από το χρήστη αλλά δε πρόλαβα. Αναπαράσταση εµπειρογνώσης µε χρήση Θεµατικών Χαρτών 9 • ComponentID • printComponent(String • ComponentType IDString.. αν Manager typeString==null τυπώνει όλα τα projectComponents Λάµπρος Παππάς Πανεπιστήµιο Θεσσαλίας Τµήµα Μηχανικών Η/Υ Τηλεπικοινωνιών και ∆ικτύων . το project-start για να υπολογιστεί ο πλεονάζωνχρόνος για κάθε class TopicCreator: ∆ε χρησιµοποιείται.int workingHours) • LinkedList projectComponents: Η συνάρτηση που υπολογιζει τις λίστα µε τα components του project πργµατικές µέρες που αντιστοιχούν • buildManager() : Αποθηκεύει στη σε εργατοώρες λίστα projectComponents κάθε demo/function/class και τα project.

οι οµοιότητες αλλά και οι διαφορές τους είναι µεταξύ τους καθώς έχουν τον ίδιο ακριβώς στόχο : εµφανείς: τη µηχανικώς επεξεργάσιµη αναπαράσταση γνώσης. οπότε η άλλη σταδιακά θα • Φαίνονται σαν πολύ απλοϊκές ιδέες εγκαταληφθεί. application. αυτόµατα ειδικά σηµασµένο περιεχόµενο που θα OWL όχι πληροί τα standards κάποιας τεχνολογίας • Στους Topic Maps οι σχέσεις είναι αναπαράστασης γνώσης. Επιπλέον η RDF-OWL έχει τη στήριξη του RDF-OWL βασίστηκε στη ιδέα των W3C. στην αγορά και τον απλό χρήστη. Λάµπρος Παππάς Πανεπιστήµιο Θεσσαλίας Τµήµα Μηχανικών Η/Υ Τηλεπικοινωνιών και ∆ικτύων . αντικείµενα και σχέσεις. ενώ οι Topic Maps για το web. Φαντάζοµαι µηχανικά αναγνώσιµος. χάσει το παιχνίδι.Στην OWL πρέπει να οριστεί ξεχωριστά ποια σχέση είναι η αντίστροφη µιάς άλλης. αµφίδροµες εκ φύσεως. πειράµατα. Αυτή τη στιγµη προβάδισµα µε την πρώτη µατιά. είναι πως θα καταφέρει ο απλός χρήστης ( που Occurrence …) µέχρι τώρα ανεβάζει στο web απλά κείµενα και • Οι Topic Maps υποστηρίζουν και φωτογραφίες) να δηµιουργεί πολύ εύκολα- non-addressable subjects ενώ η RDF. OWL από το w3c και οι Topic Maps Αυτό ακριβώς είναι και το στοίχηµα του από τον ISO. Racer…) φαίνονται πιο εύχρηστα και “δουλεµένα” • Οι δύο τεχνικές όµως ξεκίνησαν από σε σχέση µε αυτά της τεχνολογίας των Topic εντελώς διαφορετικά σηµεία. δύο εξαιρετικά αποτελεσµατικές στον Περισσότερη έρευνα γίνεται πάνω σε αυτή ενώ τα τροπο µε τον οποίο αναπαριστούν εργαλεία ανάπτυξης οντoλογιών (Protégé. Semantic Web . Αν θέλετε να δείτε πιο αναλυτικά απόψεις Η οικογένεια της RDF-OWL(Τις θεωρώ σχετικά µε τις οµοιότητες και διαφορές µεταξύ οικογένεια γιατί συνήθως χρησιµοποιούνται µαζί) RDF-OWL και Topic Maps δείτε τα :[29] [30] και οι Topic Maps είναι δύο από τις κυριότερες [31] [32] [33] τεχνικές αναπαράστασης γνώσης. σηµερα. Να βρεθεί η “φονική” εφαρµογή • Η RDF είναι resource-centric. Η τεχνολογία των Topic Maps. Μπορεί να κερδίσει όχι η πιο • Προωθήθηκαν από δύο άρτια τεχνολογία αλλά αυτή που θα συνηθίσουν διαφορετικούς οργανισµούς που πιο εύκολα οι χρήστες ή θα δώσει πρώτη την killer θεωρούνται ανταγωνιστές. • Τα semantics της RDF ειναι πιο Η αναπαράσταση γνώσης για επεξεργασία χαµηλού επιπέδου. Το ζήτηµα εξειδικευµένες έννοιες (Instance. Οι Topic Maps από µηχανές δουλεύει άψογα για έτοιµο ενσωµατώνουν πολύ πιο περιεχόµενο σε µορφή RDF ή XTM . η RDF. Αναπαράσταση εµπειρογνώσης µε χρήση Θεµατικών Χαρτών 10 RDF-OWL vs Topic Maps. Στα associations αναγράφονται ξεκάθαρα οι ρόλοι(roles) κάθε µέλους (member). Η Maps. Αν και Η προσωπική µου άποψη είναι οτι οι δύο οι δηµιουργοί τους δεν παραδέχονται οτι αυτές τεχνολογίες είναι σίγουρα ανταγωνιστικές πρόκειται για άµεσα ανταγωνιστικές τεχνικές. αλλά είναι και οι φαίνεται να έχει η οικογένεια της OWL-RDF. του επίσηµου οργανισµού προτυποποίησης γράφων. • Οι Topic Maps υποστηρίζουν ν- Συµπεράσµατα – Απολογισµός αδικές συσχετίσεις ενώ η RDF µόνο 2αδικές. Οι όποιες διαφορές τους µπορεί να • Και οι δύο τεχνικές προσπαθούν να προσδίδουν ξεχωριστά χαρακτηριστικά και στις οργανώσουν τη διαθέσιµη δύο αλλά δεν αρκούν για να τις διαχωρίσουν τόσο πληροφορία κατά τρόπο που να είναι ώστε να δράσουν συµπληρωµατικά. ενώ τα που θα το µεταφέρει από την έρευνα και τα topic maps είναι subject-centric. ότι µία από τις δύο τεχνολογίες κάποια στιγµή θα • Και οι δύο τεχνικές χρησιµοποιούν κερδίσει τη συντρηπτική πλειοψηφεία των XML σύνταξη χρηστών. αν και βασίστηκαν περισσότερο στη ιδέα ενσωµατώνει πιο προηγµένα χαρακτηριστικά ίσως των ευρετηρίων.

Frank van Harmelen (2004-04-01).html Λάµπρος Παππάς Πανεπιστήµιο Θεσσαλίας Τµήµα Μηχανικών Η/Υ Τηλεπικοινωνιών και ∆ικτύων .org/downloads.wikipedia.html [30] http://www.html [28] Dr H. Agents and the Semantic Web.noisebetweenstations.edu.com/personal/weblogs/?p=1184 [31] http://topicmaps. Αναπαράσταση εµπειρογνώσης µε χρήση Θεµατικών Χαρτών 11 Βιβλιογραφία [1] S.html [3] http://www.y12.google.bond.org/wiki/Semantic_network [7] http://en.com/developerworks/library/w-rdf/ [12] http://en.wikipedia. [2] http://www. Holder Rath .xml.gov/sgml/sc34/document/0322_files/iso13250-2nd-ed-v2. [11] http://www-128.org/wiki/Web_Ontology_Language [20] http://www.com/pub/a/2005/02/02/tmapi. [6] http://en.doe.w3. L.pdf [21] http://topicmaps.ontopia.wikipedia.org/wiki/Semantic_Web [5] Grigoris Antoniou.w3.net/topicmaps/materials/tmrdfoildaml.org/TR/owl-ref/ [19] http://en.html [26] http://topicmap.org/TR/owl-guide/ [18] http://www.topicmaps. Τεχνολογία Λογισµικού: Θεωρία και Πράξη (3ο κεφάλαιο).wikipedia.com/software/developer/library/ws-rdf/index.org/RDF/ [14] http://www-4.ibm.tmapi.au/tutorial/ [32] http://www.net/topicmaps/materials/rdf.ontopia.com [4] http://en.html [33] http://www.w3.gca.w3. Pfleeger. [29] http://www.com/topicmap/tools.org/papers/xmleurope2000/papers/s22-02.univ-lyon1.html [27] http://tm4j. Topic Maps Handbook.org/wiki/Resource_Description_Framework [13] http://www.org/ [25] http://www.org/TR/owl-features/ [17] http://www.html [24] http://www.wikipedia.html?dwzone=ws [15] http://www710.wikipedia.net/ [23] http://www.google.com/corporate/history.wikipedia.org/xtm/ [22] http://www. A Semantic Web Primer.ibm.it.ontopia.org/wiki/Mind_map [9] http://en.net/topicmaps/materials/tmrdf.org/wiki/James_Hendler [10] James Hendler.org/wiki/Concept_map [8] http://en.fr/%7Echampin/rdf-tutorial/ [16] http://www.

Αναπαράσταση εµπειρογνώσης µε χρήση Θεµατικών Χαρτών 12 Λάµπρος Παππάς Πανεπιστήµιο Θεσσαλίας Τµήµα Μηχανικών Η/Υ Τηλεπικοινωνιών και ∆ικτύων .