Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Resource Description Framework Μανόλης Γεργατσούλης, Χρήστος Παπαθεοδώρου Τμήμα Αρχειονομίας & Βιβλιοθηκονομίας, Ιόνιο Πανεπιστήμιο.

Παρόμοιες παρουσιάσεις


Παρουσίαση με θέμα: "Resource Description Framework Μανόλης Γεργατσούλης, Χρήστος Παπαθεοδώρου Τμήμα Αρχειονομίας & Βιβλιοθηκονομίας, Ιόνιο Πανεπιστήμιο."— Μεταγράφημα παρουσίασης:

1 Resource Description Framework Μανόλης Γεργατσούλης, Χρήστος Παπαθεοδώρου Τμήμα Αρχειονομίας & Βιβλιοθηκονομίας, Ιόνιο Πανεπιστήμιο

2 2 XML: ετικέτες που ορίζονται από τον χρήστη Διαχείριση Γνώσης Διδάσκων: Μ. Γεργατσούλης Φοιτητές: 20 Προαπαιτούμενα: κανένα HTML: Διαχείριση Γνώσης Μ. Γεργατσούλης 20 κανένα XML :

3 3 XML: document = δέντρο με ετικέτες course teachertitlestudents namehttp = XML Schema: γραμματικές για περιγραφή εγκύρων δέντρων και τύπων δεδομένων κόμβος = ετικέτα + γνωρ./τιμές + περιεχόμενα Ερώτημα: γιατί να μην χρησιμοποιήσουμε XML για να αναπαραστήσουμε σημασιολογία;

4 4 Η σύνταξη σε αντίθεση με τη σημασιολογία Σύνταξη: η δομή των δεδομένων. Σημασιολογία: η σημασία των δεδομένων. Δύο συνθήκες απαραίτητες για διαλειτουργικότητα: l Υιοθέτηση κοινής σύνταξης: επιτρέπει στις διάφορες εφαρμογές να αναλύουν συντακτικά (parse) τα δεδομένα. l Υιοθέτηση ενός μέσου κατανόησης της σημασιολογίας: επιτρέπει στις διάφορες εφαρμογές να χρησιμοποιούν τα δεδομένα. Η XML δεν παρέχει τα απαραίτητα μέσα για την περιγραφή της σημασιολογίας.

5 5 Τι είναι η RDF ; Η RDF (Resource Description Framework) είναι ένα μοντέλο δεδομένων ανεξάρτητο από το πεδίο εφαρμογής, και ανεξάρτητο από συγκεκριμένη εφαρμογή, μπορεί να ειδωθεί σαν ένας κατευθυνόμενος γράφος με ετικέτες. Το μοντέλο δεδομένων της RDF είναι ένα αφηρημένο, εννοιολογικό επίπεδο ανεξάρτητο από την XML επομένως, η XML μπορεί να παρέχει τη σύνταξη για την RDF, αλλά δεν είναι συστατικό της RDF τα RDF δεδομένα είναι πιθανόν να μην εμφανίζονται ποτέ σε μορφή XML.

6 6 Το μοντέλο της RDF Αποτελείται από ένα σύνολο δηλώσεων (statements). Μια δήλωση RDF (RDF statement) συνίσταται από Πόρους (resources) (= κόμβοι) οι οποίοι έχουν ιδιότητες (properties) οι οποίες έχουν τιμές (values) (=κόμβοι,strings) = υποκείμενο (subject) = κατηγόρημα (predicate) = αντικείμενο (object) Παράδειγμα: “http://www.w3.org/TR/REC-rdf-syntax/ has creator Ora Lassila” “Ora Lassila” creator : πόρος : τιμή : ιδιότητα value property resource

7 7 Παράδειγμα στο RDF μοντέλο “Ora Lassila” Creator “ ” Date “W3C” Publisher “http://www.w3.org/TR/REC-rdf-syntax/ was created at , its creator is Ora Lassila and its publisher is W3C”

8 8 Δομημένες τιμές Μέχρι τώρα, οι τιμές των ιδιοτήτων ήταν ακολουθίες χαρακτήρων (strings). Ένας κόμβος του γράφου (που αντιστοιχεί σε ένα πόρο) μπορεί επίσης να είναι η τιμή μιας ιδιότητας l είναι πιθανές εξαιρετικά πολύπλοκες δομές δέντρων ή γράφων l συντακτικά, οι τιμές μπορεί να είναι εμφυτευμένες ή να αναφέρονται. Παράδειγμα:” The individual whose name is Ora Lassila and whose is is the creator of rdf-syntax/” “Ora Lassila” Creator Name

9 9 Δομημένες τιμές (συνέχεια) Αντίστοιχες τριάδες: {Creator, [http://www.w3.org/TR/REC-rdf-syntax/], [X]} {Name, [X], “Ora Lassila” } { , [X], } “Ora Lassila” Creator Name

10 10 Περιβλήματα Τα περιβλήματα (Containers) στην RDF χρησιμοποιούνται για την αναπαράσταση συλλογών από πόρους l επιτρέπουν ομαδοποίηση των πόρων (ή των τιμών). Έναι δυνατό να διατυπώσουμε δηλώσεις που αναφέρονται σε ένα περίβλημα (σαν ολότητα) ή στα ξεχωριστά μέλη του. Η RDF παρέχει τρεις διαφορετικούς τύπους περιβλημάτων: l bag – συλλογή χωρίς διάταξη l seq – διατεταγμένη συλλογή (= “sequence”) l alt – αναπαριστά εναλλακτικές τιμές. Επιτρέπονται επαναλαμβανόμενες τιμές l δεν υπάρχει μηχανισμός που να επιβάλει περιορισμούς μοναδικότητας των τιμών. Είναι δυνατόν να δημιουργήσουμε συλλογές βασιζόμενοι σε URI πρότυπα l για παράδειγμα, όλα τα αρχεία σε ένα συγκεκριμένο web site.

11 11 Περιβλήματα (συνέχεια) “http://www.w3.org/TR/REC-rdf-syntax/ has as creator(s) Ora Lassila and Ralph Swick” “Ora Lassila” rdf:_1 rdf:Seq Creator rdf:Type “Ralph Swick” rdf:_2

12 12 Περιβλήματα (συνέχεια) “The students in course are John, Tim and Mary” rdf:_1 rdf:Bag students rdf:Type rdf:_2 Courses/6.001 rdf:_3 Students/John Students/Tim Students/Mary

13 13 Η RDF XML σύνταξη Το μοντέλο δεδομένων RDF παρέχει ένα αφηρημένο, εννοιολογικό πλαίσιο για τον ορισμό και τη χρήση μεταδεδομένων. Μια συγκεκριμένη σύνταξη είναι όμως απαραίτητη για τη δημιουργία και την ανταλλαγή των μεταδεδομένων. Η XML μπορεί να χρησιμοποιηθεί σαν τέτοια σύνταξη. Η RDF επίσης απαιτεί τη χρήση χώρων ονομάτων XML για να συνδέει με ακρίβεια κάθε ιδιότητα (property) με το σχήμα που ορίζει αυτήν την ιδιότητα. Ορίζονται δύο τρόποι σύνταξης βασισμένοι στην XML για τη κωδικοποίηση ενός στιγμιότυπου του RDF μοντέλου δεδομένων: l η σειριακή σύνταξη (serialization syntax): εκφράζει τις πλήρεις δυνατότητες του μοντέλου με έναν συστηματικό τρόπο l συντετμημένη σύνταξη (abbreviated syntax): παρέχει επιπλέον δομές οι οποίες δίνουν τη δυνατότητα αναπαράστασης ενός υποσυνόλου του μοντέλου με έναν πιο συμπαγή τρόπο l οι διερμηνείς RDF υποστηρίζουν και τους δύο τρόπους σύνταξης.

14 14 Βασική σειριακή σύνταξη Η RDF XML σύνταξη έχει σχεδιαστεί κατά τέτοιο τρόπο ώστε να ομαδοποιεί πολλαπλές δηλώσεις για τον ίδιο πόρο σε ένα στοιχείο με ετικέτα Description. “Ora Lassila” creator

15 15 Παράδειγμα “Ora Lassila” dc:Creator “ ” dc:Date “W3C” dc:Publisher W3C Ora Lassila

16 16 Βασική συντετμημένη σύνταξη 1η σύντμηση: αφορά ιδιότητες οι οποίες δεν επαναλαμβάνονται εντός ενός στοιχείου Description l μπορούν να γραφούν σαν γνωρίσματα της XML επισυναπτόμενα στο στοιχείο Description W3C Ora Lassila

17 17 Παράδειγμα με αναφορές Ora Lassila “Ora Lassila” Creator Name

18 18 Συντετμημένη σύνταξη(συνέχεια) 2η σύντμηση: αφορά εμφωλευμένα στοιχεία Description Ora Lassila

19 19 RDF XML σύνταξη για περιβλήματα Ora Lassila Ralph Swick “Ora Lassila” rdf:_1 rdf:Seq dc:Creator rdf:Type “Ralph Swick” rdf:_2 Τιμές

20 20 RDF XML σύνταξη για περιβλήματα rdf:_1 rdf:Bag students rdf:Type rdf:_2 Courses/6.001 rdf:_3 Students/John Students/Tim Students/Mary Αναφορές σε πόρους

21 21 Περιβλήματα ορισμένα σαν URI πρότυπα Χρησιμοποιώντας την παρακάτω δήλωση μπορούμε να πούμε ότι: l κάθε πόρος που το URI του ξεκινά με “http://foo.org/doc” έχει μια συγκεκριμένη ιδιότητα copyright: 1998, The Foo Organization

22 22 Δηλώσεις υψηλότερης τάξης Είναι δυνατόν να διατυπώσουμε δηλώσεις RDF οι οποίες αφορούν άλλες δηλώσεις RDF. Οι δηλώσεις αυτές ονομάζονται δηλώσεις υψηλότερης τάξης ( Higher-order statements) l παράδειγμα: “Ralph Swick says that Ora Lassila is the creator of the resource Οι δηλώσεις υψηλότερης τάξης: l μας επιτρέπουν να εκφράσουμε πεποιθήσεις (beliefs) (και άλλες «modalities») l σημαντικές για trust models, digital signatures, κ.λ.π. l επίσης: μεταδεδομένα που αφορούν άλλα μεταδεδομένα l αναπαριστώνται μοντελοποιώντας RDF στην ίδια την RDF.

23 23 Υποστασιοποίηση Για να διατυπώσουμε δηλώσεις σχετικά με άλλες δηλώσεις πρέπει να χτίσουμε ένα μοντέλο της αρχικής δήλωσης εκφράζοντας τo σαν πόρο στον οποίο στη συνέχεια μπορούμε να επισυνάψουμε ιδιότητες. Η διαδικασία αυτή ονομάζεται υποστασιοποίηση (reification). Η RDF παρέχει ένα ενσωματωμένο λεξιλόγιο ιδιοτήτων για αυτό: l rdf:subject, rdf:predicate, rdf:object and rdf:type  Το περιεχόμενο του πλαισίου με τη στικτή γραμμή αντιστοιχεί στις παρακάτω δηλώσεις: {rdf:type, [X], [rdf:statement] } {rdf:predicate, [X], [dc:Creator] } {rdf:subject, [X], [http://www.w3.org/TR/REC-rdf-syntax] } {rdf:object, [X], “Ora Lassila” } “Ora Lassila” dc:Creator “Ralph Swick” a:attributedTo

24 24 Υποστασιοποίηση (συνέχεια) Ένας νέος πόρος με τις παραπάνω τέσσερις ιδιότητες αναπαριστά την αρχική δήλωση και μπορεί να χρησιμοποιηθεί σας αντικείμενο άλλης ιδιότητας. Ο πόρος με τις τέσσερις αυτές ιδιότητες δεν αντικαθιστά την αρχική δήλωση αλλά είναι το μοντέλο της δήλωσης αυτής, το οποίο ονομάζεται υποστασιοποιημένη δήλωση (reified statement).

25 25 Παράδειγμα “Ora Lassila” rdf:object rdf:subject rdf:Type rdf:predicate dc:Creator rdf:statement “Ralph Swick” a:atributedTo “Ralph Swick says that Ora Lassila is the creator of the resource

26 26 Υποστασιοποίηση pers05 ISBN... Author-of NYT claims ISBN... Κάθε δήλωση μπορεί να είναι ένα αντικείμενο  οι γράφοι μπορεί να είναι εμφωλευμένοι

27 27 Παράδειγμα Ένας πόρος μπορεί να είναι τιμή για περισσότερες από μια ιδιότητες (να δείχνεται από περισσότερα του ενός βέλη). rdf:_3 JSPapersbyDate rdf:_3 rdf:_2 rdf:_1 rdf:_1 rdf:_2 JSPapersbySubj rdf:type rdf:Seq rdf:type

28 28 DC in RDF

29 29 DC in RDF syntax Ariadne - The Web Version journal, magazine, elib, electronic libraries, digital libraries, networking, Web, IT, higher education A Web and print magazine of Internet issues for librarians and information specialists UKOLN, University of Bath Text.Serial.Magazine text/html URN:ISSN:

30 30 Συνδυασμός πολλών σχημάτων μεταδεδομένων Παράδειγμα: περιγραφή μιας λαογραφικής συλλογής.

31 RDF Schema Μανόλης Γεργατσούλης, Χρήστος Παπαθεοδώρου Τμήμα Αρχειονομίας & Βιβλιοθηκονομίας, Ιόνιο Πανεπιστήμιο

32 32 RDF Schema Ορίζει μικρά λεξιλόγια για την RDF: Class, subClassOf, type Property, subPropertyOf domain, range Τα λεξιλόγια μπορεί να χρησιμοποιηθούν για να οριστούν άλλα λεξιλόγια για συγκεκριμένα πεδία εφαρμογών Person subClassOf StudentResearcher Jeen type hasSuperVisor domain range Frank type hasSuperVisor

33 33 RDF Schema (Γενικά) Η RDF Schema, είναι μια σημασιολογική επέκταση της RDF. Παρέχει μηχανισμούς για την περιγραφή συλλογών από ομοειδείς πόρους καθώς και των σχέσεων ανάμεσα στους πόρους αυτούς. Οι περιγραφές του λεξιλογίου της RDF Schema γράφονται σε RDF. Αυτοί οι πόροι χρησιμοποιούνται για να καθορίσουν χαρακτηριστικά άλλων πόρων, όπως για παράδειγμα τα πεδία ορισμού και τα πεδία τιμών των ιδιοτήτων. Η γλώσσα που ορίζεται εδώ αποτελεί μια συλλογή από RDF πόρους οι οποίοι μπορούν να χρησιμοποιηθούν για να περιγράψουν ιδιότητες άλλων RDF πόρων (συμπεριλαμβανομένων και ιδιοτήτων), σε συγκεκριμένα λεξιλόγια RDF εφαρμογών.

34 34 Κλάσεις Οι πόροι είναι δυνατό να χωριστούν σε ομάδες που ονομάζονται κλάσεις (classes). Τα μέλη μια κλάσης ονομάζονται στιγμιότυπα (instances) της κλάσης. l Οι κλάσεις είναι και οι ίδιες πόροι. Στην RDF υπάρχει διάκριση μεταξύ μιας κλάσης και των στιγμιότυπων της. Με κάθε κλάση συνδέεται ένα σύνολο το οποίο ονομάζεται επέκταση της κλάσης (class extension), το οποίο είναι το σύνολο των στιγμιότυπων της κλάσης. Δύο κλάσεις μπορεί να έχουν το ίδιο σύνολο στιγμιότυπων αλλά να είναι διαφορετικές κλάσεις. l Μια κλάση μπορεί να είναι μέλος της επέκτασης της καθώς και στιγμιότυπο του εαυτού της. Η συλλογή των πόρων οι οποίοι είναι κλάσεις της RDF Schema είναι επίσης κλάση και ονομάζεται rdfs:class. Αν μια κλάση C είναι υποκλάση μιας κλάσης C', τότε όλα τα στιγμιότυπα της C είναι επίσης και στιγμιότυπα της C'.

35 35 Κλάσεις (συνέχεια) Η ιδιότητα rdfs:subClassOf μπορεί να χρησιμοποιηθεί για να δηλώσει ότι μια κλάση είναι υποκλάση μιας άλλης κλάσης. Ο όρος υπερκλάση (super-class) χρησιμοποιείται σαν ο ανάστροφος του όρου υποκλάση. Αν μια κλάση C’ είναι υπερκλάση μιας κλάσης C, τότε όλα τα στιγμιότυπα της C είναι επίσης και στιγμιότυπα της C'. Όλα τα αντικείμενα τα οποία περιγράφονται με RDF ονομάζονται πόροι, και είναι στιγμιότυπα της κλάσης rdfs:Resource. Αυτή η κλάση περιλαμβάνει τα πάντα. Όλες οι άλλες κλάσεις είναι υποκλάσεις της κλάσης αυτής. l Η rdfs:Resource είναι ένα στιγμιότυπο της rdfs:Class Η rdfs:Class είναι η κλάση των πόρων που είναι κλάσεις της RDF. l Η rdfs:Class είναι στιγμιότυπο της rdfs:Class.

36 36 Κλάσεις (συνέχεια) Η rdfs:Literal είναι η κλάση που περιλαμβάνει όλες τις τιμές με χαρακτήρες. l Η rdfs:Literal είναι ένα στιγμιότυπο της rdfs:Class. Η rdfs:Literal είναι υποκλάση της rdfs:Resource. Η rdf:Property είναι η κλάση των ιδιοτήτων της RDF. l Η rdf:Property είναι στιγμιότυπο της rdfs:Class. H rdfs:Datatype είναι η κλάση όλων των τύπων δεδομένων. l Η rdfs:Datatype είναι ταυτόχρονα και στιγμιότυπο και υποκλάση της rdfs:Class. l Κάθε στιγμιότυπο της rdfs:Datatype είναι υποκλάση της rdfs:Literal.

37 37 Ιδιότητες Η ιδιότητα rdfs:subPropertyOf μπορεί να χρησιμοποιηθεί για να δηλώσει ότι μια ιδιότητα είναι υπο-ιδιότητα (sub-property) μιας άλλης. l Αν μια ιδιότητα P είναι υπο-ιδιότητα μιας ιδιότητας P', τότε όλα τα ζεύγη πόρων τα οποία συσχετίζονται με την P συσχετίζονται επίσης με την P'. l Ο όρος υπερ-ιδιότητα (super-property) χρησιμοποιείται συχνά σαν ο αντίστροφος του όρου υπο-ιδιότητα. l Αν μια ιδιότητα P’ είναι υπερ-ιδιότητα μιας ιδιότητας P, τότε όλα τα ζεύγη πόρων τα οποία συσχετίζονται με την P συσχετίζονται επίσης με την P'. l Δεν έχει οριστεί μια ιδιότητα η οποία είναι υπερ- ιδιότητα όλων των ιδιοτήτων.

38 38 Ιδιότητες (συνέχεια) Η ιδιότητα rdfs:range είναι στιγμιότυπο της rdf:Property και χρησιμοποιείται για να δηλώσει ότι οι τιμές μιας ιδιότητας είναι στιγμιότυπα μιας ή περισσοτέρων κλάσεων. l Η δήλωση: P rdfs:range C υποδηλώνει ότι το P είναι ένα στιγμιότυπο της κλάσης rdf:Property, η C είναι ένα στιγμιότυπο της rdfs:class και οι πόροι που αντιστοιχούν στα αντικείμενα των τριάδων των οποίων το κατηγόρημα είναι το P, είναι στιγμιότυπα της κλάσης C. Η ιδιότητα rdfs:domain είναι στιγμιότυπο της rdf:Property και χρησιμοποιείται για να δηλώσει ότι κάθε πόρος που έχει μια συγκεκριμένη ιδιότητα είναι στιγμιότυπο μιας η περισσοτέρων κλάσεων. l Η δήλωση: P rdfs:domain C υποδηλώνει ότι το P είναι ένα στιγμιότυπο της κλάσης rdf:Property, η C είναι ένα στιγμιότυπο της rdfs:class και οι πόροι που αντιστοιχούν στα υποκείμενα των τριάδων των οποίων το κατηγόρημα είναι το P, είναι στιγμιότυπα της κλάσης C.

39 39 Ιδιότητες (συνέχεια) Η ιδιότητα rdf:type είναι στιγμιότυπο της rdf:Property και χρησιμοποιείται για να δηλώσει ότι ένας πόρος είναι στιγμιότυπο μιας κλάσης. l Η δήλωση: R rdfs:type C υποδηλώνει ότι το C είναι ένα στιγμιότυπο της rdfs:class και το R είναι στιγμιότυπο της C. Η ιδιότητα rdfs:subClassOf είναι στιγμιότυπο της rdf:Property και χρησιμοποιείται για να δηλώσει ότι τα στιγμιότυπα μιας κλάσης είναι και στιγμιότυπα της άλλης. l Η ιδιότητα rdfs:subClassOf είναι μεταβατική. Η ιδιότητα rdfs:subPropertyOf είναι στιγμιότυπο της rdf:Property και χρησιμοποιείται για να δηλώσει ότι όλοι οι πόροι που σχετίζονται με μια ιδιότητα σχετίζονται επίσης και με μια άλλη. l Η δήλωση: P1 rdfs:subPropertyOf P2 υποδηλώνει ότι τα P1 και P2 είναι στιγμιότυπα της rdf:Property, καθώς και ότι το P1 είναι υπο-ιδιότητα της P2. l Η ιδιότητα rdfs:subPropertyOf είναι μεταβατική.

40 40 Ιδιότητες (συνέχεια) Η ιδιότητα rdfs:label παρέχει μια εύκολα αναγνώσιμη από τον άνθρωπο παραλλαγή του ονόματος ενός πόρου. l Η δήλωση: R rdfs:label L υποδηλώνει ότι το L μια εύκολα αναγνώσιμη από τον άνθρωπο ετικέτα για τον πόρο R. Η ιδιότητα rdfs:comment χρησιμοποιείται για να παρέχει μια αναγνώσιμη από τον άνθρωπο περιγραφή ενός πόρου. l Ένα σχόλιο σε μορφή κειμένου διευκολύνει στο ξεκαθάρισμα της σημασίας των κλάσεων και των ιδιοτήτων της RDF.

41 41 RDF classes Class namecomment rdfs:ResourceThe class resource, everything. rdfs:Literal The class of literal values, e.g. textual strings and integers. rdf:XMLLiteralThe class of XML literals values. rdfs:ClassThe class of classes. rdf:PropertyThe class of RDF properties. rdfs:DatatypeThe class of RDF datatypes. rdf:StatementThe class of RDF statements. rdf:BagThe class of unordered containers. rdf:SeqThe class of ordered containers. rdf:AltThe class of containers of alternatives. rdfs:ContainerThe class of RDF containers. rdfs:ContainerMembershipProperty The class of container membership properties, rdf:_1, rdf:_2,..., all of which are sub- properties of 'member'. rdf:ListThe class of RDF Lists.

42 42 RDF properties Property namecommentdomainrange rdf:type The subject is an instance of a class. rdfs:Resourcerdfs:Class rdfs:subClassOf The subject is a subclass of a class. rdfs:Class rdfs:subPropertyOf The subject is a subproperty of a property. rdf:Property rdfs:domain A domain of the subject property. rdf:Propertyrdfs:Class rdfs:range A range of the subject property. rdf:Propertyrdfs:Class rdfs:label A human-readable name for the subject. rdfs:Resourcerdfs:Literal rdfs:comment A description of the subject resource. rdfs:Resourcerdfs:Literal rdfs:member A member of the subject resource. rdfs:Resource rdf:first The first item in the subject RDF list. rdf:Listrdfs:Resource

43 43 Property namecommentdomainrange rdf:first The first item in the subject RDF list. rdf:Listrdfs:Resource rdf:rest The rest of the subject RDF list after the first item. rdf:List rdfs:seeAlso Further information about the subject resource. rdfs:Resource rdfs:isDefinedBy The definition of the subject resource. rdfs:Resource rdf:value Idiomatic property used for structured values rdfs:Resource rdf:subject The subject of the subject RDF statement. rdf:Statementrdfs:Resource rdf:predicate The predicate of the subject RDF statement. rdf:Statementrdf:Property rdf:object The object of the subject RDF statement. rdf:Statementrdfs:Resource RDF properties (συνέχεια)

44 44 Σύνταξη της RDF Schema σε XML

45 45 RDF Schema (Παράδειγμα) Person Class Student Class Teacher Class Course Class

46 46 RDF Schema (Παράδειγμα):Συνέχεια Teacher of a course List of Students of a course in alphabetical order Name of a Person or Course


Κατέβασμα ppt "Resource Description Framework Μανόλης Γεργατσούλης, Χρήστος Παπαθεοδώρου Τμήμα Αρχειονομίας & Βιβλιοθηκονομίας, Ιόνιο Πανεπιστήμιο."

Παρόμοιες παρουσιάσεις


Διαφημίσεις Google