Οργάνωση Βάσεων Βιοϊατρικών Δεδομένων Εξόρυξη Γνώσης Βιοϊατρικών Δεδομένων. Σεμινάριο 9: Βάσεις NoSQL

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

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

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

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

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

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

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

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

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

Διασύνδεση και Άνοιγμα Δεδομένων του Α.Π.Θ. Καραογλάνογλου Κωνσταντίνος Μονάδα Σημασιολογικού Ιστού Α.Π.Θ 18/3/2014

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

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

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

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

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

Διαχείριση, Δημοσίευση και Διάθεση Ανοικτών Εκπαιδευτικών Πόρων

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

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

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

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

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

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

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

Πολυτεχνείο Κρήτης. Τμήμα Ηλεκτρονικών Μηχανικών & Μηχανικών Υπολογιστών

ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΕΤΑΠΤΥΧΙΑΚΟ ΔΙΠΛΩΜΑ ΕΙΔΙΚΕΥΣΗΣ (MSc) στα ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ ΔΙΠΛΩΜΑΤΙKH ΕΡΓΑΣΙΑ

Οντολογία σύμφωνα με τη Φιλοσοφία

Π Τ Υ Χ Ι Α Κ Η / Δ Ι Π Λ Ω Μ ΑΤ Ι Κ Η Ε Ρ ΓΑ Σ Ι Α

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

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

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

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ

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

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ

Ιστορικοί χάρτες στον Παγκόσμιο Ιστό

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

Description Logics. Γεώργιος Χρ. Μακρής MSc, MEd

Μεταπτυχιακή Διατριβή

ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ. Παρουσίαση της SPARQL με χρήση του Jena Adapter για Oracle. Αρ. Μητρώου: 04/2566

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

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

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

University of Crete Computer Science Department Πανεπιστήμιο Κρήτης CONFERENCE ONTOLOGY

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

Διαδικτυακές Εφαρμογές Ενότητα 1: JPA

Διασύνδεση Βιβλιογραφικών Αναφορών της DBpedia σε άλλες Βιβλιογραφικές Βάσεις

ΔΙΑΤΜΗΜΑΤΙΚΟ ΠΡΟΓΡΑΜΜΑ ΜΕΤΑΠΤΥΧΙΑΚΩΝ ΣΠΟΥΔΩΝ ΣΤΑ ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ(M.I.S.)

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

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

Σχεδιασμός Βάσεων Δεδομένων

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

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

SPARQL. Χρήστος Παπαθεοδώρου Αναπληρωτής Καθηγητής

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. Βάσεις Δεδομένων (4 ο εξάμηνο) Εργαστήριο MySQL #2

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

Βάσεις Δεδομένων και Ευφυή Πληροφοριακά Συστήματα Επιχειρηματικότητας. 2 ο Μάθημα: Βασικά Θέματα Βάσεων Δεδομένων. Δρ. Κωνσταντίνος Χ.

Μάθηµα 6. Τµήµα Αρχειονοµίας - Βιβλιοθηκονοµίας

Οντολογία για την περιγραφή των προσωπικοτήτων της Σάμου, την κατηγοριοποίηση και τις σχέσεις τους

example:alice example:knows example:bob example:alice example:name "Alice" example:alice example:bob example:knows

Πανεπιστήμιο Πειραιώς Τμήμα Πληροφορικής

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

ΜΑΘΗΜΑ 5. Ιόνιο Πανεπιστήµιο - Τµήµα Αρχειονοµίας - Βιβλιοθηκονοµίας. Tεχνολογίες των Πληροφοριών σε ψηφιακό περιβάλλον: Τα εργαλεία

Γλώσσες Αναπαράστασης Γνώσης στο Σημασιολογικό Ιστό Γιώργος Στοΐλος Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Η/Υ Εθνικό Μετσόβιο Πολυτεχνείο

Οντολογίες γενικά. Ορισμοί Εφαρμογές Πρότυπα/Γλώσσες Διαχείριση οντολογιών Semantic Web

Τεχνολογία ανάπτυξης νέων ιστοσελίδων στο Semantic Web.

Απεικόνιση Οντολογιών Σε Σχήµατα Σχεσιακών Βάσεων εδοµένων Με Σκοπό Την Ανάκτηση εδοµένων Σηµασιολογικού Περιεχοµένου ΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ

Ιόνιο Πανεπιστήμιο - Τμήμα Αρχειονομίας - Βιβλιοθηκονομίας

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

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

Δημοσίευση Δεδομένων Επιστημονικών Δημοσιεύσεων ως Ανοιχτά Διασυνδεδεμένα Δεδομένα. Λιοτήρη Ευαγγελία. Σχολή Θετικών Επιστημών Τμήμα Πληροφορικής

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

ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΙΑΤΡΙΚΗ ΣΧΟΛΗ

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

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

ΕΙΣΑΓΩΓΗ MΕΤΑΔΕΔΟΜΕΝΩΝ ΣΤΟ ΣYΣΤΗΜΑ ΔΙΑΧΕΙΡΙΣΗΣ ΠΕΡΙΕΧΟΜΕΝΟΥ WORDPRESS

ΕΡΕΥΝΗΤΙΚΟ ΚΕΝΤΡΟ ΚΑΙΝΟΤΟΜΙΑΣ ΣΤΙΣ ΤΕΧΝΟΛΟΓΙΕΣ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ & ΤΗΣ ΓΝΩΣΗΣ «ΑΘΗΝΑ» ΙΝΣΤΙΤΟΥΤΟ ΠΛΗΡΟΦΟΡΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ LODGOV

Εισαγωγή στις Οντολογίες και το Σημασιολογικό Ιστό

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

Υποστήριξη της Υποστασιοποίησης στο µοντέλο του RDF

OWL. Μανόλης Γεργατσούλης. Ομάδα Βάσεων Δεδομένων και Πληροφοριακών Συστημάτων, Τμήμα Αρχειονομίας Βιβλιοθηκονομίας Ιόνιο Πανεπιστήμιο

Ορισμοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL

ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. ΜΕΤΑΠΤΥΧΙΑΚΟ ΔΙΠΛΩΜΑ ΕΙΔΙΚΕΥΣΗΣ (MSc) στα ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ ΔΙΠΛΩΜΑΤΙKH ΕΡΓΑΣΙΑ

Σύγκριση Προγραµµατιστικών ιεπαφών (APIs) για διαχείριση Οντολογιών Ιστού και Ανάπτυξη Μηχανισµού υποβολής Ευφυών Ερωτηµάτων

(Πρωτόγνωρα) Δεδομένα για την Οικονομία

ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ. Συνδεδεμένα Δεδομένα: Δημοσίευση, Σύνδεση, Προσπέλαση. (Linked Data)

«Ανάπτυξη μηχανής παραγωγής φυσικής γλώσσας για οντολογίες OWL»

ΑΝΑΠΤΥΞΗ ΥΠΟΔΟΜΩΝ ΑΝΟΙΚΤΗΣ ΠΡΟΣΒΑΣΗΣ ΙΔΡΥΜΑΤΙΚΟ ΑΠΟΘΕΤΗΡΙΟ «ΟΛΥΜΠΙΑΣ» Διαλειτουργικότητα Ιδρυματικών Αποθετηρίων

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

Πανεπιστήμιο Πειραιώς Τμήμα Πληροφορικής

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ

ΝΙΚΟΛΑΟΥ ΔΙΑΜΑΝΤΟΠΟΥΛΟΥ ΝΙΚΟΛΑΟΥ ΚΥΡΤΑΤΑ

Απεικόνιση Σχεσιακού Μοντέλου σε Οντολογία Σηµασιολογικού Ιστού

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

Οργάνωση Βάσεων Βιοϊατρικών Δεδομένων Εξόρυξη Γνώσης Βιοϊατρικών Δεδομένων. Σεμινάριο 2: Εισαγωγή στις Βάσεις Δεδομένων

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

Semantic Web Engineering

Σηµασιολογικό Ιστό. Αλέξανδρος Βαλαράκος Αιγαίου.

ΣΧΕΔΙΑΣΜΟΣ & ΥΛΟΠΟΙΗΣΗ ΤΟΥ GRAMOFONE: ΕΝΑ ΓΡΑΦΙΚΟ ΕΡΓΑΛΕΙΟ ΕΠΕΞΕΡΓΑΣΙΑΣ ΟΝΤΟΛΟΓΙΩΝ ΒΑΣΙΣΜΕΝΟ ΣΤΟ ΠΡΟΤΥΠΟ MOF. Γιαννόπουλος Νικόλαος

Διαχείριση οντολογιών: μελέτη και εμβάθυνση στα βασικά προβλήματα που την αφορούν και παρουσίαση υπαρχουσών βιβλιοθηκών οντολογιών

Ορισμοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL

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

Transcript:

Οργάνωση Βάσεων Βιοϊατρικών Δεδομένων Εξόρυξη Γνώσης Βιοϊατρικών Δεδομένων Σεμινάριο 9: Βάσεις NoSQL Ευάγγελος Καρκαλέτσης, Αναστασία Κριθαρά, Γεώργιος Πετάσης Εργαστήριο Τεχνολογίας Γνώσεων & Λογισμικού, Ινστιτούτο Πληροφορικής & Τηλεπικοινωνιών, Ε.Κ.Ε.Φ.Ε. Δημόκριτος Τηλ.: 210-6503197, Fax: 210-6532175, {vangelis, akrithara, petasis}@iit.demokritos.gr Ακαδημαϊκό Έτος: 2016 2017 Τεχνολογίες Πληροφορικής στην Ιατρική και τη Βιολογία, 2016 2017

Έχετε ακούσει αυτούς τους όρους; Semantic Web Linked Data NoSQL RDF Triple Stores SPARQL Σεμινάριο 9, Βάσεις NoSQL 1

Προκλήσεις στον σύγχρονο ιστό Big Data Τελικά συνεπείς (eventually consistent) Διασυνδεδεμένα δεδομένα Ανοικτού Κώδικα Εύκολη αντιγραφή Μειωμένη συνοχή (relaxed consistency) Κατανεμημένες Βάσεις Schema-free Ημι-δομημένα δεδομένα Μη-σχεσιακές Απλές Διεπαφές Σεμινάριο 9, Βάσεις NoSQL 2

Παγκόσμιος Ιστός Τα αδόμητα δεδομένα (unstructured data) έχουν κατακλίσει τον παγκόσμιο ιστό Πώς μπορούμε να χειριστούμε καλύτερα αδόμητα δεδομένα; Είναι οι σχεσιακές βάσεις λύση; Ίσως όχι Είναι τα μετα-δεδομένα λύση; Τα μετα-δεδομένα (metadata) περιγράφουν συχνά το περιεχόμενο των αδόμητων δεδομένων Χρειαζόμαστε άλλες λύσεις; Τεχνολογίες σαν τον «σημασιολογικό ιστό»; Σεμινάριο 9, Βάσεις NoSQL 3

Σημασιολογικός Ιστός Ο σημασιολογικός ιστός είναι μια Web 3.0 τεχνολογία Ένας τρόπος διασύνδεσης δεδομένων μεταξύ συστημάτων Οντότητες που επιτρέπουν πλούσιες, αυτόπεριγραφικές διασυνδέσεις δεδομένων παντού στον παγκόσμιο ιστό Αλλαγή τρόπου σκέψης: Από έγγραφα που διαβάζονται από ανθρώπους, σε έγγραφα που διαβάζονται από μηχανές (machine readable documents) Σεμινάριο 9, Βάσεις NoSQL 4

Σημασιολογικός Ιστός Συνεργατικό κίνημα από έναν παγκόσμιο οργανισμό προτύπων, το World Wide Web Consortium Προωθεί πρότυπα δεδομένων στον παγκόσμιο ιστό Σκοπεύει να μετατρέψει τον παγκόσμιο ιστό (στον οποίο κυριαρχούν τα αδόμητα ή ημι-δομημένα δεδομένα) στον web of data The Semantic Web provides a common framework that allows data to be shared and reused across application, enterprise, and community boundaries. http://www.w3.org/2001/sw/ Σεμινάριο 9, Βάσεις NoSQL 5

Ποιο πρόβλημα καλείται να λύσει; Τα δεδομένα στον παγκόσμιο ιστό είναι οργανωμένα σε ιστοσελίδες, έγγραφα σε HTML που συνδέονται μεταξύ τους με υπερσυνδέσμους. Ένας άνθρωπος μπορεί να διαβάσει αυτές τις σελίδες. Οι μηχανές όμως; Μπορούν να εξάγουν λέξεις κλειδιά. Πέρα από λέξεις κλειδιά; Σεμινάριο 9, Βάσεις NoSQL 6

Ποιο πρόβλημα καλείται να λύσει; Η πλειοψηφία των ιστότοπων βασίζεται σε δεδομένα. Αλλά τα δεδομένα δεν είναι διαθέσιμα! Αυτό που είναι διαθέσιμο, είναι ιστοσελίδες που κατασκευάστηκαν από τα δεδομένα. Στόχοι σημασιολογικού ιστού: Web of data: να κάνει τα δεδομένα διαθέσιμα σε μηχαναγνώσιμη μορφή Να ενθαρρύνει οργανισμούς/εταιρίες να διαθέσουν τα δεδομένα τους σε κάποιο ανοικτό πρότυπο Να ενθαρρύνει την επαναχρησιμοποίηση των δεδομένων Σεμινάριο 9, Βάσεις NoSQL 7

The semantic web stack! User Interface & Applications Trust Proof Logic Querying Ontologies Data Interchange Rules Taxonomies Cryptography Syntax Identifiers Character Set Σεμινάριο 9, Βάσεις NoSQL 8

The semantic web stack! User Interface & Applications Trust Proof Logic Ontologies Rules Cryptography Σεμινάριο 9, Βάσεις NoSQL 9

Resource Description Framework Σύνολο από πρότυπα από το W3C http://www.w3c.org/rdf/ Κωδικοποιεί δηλώσεις (statements) για αντικείμενα (things) Ο ουρανός έχει χρώμα γαλάζιο Η σύνταξη είναι σε XML <sky colour="blue"/> Σεμινάριο 9, Βάσεις NoSQL 10

RDF: δηλώσεις για αντικείμενα The sky has the colour blue thing property value triple Σεμινάριο 9, Βάσεις NoSQL 11

RDF: δηλώσεις για αντικείμενα Ένα απλό μοντέλο entity attribute value (EAV) Κάθε μοντέλο μπορεί να αναπαρασταθεί σαν triples E <entity> <attribute-value> A <value> V <subject> <predicate> <object> To RDF χρησιμοποιεί διαφορετική ορολογία Σεμινάριο 9, Βάσεις NoSQL 12

URIs στο RDF Παρέχονται χώροι ονομάτων (namespaces) για τον μονοσήμαντο προσδιορισμό των αντικειμένων στα οποία αναφερόμαστε Παρέχονται τρόποι να προσδιορίσουμε ιδιότητες και τύπους αντικειμένων Με τρόπο κατανεμημένο και μοναδικό Καθένας μπορεί να πει οτιδήποτε για οποιοδήποτε αντικείμενο που προσδιορίζεται από ένα κατανεμημένο URI Σεμινάριο 9, Βάσεις NoSQL 13

RDF: δηλώσεις για αντικείμενα Το υποκείμενο και το κατηγόρημα είναι πάντα URIs Το αντικείμενο είναι είτε κυριολεκτική τιμή (literal) είτε URI <http://iit.demokritos.gr/person/petasis_georgios> <http://iit.demokritos.gr/properties/name> "Georgios Petasis" subject predicate object <http://iit.demokritos.gr/person/petasis_georgios> <http://iit.demokritos.gr/properties/email> "petasis@iit.demokritos.gr" Σεμινάριο 9, Βάσεις NoSQL 14

Graph Databases? http://www.linkeddatatools.com/introducing-rdf Σεμινάριο 9, Βάσεις NoSQL 15

Graph Database: Παράδειγμα Bengie is a dog. Bonnie is a cat. Bengie and Bonnie are friends. Σεμινάριο 9, Βάσεις NoSQL 16

Γράφοι RDF Ένας RDF γράφος είναι μια «λογική συλλογή» από triples Μια «αποθήκη» (store) μπορεί να περιέχει πολλούς γράφους Οι γράφοι μπορούν να έχουν όνομα (ένα URI) Οι named RDF graphs ονομάζονται και context Λειτουργίες σε RDF γράφους Εισαγωγή δεδομένων Εξαγωγή του γράφου Ερώτηση/ενημέρωση δεδομένων γράφου Συγχώνευση δεδομένων από διαφορετικές πηγές Έλεγχος πρόσβασης στα δεδομένα Σεμινάριο 9, Βάσεις NoSQL 17

The semantic web stack! User Interface & Applications Trust Proof Logic Querying Ontologies Data Interchange: RDF Rules Taxonomies Cryptography Syntax Identifiers Character Set Σεμινάριο 9, Βάσεις NoSQL 18

RDF Schema Το «core» RDF δεν έχει κάποιο «σχήμα» Οποιοδήποτε «σχήμα» δεδομένων μπορεί να αναπαρασταθεί σε RDF Χρειαζόμαστε όμως ένα κοινό «λεξιλόγιο» ή «οντολογία» Αν πρέπει να δημοσιεύουμε και να επαναχρησιμοποιούμε βάσης γνώσης RDF Schema Σύνολο από ιδιότητες RDF για τον ορισμό τύπων και περιορισμών Τα σχήματα RDF αναπαριστώνται σε RDF Σεμινάριο 9, Βάσεις NoSQL 19

RDF Schema Ένα κοινό λεξιλόγιο για τύπους, και περιορισμούς σε τιμές τύπων prefix:rdf prefix:rdfs <http://www.w3c.org/1999/02/22-rdf-syntax-ns#> <http://www.w3.org/2000/01/rdf-schema#> rdf:type rdfs:domain rdfs:range rdfs:class rdfs:property xsd:integer Σεμινάριο 7, Βάσεις NoSQL 20

Ένα έγγραφο RDF σε XML Υπάρχει υποχρεωτικά o κόμβος ρίζα: <rdf:rdf xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <!-- Body Code Omitted --> </rdf:rdf> Σεμινάριο 9, Βάσεις NoSQL 21

Προσθέτοντας μια δήλωση Μπορούμε να βάλουμε ένα ή περισσότερα κατηγορήματα ( statements ): <rdf:rdf xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <rdf:description rdf:about="http://www.test.com/clothes#t-shirt"> <!-- Statement Code Omitted --> </rdf:description> </rdf:rdf> Σεμινάριο 9, Βάσεις NoSQL 22

Predicates: <rdf:rdf Προσθέτοντας μια δήλωση xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <rdf:description rdf:about="http://www.test.com/clothes#t-shirt"> <feature:size>12</feature:size> <feature:color rdf:resource="http://www.test.com/colors#white"/> </rdf:description> </rdf:rdf> Σεμινάριο 9, Βάσεις NoSQL 23

Κατηγόρημα RDF <rdf:description rdf:about="subject"> <predicate rdf:resource="object" /> <predicate>literal value</predicate> <rdf:description> Subject of the statement Predicates of the statement - including whether they are resources or literals Objects referenced by the resource predicates Σεμινάριο 9, Βάσεις NoSQL 24

Παράδειγμα <?xml version="1.0" encoding="utf-8"?> <rdf:rdf xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:region="http://www.country-regions.fake/"> <rdf:description rdf:about="http://en.wikipedia.org/wiki/oxford"> <dc:title>oxford</dc:title> <dc:coverage>oxfordshire</dc:coverage> <dc:publisher>wikipedia</dc:publisher> <region:population>10000</region:population> <region:principaltown rdf:resource="http://www.country-regions.fake/oxford"/> </rdf:description> </rdf:rdf> Εκτενής χρήση των χώρων ονομάτων (namespaces)! Σεμινάριο 9, Βάσεις NoSQL 25

Turtle @prefix : <http://example.org/>. @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>. @prefix foaf: <http://xmlns.com/foaf/0.1/>. :Andy a foaf:person ; foaf:name "Andy Seaborne" ; foaf:mbox <mailto:andy@apache.org> ; foaf:knows :Paolo ; foaf:knows :Steve. :Paolo a foaf:person ; foaf:name "Paolo Castagna" ; foaf:mbox <mailto:castagna@apache.org>. :Steve foaf:name "Steve Loughran" ; foaf:mbox_sha1 "0678d36518d039a64ee4baba0a568afe535ce5f3". Σεμινάριο 9, Βάσεις NoSQL 26

RDF Schema RDFS Το RDFS μας δίνει ένα κοινό «λεξιλόγιο» για να φτιάχνουμε αντικείμενα και ταξινομίες Όρους με καλά καθορισμένη σημασία, που είναι συνεπής (consistent) ανεξάρτητα από το περιβάλλον Ένα πρώτο βήμα για να προσθέσουμε σημασία (semantics) στο μοντέλο γράφου που ορίζει το RDF Το επόμενο στάδιο: οντολογίες Έχοντας ένα λεξιλόγιο, μια οντολογία επιτρέπει τον ορισμό σχέσεων που εξαρτώνται από τα συμφραζόμενα/περιβάλλον (contextual relationships) Σεμινάριο 9, Βάσεις NoSQL 27

The semantic web stack! User Interface & Applications Trust Proof Logic Querying Ontologies Data Interchange: RDF Rules Taxonomies: RDFS Cryptography Syntax Identifiers Character Set Σεμινάριο 9, Βάσεις NoSQL 28

Τι είναι μια οντολογία; An ontology is an explicit specification of a conceptualization [Gruber, 1993] Ένα μοντέλο μιας θεματικής περιοχής, π.χ. μια γενική αναπαράσταση γνώσης για μια θεματική περιοχή Βασικά έννοιες/κλάσεις και (δυαδικές) σχέσεις Για ποιο λόγο έχει φτιαχτεί μια οντολογία; Συνήθως για σκοπούς διαμοιρασμού γνώσης (knowledge sharing) και επαναχρησιμοποίησης (reuse) Σεμινάριο 9, Βάσεις NoSQL 29

Τι είναι μια οντολογία; Αξιώματα (axioms) Athlete Person Person SportsEvent = Person SportsCompetition = SportsEvent SportsCompetition = owl:thing subclass-of Person SportsEvent SportsCompetition has-part Athlete has-participant instance-of Usain Bolt 2012 Olympics 100 m Κανόνες (rules) has_participant x, y ٿ has_participant z, y compete x, z Σεμινάριο 9, Βάσεις NoSQL 30

Τι είναι μια οντολογία; Κύρια συστατικά μιας οντολογίας Ιεραρχία κλάσεων/εννοιών (classes/concepts) Κλάσεις/έννοιες Σχέσεις «is-a» (subclass-of) Ιδιότητες τύπων (datatype properties - attributes) has-name Athlete xsd:string domain range Ιδιότητες αντικειμένων (object properties - relations) has-participant SportsCompetition domain Athlete range Σεμινάριο 9, Βάσεις NoSQL 31

Web Ontology Language Συστάσεις του W3C Resource Description Framework (RDF) URIs για την ονομασία σχέσεων μεταξύ 2 αντικειμένων ( triples ) OWL 2 Web Ontology Language Διάφορες υπο-γλώσσες, με διαφορετική εκφραστικότητα (και πολυπλοκότητα συλλογισμού - reasoning complexity) OWL Lite (hierarchies and simple constraints) OWL DL (maximum expressiveness retaining computational completeness & decidability corresponds to description logic) OWL Full (more compatible with RDF Schema) Διάφορες μορφές RDF/XML, OWL/XML, Functional syntax, Manchester syntax, Σεμινάριο 9, Βάσεις NoSQL 32

Web Ontology Language OWL (RDF/XML syntax) <owl:class rdf:id= SportsCompetition > <rdfs:subclassof rdf:resource= owl:thing /> </owl:class> <owl:objectproperty rdf:id= has-participant > <rdfs:range rdf:resource= Athlete /> </owl:objectproperty> owl:thing subclass-of Person SportsEvent SportsCompetition has-part Athlete has-participant OWL (Manchester syntax) Class: SportsCompetition SubClassOf: owl:thing ObjectProperty: has-participant Range: Athlete Description Logic SportsCompetition owl: Thing SportsCompetition 1 has participant. Athlete Σεμινάριο 9, Βάσεις NoSQL 33

Πρωτοβουλίες Μεταδεδομένων Υπάρχουν ήδη αρκετές έτοιμες οντολογίες, με τυποποιημένο λεξιλόγιο για αρκετές θεματικές περιοχές, π.χ.: Dublin Core Metadata Initiative (DCMI) Creates ontologies for a range of subjects, particularly focusing on common, every day terms and terms important in media. Friend Of A Friend (FOAF) Focuses on developing a standard vocabulary/ontology for social networking purposes. OpenCyc An ontology of everyday, common sense terms. Σεμινάριο 9, Βάσεις NoSQL 34

Παράδειγμα OWL οντολογίας <rdf:rdf xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:dc="http://purl.org/dc/elements/1.1/"> <!-- OWL Header Example --> <owl:ontology rdf:about="http://www.test.com/plants"> <dc:title>example Plant Ontology</dc:title> <dc:description>an example ontology</dc:description> </owl:ontology> <!-- OWL Class Definition Example --> <owl:class rdf:about="http://www.test.com/plants#planttype"> <rdfs:label>the plant type</rdfs:label> <rdfs:comment>the class of plant types.</rdfs:comment> </owl:class> </rdf:rdf> Σεμινάριο 9, Βάσεις NoSQL 35

OWL Classes, Subclasses & Individuals <rdf:rdf xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:plants="http://www.test.com/plants#"> <!-- OWL Header Omitted For Brevity --> <!-- OWL Class Definition - Plant Type --> <owl:class rdf:about="http://www.test.com/plants#planttype"> <rdfs:label>the plant type</rdfs:label> <rdfs:comment>the class of all plant types.</rdfs:comment> </owl:class> <!-- OWL Subclass Definition - Flower --> <owl:class rdf:about="http://www.test.com/plants#flowers"> <!-- Flowers is a subclassification of planttype --> <rdfs:subclassof rdf:resource="http://www.test.com/plants#planttype"/> <rdfs:label>flowering plants</rdfs:label> <rdfs:comment>flowering plants, also known as angiosperms.</rdfs:comment> </owl:class> <!-- OWL Subclass Definition - Shrub --> <owl:class rdf:about="http://www.test.com/plants#shrubs"> <!-- Shrubs is a subclassification of planttype --> <rdfs:subclassof rdf:resource="http://www.test.com/plants#planttype"/> <rdfs:label>shrubbery</rdfs:label> <rdfs:comment>shrubs, a type of plant which branches from the base.</rdfs:comment> </owl:class> <!-- Individual (Instance) Example RDF Statement --> <rdf:description rdf:about="http://www.test.com/plants#magnolia"> <!-- Magnolia is a type (instance) of the flowers classification --> <rdf:type rdf:resource="http://www.test.com/plants#flowers"/> </rdf:description> </rdf:rdf> Σεμινάριο 9, Βάσεις NoSQL 36

Data type property <rdf:rdf xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:plants="http://www.test.com/plants#"> <!-- OWL Header Omitted For Brevity --> <!-- OWL Classes Omitted For Brevity --> <!-- Define the family property --> <owl:datatypeproperty rdf:about="http://www.test.com/plants#family"/> <rdf:description rdf:about="http://www.test.com/plants#magnolia"> <!-- Magnolia is a type (instance) of the flowers class --> <rdf:type rdf:resource="http://www.test.com/plants#flowers"/> <!-- The magnolia is part of the 'Magnoliaceae' family --> <plants:family>magnoliaceae</plants:family> </rdf:description> </rdf:rdf> Προσθέσαμε μια ιδιότητα σε ένα στιγμιότυπο (instance), και όχι σε μια κλάση! Σεμινάριο 9, Βάσεις NoSQL 37

Object Property <rdf:rdf xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:plants="http://www.test.com/plants#"> <!-- OWL Header Omitted For Brevity --> <!-- OWL Classes Omitted For Brevity --> <!-- Define the family property --> <owl:datatypeproperty rdf:about="http://www.test.com/plants#family"/> <!-- Define the similarlypopularto property --> <owl:objectproperty rdf:about="http://www.test.com/plants#similarlypopularto"/> <!-- Define the Orchid class instance --> <rdf:description rdf:about="http://www.test.com/plants#orchid"> <!-- Orchid is an individual (instance) of the flowers class --> <rdf:type rdf:resource="http://www.test.com/plants#flowers"/> <!-- The orchid is part of the 'Orchidaceae' family --> <plants:family>orchidaceae</plants:family> <!-- The orchid is similarly popular to the magnolia --> <plants:similarlypopularto rdf:resource="http://www.test.com/plants#magnolia"/> </rdf:description> <!-- Define the Magnolia class instance --> <rdf:description rdf:about="http://www.test.com/plants#magnolia"> <!-- Magnolia is an individual (instance) of the flowers class --> <rdf:type rdf:resource="http://www.test.com/plants#flowers"/> <!-- The magnolia is part of the 'Magnoliaceae' family --> <plants:family>magnoliaceae</plants:family> <!-- The magnolia is similarly popular to the orchid --> <plants:similarlypopularto rdf:resource="http://www.test.com/plants#orchid"/> </rdf:description> </rdf:rdf> Σεμινάριο 9, Βάσεις NoSQL 38

Διαχείριση Οντολογιών Υπάρχουν αρκετά εργαλεία για την επεξεργασία οντολογιών Το protégé είναι ένα από αυτά: http://protege.stanford.edu/ Σεμινάριο 9, Βάσεις NoSQL 39

The semantic web stack! User Interface & Applications Trust Proof Logic Querying Ontologies Data Interchange: RDF Rules Taxonomies: RDFS Cryptography Syntax Identifiers Character Set Σεμινάριο 9, Βάσεις NoSQL 40

Ανάκτηση: SPARQL SPARQL Protocol and RDF Query Language Προφέρεται sparkle Επίσημο W3C recommendation από το 2008 Επιτρέπει ερωτήματα που απαρτίζονται από: triple patterns, conjunctions, disjunctions, and optional patterns Σεμινάριο 9, Βάσεις NoSQL 41

Απλά παραδείγματα Επιστρέφει όλα τα triples από μια βάση: select * where {?a?b?c } Επιστρέφει όλα τα λουλούδια: PREFIX plant: <http://www.test.com/plants> FROM <http://www.test.com/plantsdata/plants.rdf> SELECT?name WHERE {?name rdf:type plant:flowers } ORDER BY?name Σεμινάριο 9, Βάσεις NoSQL 42

Γενική δομή ερωτημάτων ανάκτησης PREFIX (Namespace Prefixes) π.χ. "PREFIX plant: <http://www.test.com/plants>" SELECT (Result Set) π.χ. "SELECT?name" FROM (Data Set) π.χ. "FROM <http://www.test.com/plantsdata/plants.rdf>" WHERE (Query Triple Pattern) π.χ. "WHERE?name rdf:type plant:flowers" ORDER BY, DISTINCT, κλπ. (Modifiers) π.χ. "ORDER BY?name" Σεμινάριο 9, Βάσεις NoSQL 43

Παραδείγματα Επιλέγει όλα τα URIs φυτών (subjects) και τα ονόματα οικογενειών: PREFIX plants: SELECT * WHERE {?name plants:family?family } <http://www.test.com/plants> Σεμινάριο 9, Βάσεις NoSQL 44

Έξοδος σε XML <?xml version="1.0"?> <sparql xmlns="http://www.w3.org/2005/sparql-results#" xmlns:xsi="http://www.w3.org/2001/xmlschema-instance"> <head> <variable name="name"/> <variable name="family"/> </head> <results> <result> <binding name="name"> <uri>http://www.test.com/plants#magnolia</uri> </binding> <binding name="family"> <literal>magnoliaceae</literal> </binding> </result> <result> <binding name="name"> <uri>http://www.test.com/plants#african_lilly</uri> </binding> <binding name="family"> <literal>liliaceae</literal> </binding> </result> </results> </sparql> Σεμινάριο 9, Βάσεις NoSQL 45

Παραδείγματα Αν ήθελα τα φυτά μιας συγκεκριμένης οικογένειας; PREFIX plants: <http://www.test.com/plants> SELECT * WHERE {?name plants:family "Magnoliaceae" } Σεμινάριο 9, Βάσεις NoSQL 46

Έξοδος σε XML <?xml version="1.0"?> <sparql xmlns="http://www.w3.org/2005/sparql-results#" xmlns:xsi="http://www.w3.org/2001/xmlschema-instance"> <head> <variable name="name"/> </head> <results> <result> <binding name="name"> <uri>http://www.test.com/plants#magnolia</uri> </binding> </result> <result> <binding name="name"> <uri>http://www.test.com/plants#manglietia</uri> </binding> </result> </results> </sparql> Σεμινάριο 9, Βάσεις NoSQL 47

Άλλα παραδείγματα Επιστρέφει όλα τα πρόσωπα που έχουν ηλικία, σορταρισμένα ως προς την ηλικία: select?a?age where {?a rdf:type ont:person.?a ont:age?age } order by?age Επιστρέφει όλα τα πρόσωπα πάνω από 18: select?a where {?a rdf:type ont:person.?a ont:age?age. filter (?age > 18) } Σεμινάριο 9, Βάσεις NoSQL 48

CREATE, INSERT, UPDATE? Εδώ περιπλέκονται τα πράγματα Δεν περιλαμβάνονται στο αρχικό πρότυπο Υπάρχουν επεκτάσεις όπως το SPARUL (SPARQL/Update) Το επίπεδο υλοποίησης διαφέρει ανάμεσα στις υλοποιήσεις Σεμινάριο 9, Βάσεις NoSQL 49

CREATE, INSERT, UPDATE Αλλαγή όλων των Bill σε William : prefix:foaf FOAF Vocabulary Specification 0.98 <http://xmlns.com/foaf/0.1/> delete {?person foaf:givenname Bill } insert {?person foaf:givenname William } where {?person foaf:givenname Bill } Σεμινάριο 9, Βάσεις NoSQL 50

CREATE, INSERT, UPDATE Διαγραφή παλιών εγγραφών: prefix:dcmi prefix:xsd Dublin Core Metadata Initiative <http://purl.org/dc/elements/1.1/> <http://www.w3.org/2001/xmlschema#> delete {?book?p?v } where {?book dcmi:date?date. filter (?date < 1970-01-01T00:00-02:00 ^^xsd:datetime )?book?p?v } Σεμινάριο 9, Βάσεις NoSQL 51

Περισσότερα για το SPARQL http://www.w3.org/tr/rdf-sparql-query/ Σεμινάριο 9, Βάσεις NoSQL 52

The semantic web stack! User Interface & Applications Trust Proof Logic Ontologies Rules Cryptography Σεμινάριο 9, Βάσεις NoSQL 53

Ανακεφαλαίωση Οι βασικοί όροι του σημασιολογικού ιστού Είναι ένας τεράστιος γράφος Ορίζεται μέσω του RDF To RDF περιγράφει γράφους μέσω τριπλετών Κάθε τριπλέτα έχει υποκείμενο, κατηγόρημα, και αντικείμενο Το υποκείμενο είναι πάντα ένα URI Το αντικείμενο είτε μια τιμή (literal) είτε ένας πόρος (resource) πάλι URI Σεμινάριο 9, Βάσεις NoSQL 54

Ανακεφαλαίωση Ορίσαμε τους όρους λεξιλόγιο και οντολογία, που προσδίδουν σημασιολογία στο μοντέλο δεδομένων Σημασία των πρωτοβουλιών μεταδεδομένων για την προτυποποίηση και την ανταλλαγή δεδομένων Ανάκτηση δεδομένων με SPARQL Σεμινάριο 9, Βάσεις NoSQL 55

Triple Stores Triple Stores: αποθήκες τριπλετών Μόνιμη αποθήκευση δεδομένων σε RDF Η δομή δεδομένων είναι τριπλέτες και γράφοι Είναι συνήθως transactional Δεν αποθηκεύουν τριπλέτες Αποθηκεύουν ονοματισμένα σύνολα από τριπλέτες! Δεν έχουν σχήμα (schema-less) Υποστηρίζουν ερωτήματα SPARQL, και μέσω HTTP Σεμινάριο 9, Βάσεις NoSQL 56

Τρεις κύριες κατηγορίες In-Memory Stores Transient storage of triples in memory Native Stores Non-Native Stores Persistent storage of triples in native stores with their own storage implementation Persistent storage of triples on top of third-party databases Σεμινάριο 9, Βάσεις NoSQL 57

Τυπική Αρχιτεκτονική Triple Store Operations Insert/delete Batch insert/delete Export graph SPARQL query SPARQL update SPARQL Protocol SPARQL Processor API Triple Store REST Interface Transaction Processor Σεμινάριο 9, Βάσεις NoSQL 58

Triple Stores Sesame Capsenta oroboro Σεμινάριο 9, Βάσεις NoSQL 59

Διαφορές με Σχεσιακές Βάσεις Δεν χρειάζεται η δημιουργία σχημάτων Δεν χρειάζεται η σύνδεση πινάκων, αφού παρέχονται σχέσεις από ένα σε πολλά εγγενώς Μπορούν να δημιουργηθούν νέα κατηγορήματα (predicates), που αντιστοιχούν σε στήλες, ανά πάσα στιγμή Υποστηρίζουν ανάκτηση δεδομένων Είναι πιο ευέλικτα και υποστηρίζουν πιο σύνθετα ερωτήματα Σεμινάριο 9, Βάσεις NoSQL 60

NoSQL Key-Value stores Column Stores Document Stores Graph Databases Triples Stores Σεμινάριο 9, Βάσεις NoSQL 61

NoSQL Non-relational Distributed Open-source Horizontally scalable Schema-free Easy replication support Simple API Eventually consistent / BASE (not ACID) Σεμινάριο 7, Βάσεις NoSQL 62

The semantic web stack! User Interface & Applications Trust Proof Logic Querying Ontologies Data Interchange Rules Taxonomies Cryptography Syntax Identifiers Character Set Σεμινάριο 9, Βάσεις NoSQL 63

References Dr. Stephan Volmer: Triple Stores http://www.slideshare.net/svolmer/triple-stores Introducing Linked Data And The Semantic Web Σεμινάριο 9, Βάσεις NoSQL 64