Αρµεναντζόγλου Νίκος ΜΕΤ armenan@csd.uoc.gr εµενεοπούλου Κατερίνα ΑΜ:1596 demen@csd.uoc.gr Μαρκετάκης Γιάννης MET marketak@csd.uoc.gr 1
ΕΙΣΑΓΩΓΗ Θα περιγράψουµε µια οντολογία σχετική µε το IMDB (Internet Movie Database). To IMDB είναι η µεγαλύτερη βάση δεδοµένων για ταινίες, ηθοποιούς και άλλες σχετικές πληροφορίες. Η οντολογία είναι γραµµένη σε RDF χρησιµοποιεί τις βασικότερες έννοιες για τη περιγραφή του αντικειµένου (ταινία,ηθοποιός,ρόλος,σκηνοθέτης ).Τέλος γίνεται χρήση της για την αποτίµηση επερωτήσεων σχετικών µε τις ταινίες, τους ηθοποιούς καθώς και τους συντελεστές. ΟΝΤΟΛΟΓΙΑ Η οντολογία πρέπει να περιγράφει τις έννοιες οι οποίες ορίζονται από το IMDB. Συγκεκριµένα θα πρέπει να κρατάει πληροφορίες τόσο για τις ταινίες όπως για παράδειγµα το τίτλο µιας ταινίας,την βαθµολογία της,το είδος της κ.α. όσο και για τα προσωπικά στοιχεία των ηθοποιών και τις ταινίες στις οποίες έχουν συµµετάσχει. Επιπρόσθετα θα πρέπει να κρατάει πληροφορίες σχετικά µε τους συντελεστές κάθε ταινίας (σκηνοθέτης,παραγωγός,σεναριογράφος ). Γι αυτό το σκοπό χρησιµοποιούνται στην οντολογία 3 βασικές κλάσεις. Οι κλάσεις Movie και Role (που δηµιουργούνται στην οντολογία µε namespace http://www.csd.abdn.ac.uk/~ggrimnes/dev/imdb/imdb#) και η κλάση Person (από την οντολογία foaf µε namespace http://xmlns.com/foaf/0.1/). Κλάση Movie Η κλάση Movie χρησιµοποιείται για να κρατήσει πληροφορίες σχετικά µε τη κάθε ταινία. Οι πληροφορίες αυτές αναπαρίστανται σαν properties τα οποία έχουν τη κλάση ως πεδίο ορισµού (domain). Παρακάτω φαίνονται οι σχέσεις οι οποίες έχουν τη κλάση movie σαν πεδίο ορισµού και σαν σύνολο τιµών (range) literals καθώς και µια περιγραφή της κάθε ιδιότητας. Property Περιγραφή title O τίτλος της ταινίας. year Το έτος που προβλήθηκε η ταινία πρώτη φορά. runtime Η διάρκεια της ταινίας. country Η χώρα/χώρες στην οποία προβλήθηκε η ταινία. languages Η γλώσσα/γλώσσες προβολής της ταινίας. genres Οι θεµατικές ενότητες της ταινίας. rating Η βαθµολογία της ταινίας. company Η υπεύθυνη εταιρία. votes Οι ψήφοι της ταινίας. plot Η πλοκή της ταινίας. color_info Η πληροφορία σχετικά µε τη ποιότητα της εικόνας. certificate Τα πιστοποιητικά έγκρισης για προβολή που έχει λάβει η ταινία. production_companies Υπεύθυνες εταιρίες παραγωγής. distributor Εταιρία διαµονής. sound_mix Υπεύθυνη εταιρία ηχοληψίας. misc_companies Λοιπές εταιρίες. 2
Oι σχέσεις distributor,production_companies,sound_mix,misc_companies είναι όλες subproperties της σχέσης company. Κάτι τέτοιο είναι απαραίτητο για να εξειδικεύσουµε το ρόλο µιας εταιρίας σε µια ταινία αφού διαφορετικές εταιρίες εµπλέκονται σε µια ταινία έχοντας διαφορετικό σκοπό η καθεµία (production_companies : συµµετέχει στη παραγωγή του έργου, distributor : συµµετέχει στη διανοµή του έργου κτλ) Κλάση Person Η κλάση Person περιγράφεται αναλυτικά στην οντολογία foaf και χρησιµοποιείται για να περιγράψει την έννοια της οντότητας του ανθρώπου. Ο λόγος για τον οποίο γίνεται χρήση της στην IMDB οντολογία είναι για να περιγράψει όλους τους εµπλεκόµενους ανθρώπους σε µια ταινία τόσο τους ηθοποιούς όσο και τους υπόλοιπους συντελεστές µιας ταινίας. Επιπλέον υπάρχουν γνωρίσµατα για κάθε άνθρωπο που χρειάζεται να κρατήσουµε και δεν περιγράφονται από την οντολογία foaf. Γι αυτό το λόγο γίνεται επέκταση της Person µε κάποιες επιπλέον αναγκαίες σχέσεις οι οποίες είναι οι εξής: Property birth_date death_date birth_name spouse trivia longname Περιγραφή Ηµεροµηνία γέννησης. Ηµεροµηνία θανάτου. Πραγµατικό όνοµα Σύντροφος. Ασήµαντα σχόλια Πλήρες όνοµα Κλάση Role H κλάση Role χρησιµοποιείται για να αναπαραστήσει τους ρόλους που υποδύονται οι ηθοποιοί σε µια ταινία. Μια ταινία έχει πολλούς ρόλους ενώ κάθε ηθοποιός µπορεί να υποδυθεί πολλούς ρόλους στη καριέρα του. Γι αυτό το λόγο η κλάση Role θα πρέπει να σχετίζεται τόσο µε τη κλάση Movie όσο και µε τη κλάση Person. Η ιδιότητα film (η οποία έχει σαν domain την Role και σαν range την κλάση Movie ) χρησιµοποιείται για τους ρόλους που υπάρχουν σε µια ταινία και η ιδιότητα acted (η οποία έχει σαν domain τη κλάση Person και range την κλάση Role) για τους ηθοποιούς που ενσαρκώνουν αυτούς τους ρόλους. Για να αναπαραστήσουµε όλους τους υπόλοιπους συντελεστές µιας ταινίας χρησιµοπoιείται ένα σύνολο από ιδιότητες µε domain τη κλάση Movie και range τη κλάση Person. Αυτές οι ιδιότητες είναι: make_up teammember directed Properties Περιγραφή Ο/Οι µακιγιέρ της ταινίας Οι συντελεστές της ταινίας Ο σκηνοθέτης Επιπλέον υπάρχει ένα σύνολο από ιδιότητες για τους συντελεστές της ταινίας οι οποίες ορίζονται ανάλογα µε το ρόλο του καθενός.αυτό γίνεται εξειδικεύοντας την ιδιότητα teammember. Αναλυτικά αυτές οι ιδιότητες φαίνονται στο παρακάτω σχήµα. 3
Movie Εικόνα 1: Εξειδικεύσεις ιδιότητας teammember. teammembe cast crewmember stunt_performer composer production_designe producer art_department director casting_director art_director assistant_director production_manage special_effects set_decorator editor sound_crew cinematograph writer costume_designer Person Για παράδειγµα η ιδιότητα assistant_director που χρησιµοποιείται για να προσδιορίσει ένα βοηθό σκηνοθέτη εξειδικεύει την ιδιότητα director η οποία χρησιµοποιείται για τους σκηνοθέτες και η οποία µε τη σειρά της είναι subproperty της ιδιότητας teammember. Ontology language H οντολογία IMDB είναι γραµµένη σε RDF.Χρησιµοποιεί τη κλάση Class της RDF για να αναπαραστήσει τις κύριες οντότητες της οντολογίας. Για παράδειγµα rdfs:class rdf:about= Movie. Επιπρόσθετα χρησιµοποιεί τη κλάση Property της RDF για να αναπαραστήσει σχέσεις ιδιότητες µεταξύ των διαφορετικών οντοτήτων που χρησιµοποιεί. Για παράδειγµα rdfs:property rdf:about = rating. Tέλος µια ιδιότητα της γλώσσας οντολογίας η οποία χρησιµοποιείται αρκετά στην IMDB οντολογία είναι η subpropertyof. Συγκεκριµένα χρησιµοποιείται για να εξειδικεύσει αρκετές από τις ιδιότητες που έχουν οριστεί. Ετσι οποιαδήποτε στιγµιότυπα αναφέρονται σε µια subproperty P (όπου P είναι subproperty της P ) σχετίζονται επίσης και µε την P. Για παράδειγµα το παρακάτω κάνει εξειδίκευση της ιδιότητας teammember σε director και της director σε art_director. <rdf:property rdf:about= director > <rdfs:subpropertyof> <rdf:property about= teammember > </rdfs:subpropertyof> </rdf:property> 4
<rdf:property rdf:about= art_director > <rdfs:subpropertyof> <rdf:property about= director > </rdfs:subpropertyof> </rdf:property> Έτσι για να αναπαραστήσουµε τη πληροφορία ότι ο Julian Ashby είναι director της ταινίας Troy δηµιουργούµε ένα στιγµιότυπο Troy της κλάσης Movie, ένα στιγµιότυπο Julian Ashby της κλάση Person και ένα της ιδιότητας art_director χρησιµοποιώντας τα δύο προηγούµενα. Με αυτό τον τρόπο µπορούµε να δούµε τον Julian Ashby και σαν σκηνοθέτη της ταινίας αλλά και σαν συντελεστή της ταινίας. Γι αυτό το λόγο γίνεται χρήση της subpropertyof. Χρήση της οντολογίας Η οντολογία χρησιµοποιείται για την αποτίµηση επερωτήσεων σχετικά µε διάφορα κριτήρια. Συγκεκριµένα, µπορούµε να αναζητήσουµε ταινίες µε βάση το περιεχόµενό τους ή µε βάση τους συντελεστές της ταινίας. Για παράδειγµα,µπορούµε εύκολα να αναζητήσουµε ταινίες στις οποίες ο Χ ήταν ηχολήπτης ή τις ταινίες στις οποίες συµµετείχαν ηθοποιοί οι οποίοι έχουν µια συγκεκριµένη ηµεροµηνία γέννησης. Γενικά µπορεί να γίνει αναζήτηση µε βάση οποιαδήποτε ιδιότητα έχει οριστεί στην οντολογία. Συνοπτικά Η IMDB οντολογία αποτελεί µία χρήσιµη πηγή για τους χρήστες δεδοµένων σχετικά µε ταινίες, ώστε να αναζητήσουν πληροφορίες σχετικά µε ταινίες καθώς και τους συντελεστές αυτών. Επιπλέον κάνοντας χρήση της κλάσης Person για όλους τους εµπλεκόµενους σε µία ταινία (και όχι µόνο για τους ηθοποιούς) µπορεί πλέον να γίνει αναζήτηση ταινιών µε βάση τα προσωπικά στοιχεία κάποιων εκ των εµπλεκοµένων σε αυτές. Η χρήση της RDF βοηθάει κυρίως µε την χρήση των SubProperties έτσι ώστε να εξειδικεύονται ιδιότητες των κλάσεων και να αναπαρίστανται οι ιδιότητες αυτές σωστότερα και µε την όσο το δυνατόν λιγότερη πλεονάζουσα πληροφορία. Το σχήµα της οντολογίας IMDB 5
Literal rating Movie film teammemb cast crewmember stunt_performe composer production_design producer art_departmen director sound_crew casting_director art_director assistant_director production_manag special_effects set_decorator editor cinematograph writer costume_designe Literal birth_date Person spouse acted Role Εικόνα 2:Η οντολογία IMDB 6