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

Σχετικά έγγραφα
Εργαστήριο Σημασιολογικού Ιστού

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

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

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

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

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

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

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

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

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

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

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

Ενότητα 3: Τα δεδομένα στο Web. (και η σημασιολογία τους semantics )

ΒΟΗΘΗΤΙΚΕΣ ΣΗΜΕΙΩΣΕΙΣ

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

Βάσεις Περιβαλλοντικών Δεδομένων

Βάσεις Περιβαλλοντικών Δεδομένων

Διοικητική Λογιστική

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

Αυτοματοποιημένη χαρτογραφία

Σχεδιασμός Υπαιθρίων Εκμεταλλεύσεων

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

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι. Ενότητα 2: Μοντελο Συσχετίσεων Οντοτήτων, Μελέτη Περίπτωσης: Η βάση δεδομένων των CD

Λογιστικές Εφαρμογές Εργαστήριο

Τεχνολογία Πολιτισμικού Λογισμικού

Προγραμματισμός Η/Υ. Βασικές Προγραμματιστικές Δομές. ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Τεχνολογιών Φυσικού Περιβάλλοντος

Πληροφορική ΙΙ Θεματική Ενότητα 5

ΜΑΘΗΜΑ: ΗΛΕΚΤΡΟΤΕΧΝΙΑ-ΗΛΕΚΤΡΟΝΙΚΗ ΕΡΓΑΣΤΗΡΙΟ

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

Τεχνολογία Πολιτισμικού Λογισμικού

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

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

Λογιστική Κόστους Ενότητα 12: Λογισμός Κόστους (2)

Λογιστική Κόστους Ενότητα 8: Κοστολογική διάρθρωση Κύρια / Βοηθητικά Κέντρα Κόστους.

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Αρχεία και Βάσεις Δεδομένων

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

Ανοικτά Ακαδημαϊκά Μαθήματα

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Τεχνικό Σχέδιο - CAD

Διοικητική Λογιστική

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι Ενότητα 3:

Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Αθήνας. Βιοστατιστική (Ε) Ενότητα 3: Έλεγχοι στατιστικών υποθέσεων

Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Αθήνας. Βιοστατιστική (Ε) Ενότητα 1: Καταχώρηση δεδομένων

ΜΑΘΗΜΑ: Αντικειμενοστρεφής Προγραμματισμός

Τεχνικό Σχέδιο - CAD

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι. Ενότητα 9α: Περιορισμοί (Constraints) Εναύσματα (Triggers) Ευαγγελίδης Γεώργιος Τμήμα Εφαρμοσμένης Πληροφορικής

Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Αθήνας. Βιοστατιστική (Ε) Ενότητα 2: Περιγραφική στατιστική

Διδακτική Πληροφορικής

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

Υπολογιστικά Συστήματα

Εισαγωγή στην Πληροφορική

ΑΣΦΑΛΕΙΑ & ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΩΝ(Θ)

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΣΙΑ ΠΑΝΕΠΙΣΗΜΙΟ ΚΡΗΣΗ

Σχεδίαση με Ηλεκτρονικούς Υπολογιστές

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

Ηλεκτρονικοί Υπολογιστές II

Λογιστικές Εφαρμογές Εργαστήριο

Διδακτική Πληροφορικής

ΨΥΧΟΠΑΙΔΑΓΩΓΙΚΗ ΤΗΣ ΠΡΟΣΧΟΛΙΚΗΣ ΗΛΙΚΙΑΣ

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

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Εφαρμογές Συστημάτων Γεωγραφικών Πληροφοριών

Οργάνωση Υπολογιστών ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Εργαστήριο 9: Εισαγωγή στην Ομοχειρία (Pipelining - Διοχέτευση) Μανόλης Γ.Η.

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

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

Διδακτική Πληροφορικής

ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ. Διαχείριση Κατανεμημένων Δεδομένων στο. Διαδίκτυο

Βάσεις Περιβαλλοντικών Δεδομένων

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

Εισαγωγή στους Αλγορίθμους

Βάσεις Περιβαλλοντικών Δεδομένων

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

Υπολογιστικά & Διακριτά Μαθηματικά

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

Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών

τατιςτική ςτην Εκπαίδευςη II

Τεχνικό Σχέδιο - CAD

Διδακτική της λογοτεχνίας Ασκήσεις

TEC610 Δυναμικές Εφαρμογές Διαδικτύου (ΣΤ εξάμηνο)

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

Βάσεις Περιβαλλοντικών Δεδομένων

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

ΗΛΕΚΤΡΟΤΕΧΝΙΑ-ΗΛΕΚΤΡΟΝΙΚΗ ΕΡΓΑΣΤΗΡΙΟ

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

Λογική. Φροντιστήριο 3: Συνεπαγωγή/Ισοδυναμία, Ταυτολογίες/Αντινομίες, Πλήρης Αλγόριθμος Μετατροπής σε CNF

Διαφωτισμός και διαμόρφωση των πολιτικών ιδεολογιών στην Ελλάδα

Γενικά Μαθηματικά Ι. Ενότητα 15: Ολοκληρώματα Με Ρητές Και Τριγωνομετρικές Συναρτήσεις Λουκάς Βλάχος Τμήμα Φυσικής

Ανοικτά Ακαδημαϊκά Μαθήματα

Διδακτική Πληροφορικής

Βάσεις Περιβαλλοντικών Δεδομένων

Εισαγωγή στους Αλγορίθμους

Διδακτική Πληροφορικής

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

Οργανωσιακή Συμπεριφορά Ενότητα 1: Η έννοια της οργάνωσης και διοίκησης

Λογιστική Κόστους. Ενότητα 4: ΣΥΜΠΕΡΙΦΟΡΑ - ΦΥΣΗ ΚΟΣΤΟΥΣ. Μαυρίδης Δημήτριος Τμήμα Λογιστικής και Χρηματοοικονομικής

Εισαγωγή στους Υπολογιστές

Εισαγωγή στην Πληροφορική

Εννοιες και Παράγοντες της Ψηφιακής Επεξεργασίας Εικόνας

ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ι

Transcript:

Εργαστήριο Σημασιολογικού Ιστού Ενότητα 7: Χρήση RDFS και λεξιλογίων RDF Μ.Στεφανιδάκης 27-3-2016.

Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα. Το έργο «Ανοικτά Ακαδημαϊκά Μαθήματα στο Ιόνιο Πανεπιστήμιο» έχει χρηματοδοτήσει μόνο τη αναδιαμόρφωση του εκπαιδευτικού υλικού. Το έργο υλοποιείται στο πλαίσιο του Επιχειρησιακού Προγράμματος «Εκπαίδευση και Δια Βίου Μάθηση» και συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εθνικούς πόρους. 10-1

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons

Επανάληψη: RDFS και λεξιλόγια RDF RDFS: σημασιολογική επέκταση της RDF Το σχήμα RDFS βασίζεται στις κλάσεις (classes) και τις ιδιότητες (properties) Λεξιλόγια RDF (RDF Vocabularies) Παρέχουν όρους ( λέξεις ) για την περιγραφή των κλάσεων και σχέσεων (του σχήματος, δηλαδή) των RDF δεδομένων μας όλα είναι URIs σε κοινό χώρο ονομάτων Κλειδί για την επιτυχία του Σημασιολογικού Ιστού είναι η (επανα)χρησιμοποίηση κοινών λεξιλογίων Η αξία ενός λεξιλογίου RDF αυξάνεται ανάλογα με τη χρήση του Πάντα: πρέπει να αναζητήσετε υπάρχοντα λεξιλόγια RDF πριν φτιάξετε ένα δικό σας!

Δύο επίπεδα: Σχήμα και Δεδομένα TBox (terminology) και ABox (assertion): όροι από την επιστήμη της Αναπαράστασης Γνώσης (εδώ σε ανεπίσημη χρήση)

Η σύνδεση Σχήματος και Δεδομένων Το σχήμα (στη μορφή λεξιλογίου RDF) συνήθως βρίσκεται σε ξεχωριστό έγγραφο Οι τριάδες RDF περιγράφουν οντολογικές έννοιες (TBoxes) Τα κανονικά δεδομένα αποτελούν άλλο σετ τριάδων RDF (ABoxes) Όπου χρησιμοποιούνται τα URIs του λεξιλογίου ως κατηγορήματα ή αντικείμενα Η σύνδεση επιτυγχάνεται μέσω του rdf:type

Τι μπορεί να κάνει το RDFS για τις εφαρμογές μας; Επίσημα: τίποτα! Δηλαδή: το πρότυπο RDFS δεν ορίζει πώς θα χρησιμοποιηθεί από μια εφαρμογή! Ορίζει μόνο τη σημασιολογία... Οι χρήσεις όμως είναι πολλές και ενδιαφέρουσες: Εφαρμογές που δρουν με βάση τη σημασιολογία των δεδομένων RDFS Η ροή ελέγχου καθορίζεται από τα (μέτα)δεδομένα (data-driven applications) Ανακάλυψη και έλεγχος συνοχής σε σημασιολογικά δεδομένα Εάν ένα σετ δεδομένων τηρεί ένα σχήμα Εξαγωγή νέας γνώσης πέραν των δηλωμένων τριάδων Διαδικασία εξαγωγής συμπερασμάτων (inference)

Παράδειγμα εξαγωγής νέας γνώσης Έστω το σετ δεδομένων RDF: voc:course rdf:type rdfs:class. voc:undergraduatecourse rdf:type rdfs:class. voc:undergraduatecourse rdfs:subclassof voc:course. ex:semweb rdf:type voc:course. ex:csintro rdf:type voc:undergraduatecourse. Στην ερώτηση: δώσε τα μαθήματα (voc:course), τα δηλωμένα δεδομένα δίνουν: ex:semweb Αν το πρόγραμμά μας υλοποιεί τους κανόνες RDFS, η απάντηση θα είναι: ex:semweb ex:csintro

Η σειρά σας! Χρησιμοποιήστε τη βιβλιοθήκη rdflib της Python Παραδείγματα απλής χρήσης στις επόμενες διαφάνειες! Η εφαρμογή σας: Θα φορτώνει τριάδες από τη διεύθυνση http:// dbpedia.org/data/lodovico_giustini.ntriples Θα εντοπίζει και θα τυπώνει όλα τα URIs τύπου foaf:person και foaf:agent Υπάρχουν ρητά δηλωμένα foaf:agent; Στη συνέχεια θα φορτώνει σε ξεχωριστό γράφο το λεξιλόγιο FOAF (μορφή xml) Χρησιμοποιώντας την πληροφορία rdfs:subclassof, μπορείτε να βρείτε URIs που έχουν έμμεσα τύπο foaf:agent;

Απλή χρήση rdflib (1) import rdflib # rdflib knows basic namespaces from rdflib.namespace import FOAF,RDF,RDFS,XSD # create an RDF graph object g = rdflib.graph() # load a dataset from a file into graph g.parse("schedule.nt",format='nt') # load a dataset from URL g.parse("http://xmlns.com/foaf/spec/",format='xml') # get number of triples in graph print(len(g)) # save graph into a new file g.serialize("output.ttl",format='turtle') # iterate through all triples for s,p,o in g: print(s,p,o) # get a set of all unique predicates # g.subjects() and g.objects() also exist preds = set(g.predicates()) # iterate through selected triples # None here means 'any' for s,p,o in g.triples((none,rdf.type,none)): print(o)

Απλή χρήση rdflib (2) # create new URI semw = rdflib.uriref('http://ex.com/resource/semweb') print(type(semw)) # rdflib.term.uriref print(semw) # http://ex.com/resource/semweb print(semw.n3()) # <http://ex.com/resource/semweb> # create a URI within a namespace ns = rdflib.namespace('http://ex.com/resource/') semw2 = ns.semweb # same as semw semw3 = ns['semweb'] # same as semw # create a new blank node bn = rdflib.bnode() print(type(bn)) # rdflib.term.bnode print(bn) # Nf8cd657ef6cd4a72b0... print(bn.n3()) # _:Nf8cd657ef6cd4a72b0... # create a new literal l = rdflib.literal('prof.smith') print(type(l)) # rdflib.term.literal print(l) # Prof.Smith print(l.n3()) # "Prof.Smith"

Απλή χρήση rdflib (3) # create typed literal n = rdflib.literal('13:00:00.0',datatype=xsd.time) print(type(n.value)) # datetime.time # or by passing a python object directly n2 = rdflib.literal(7.3) print(type(n2.value)) # float # create a literal string with language la = rdflib.literal('test',lang='en') print(la.language) # en # add a new triple g.add((bn,semw,la)) if (bn,semw,la) not in g: print('error') # remove a triple g.remove((bn,semw,la)) if (bn,semw,la) in g: print('error') (κατεβάστε τον συνολικό κώδικα)

Η σειρά σας (2) Τροποποιήστε το πρόγραμμά σας, έτσι ώστε να εκμεταλλεύεται και την πληροφορία rdfs:domain και rdfs:range για την εξαγωγή τύπων. Δοκιμάστε στα δεδομένα από το http: //www.bbc.co.uk/programmes/b00nj6cl.rdf και το λεξιλόγιο από το http://www.bbc.co.uk/ontologies/po/1.0.ttl (μορφή turtle) Μπορείτε να ψάξετε για foaf:agent στα δικά σας δεδομένα του ωρολογίου προγράμματος; Προσθέστε τις κατάλληλες δηλώσεις rdf:type στα δεδομένα σας! Ποιο URI είναι Μάθημα, Αίθουσα, Διδάσκων, Διάλεξη

Μια στιγμή! Μήπως η εφαρμογή σας επιτρέπει μια διάλεξη να γίνεται ταυτόχρονα σε πολλές αίθουσες; Θα μπορούσε να ξέρει από το λεξιλόγιο RDF ότι δεν είναι σωστό; Πώς θα εκφράσουμε ότι μια συγκεκριμένη διάλεξη γίνεται το πολύ σε μία αίθουσα την ίδια στιγμή; Γενικότερα, αν ένα υποκείμενο μπορεί να συνδεθεί ακριβώς Ν φορές μέσω κατηγορήματος p με διάφορα αντικείμενα; Το RDFS δεν μπορεί να εκφράσει αυτόν τον περιορισμό!

Επίσης... Πώς θα καθησυχάσετε τους θεωρητικούς πως Ό,τι είναι Αίθουσα δεν είναι Διδάσκων (πρακτικά το γνωρίζουμε, βέβαια) Το RDFS δεν μπορεί να εκφράσει το γεγονός ότι οι κλάσεις Αίθουσες και Διδάσκοντες δεν έχουν κοινά στοιχεία!

Επιπλέον... Αν είχατε κλάσεις LabLecture και TheoreticalLecture Και αντίστοιχα κλάσεις LabRoom και TeachingRoom Πώς θα δηλώνατε σε λεξιλόγιο RDF ότι: όταν η ιδιότητα takesplaceat έχει domain LabLecture, τότε έχει range LabRoom και όταν η ιδιότητα takesplaceat έχει domain TheoreticalLecture, τότε έχει range TeachingRoom Με το RDFS μπορούμε να ορίσουμε μόνο καθολικά το domain και range μιας ιδιότητας, όπως η takesplaceat, όχι ανα κλάση Για όλα τα παραπάνω, απαιτούνται πιο σύνθετα λεξιλόγια!