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



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

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

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

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

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

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

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

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

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

Υπερκείμενο / Υπερμέσα

ΠΛΗΡΟΦΟΡΙΚΗ Ι ΕΡΓΑΣΤΗΡΙΟ 1. Θέμα εργαστηρίου: Εισαγωγή στην Python και στο IDLE

Άσκηση 1 (ανακοινώθηκε στις 20 Μαρτίου 2017, προθεσμία παράδοσης: 24 Απριλίου 2017, 12 τα μεσάνυχτα).

Κεφάλαιο 3 Η Σημασιολογία των Γλωσσών Προγραμματισμού

ΕΙΣΑΓΩΓΗ ΔΕΔΟΜΕΝΩΝ ΑΠΟ EXCEL ΣΤΟ GRETL

Δομές Δεδομένων και Αλγόριθμοι. Λουκάς Γεωργιάδης

Βάσεις Δεδομένων 2η εργαστηριακή άσκηση

Κεφάλαιο 14: Συμβουλές προς έναν νέο προγραμματιστή

ΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 24/3/2007

Εισαγωγή στην Access 2007

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

ΣΕΤ ΑΣΚΗΣΕΩΝ 3. Προθεσµία: 7/1/2014, 22:00

Εισαγωγή στο Προγραμματισμό για Μηχανολόγους Οδηγός Προετοιμασίας για τη Τελική Εξέταση

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

α. Λογικό διάγραμμα είναι η μέθοδος που χρησιμοποιεί απλά σχήματα που υποστηρίζονται με απλές λέξεις για την αναπαράσταση συγκεκριμένων λειτουργιών.

Κεφάλαιο 6 Εισαγωγή στον Προγραμματισμό. 26-Jun-15 ΑΕΠΠ - Καραμαούνας Π. 1

ΚΕΦΑΛΑΙΟ 10 ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ

ΘΕΜΑ Α ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ

Εργαστήριο Βάσεων Δεδομένων. Εισαγωγικό Φροντιστήριο Βασικές Έννοιες - Ανάλυση Απαιτήσεων

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

Γραφικά υπολογιστών Εργαστήριο 4 Εισαγωγή στις λίστες

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

Δυναμικές Ιστοσελίδες Εισαγωγή στην Javascript για προγραμματισμό στην πλευρά του client

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

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

Α2. Δίνεται το επόμενο τμήμα προγράμματος σε ΓΛΩΣΣΑ:

ΑΡΧΗ 1ης ΣΕΛΙΔΑΣ. Για i από 1 μέχρι Μ Εμφάνισε A[4,i] Τέλος_επανάληψης. (μονάδες 6) ΤΕΛΟΣ 1ης ΑΠΟ 7 ΣΕΛΙΔΕΣ

5 η Διάλεξη Python - Αρχεία

Τμήμα Μηχανολόγων Μηχανικών Πανεπιστήμιο Θεσσαλίας ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ. Αρχεία Δεδομένων. Ιωάννης Λυχναρόπουλος Μαθηματικός, MSc, PhD

ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ Python. 1η Ομάδα Ασκήσεων

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

Φάσμα προπαρασκευή για Α.Ε.Ι. & Τ.Ε.Ι.

Εργαστήριο Βάσεων Δεδομένων. Εισαγωγικό Φροντιστήριο Βασικές Έννοιες - Ανάλυση Απαιτήσεων

SÔntomec plhroforðec gia to glpsol (glpk)

Επαναληπτικό διαγώνισμα στην Α.Ε.Π.Π - 18 / Απριλίου / 2010 ΘΕΜΑ 1

Σύντοµο Εγχειρίδιο Χρήσης. του Λογισµικού Στατιστικής Επεξεργασίας. SPSS for Windows v. 8.0

./mydiz {-c -a -x -m -d -p -j} <archive-file> <list-of-files/dirs>

Προγραμματισμός. Εαρινό Εξάμηνο 2011

ΜΑΘΗΜΑ / ΤΑΞΗ : ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ / Γ ΕΠΑΛ ΣΕΙΡΑ: ΗΜΕΡΟΜΗΝΙΑ: 27/01/2013

8. ΜΕΤΑΣΧΗΜΑΤΙΣΜΟΣ ΔΕΔΟΜΕΝΩΝ

Μαθηματικά Λογισμικά και Γλώσσες Αναπαράστασης Γνώσης

Κεφάλαιο 12: Είσοδος και έξοδος δεδομένων σε αρχεία

Εργαστήριο Βάσεων Δεδομένων. Εισαγωγικό Φροντιστήριο Βασικές Έννοιες - Ανάλυση Απαιτήσεων

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

Ενότητα 14 Γραφικές Παραστάσεις

3. Γράψτε μία εντολή που να εμφανίζει π.χ. «Πόσα είναι τα κορίτσια του;» και μία που να εμφανίζει: «Τα κορίτσια του Τζειμς Μποντ είναι 4»

Προγραμματισμός Η/Υ (ΤΛ2007 )

(1) Επιλέξτε την εντολή QUERIES για να μπείτε στο περιβάλλον δημιουργίας

FORTRAN και Αντικειμενοστραφής Προγραμματισμός

Προβλήματα, αλγόριθμοι, ψευδοκώδικας

ΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 6/5/2006

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

ΘΕΜΑ 1ο Α. 1-6 Σωστό Λάθος Μονάδες 12 Β. Στήλης Στήλης Β Στήλης Α Στήλης Β).

Αντικειμενοστρεφής Προγραμματισμός -Python. Κ.Π. Γιαλούρης

. Εργαστήριο Βάσεων Δεδομένων. Εισαγωγικό Μάθημα Βασικές Έννοιες - Ανάλυση Απαιτήσεων

Εισαγωγικό Μάθημα Βασικές Έννοιες - Ανάλυση Απαιτήσεων

Διάλεξη 2: Επανάληψη Προγραμματισμού Συμβολοσειρές (strings) Διδάσκων: Παναγιώτης Ανδρέου

Σχεδίαση Βάσεων Δεδομένων

Προγραμματισμός Ι (HY120)

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

ΠΕΡΙΓΡΑΜΜΑ ΜΑΘΗΜΑΤΟΣ

ΓΕΩΠΛΗΡΟΦΟΡΙΚΗ. και ΣΥΣΤΗΜΑΤΑ ΓΕΩΓΡΑΦΙΚΩΝ ΠΛΗΡΟΦΟΡΙΩΝ

Ανάπτυξη και Σχεδίαση Λογισμικού

Αρχεία Ένα αρχείο αποτελείται από μία σειρά ομοειδών δεδομένων που ονομάζονται λογικές εγγραφές (logical record)

Η γλώσσα προγραμματισμού C

1. Από το κεντρικό site του Ιδρύματος επιλέγουμε το σύνδεσμο "Γραμματείες Τμημάτων".

(Κεφάλαιο 2.7 και 12) Αρχεία στην C. (Διάλεξη 15)

Προγραμματισμός ΙI (Θ)

Αντικείμενα 4 ου εργαστηρίου

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

Επανάληψη για τις Τελικές εξετάσεις. (Διάλεξη 24) ΕΠΛ 032: ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΕΘΟΔΩΝ ΕΠΙΛΥΣΗΣ ΠΡΟΒΛΗΜΑΤΩΝ

Πρότυπο Αναφοράς Open Systems Interconnection (OSI) Επικοινωνίες Δεδομένων Μάθημα 5 ο

Σημειωματάριο Δευτέρας 23 Οκτ. 2017

Συνοπτικός Οδηγός Χρήσης του Moodle για τον Καθηγητή

Θέματα Προγραμματισμού Διαδικτύου ~ PHP ~

Εισαγωγή στην PHP. ΕΣΔ 516 Τεχνολογίες Διαδικτύου. Περιεχόμενα. Περιεχόμενα. ΕΣ 516: Τεχνολογίες ιαδικτύου. ΕΣ 516: Τεχνολογίες ιαδικτύου

Βασίλειος Κοντογιάννης ΠΕ19

Εργασία Μαθήματος Αξία: 40% του τελικού σας βαθμού Ανάθεση: Παράδοση:

Η Απάντηση. Ενδεικτικές Απαντήσεις Φύλλου Εργασίας. Μηνύματα. 1. Πληκτρολογήστε την εντολή:

Λειτουργικά Συστήματα (ΙΙ) (διαχείριση αρχείων)

ΑΣΚΗΣΗ. Δημιουργία Ευρετηρίων Συλλογής Κειμένων

III. Πως μετατρέπεται το πηγαίο πρόγραμμα σε εκτελέσιμο πρόγραμμα;

Εισαγωγή στην Αριθμητική Ανάλυση

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

Διάλεξη 6: Δείκτες και Πίνακες

Τεχνολογίες Διαδικτύου (Εξασκηθείτε στην HTML)

Δομημένος Προγραμματισμός (ΤΛ1006)

Σηµερινή ατζέντα µαθήµατος... Προηγούµενα αναφερθήκαµε. Σήµερα θα συνεχίσουµε µε τις δοµές τους

ΘΕΜΑ Α. Μονάδες 10 Α2.

Άσκηση 3 (ανακοινώθηκε στις 24 Απριλίου 2017, προθεσμία παράδοσης: 2 Ιουνίου 2017, 12 τα μεσάνυχτα).

Transcript:

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

Σημασιολογία semantics Τι σημαίνουν τα δεδομένα; Ποια η έννοιά τους; Μετάδοση έννοιας και ενσωμάτωση στη γνώση....έχοντας ως αποτέλεσμα την κατάλληλη δράση! Πώς θα γίνει αντιληπτή από τις μηχανές ;

Έμμεση Σημασιολογία Παράδειγμα: ονόματα συναρτήσεων ή μεταβλητών quicksort :: (Ord a) => [a] -> [a] quicksort [] = [] quicksort (x:xs) = let smallerorequal = [t t<-xs,t<=x] greater = [t t<-xs,t>x] in quicksort smallerorequal ++ [x] ++ quicksort greater Τι καταλαβαίνετε ως προγραμματιστές; Ανεξάρτητα από το αν γνωρίζετε τη γλώσσα! Τα σχόλια θα βοηθούσαν περαιτέρω στη μεταφορά σημασιολογίας.. Τι μπορεί όμως να καταλάβει η μηχανή ;

Ιστοσελίδα και μηχανή Tι αντιλαμβάνεται η μηχανή: <!doctype html> <html> <head> <meta charset="utf-8"> <title>????????????????</title> </head> <body> <h1>??????????????????</h1>???????????????????????????????????????????? </body> </html> Προσοχή όμως: αν και δεν αντιλαμβάνεται το νόημα του περιεχομένου του τίτλου, η μηχανή ξέρει την έννοια τίτλος! π.χ. έχει ιδιαίτερο βάρος στις μηχανές αναζήτησης

Κλασσικά Web Δεδομένα Στο κλασσικό Web, τα δεδομένα είναι εσωτερική υπόθεση του παραγωγού τους Αποθηκευμένα σε βάσεις δεδομένων απροσπέλαστες από τρίτους Μετασχηματίζονται από τον ίδιο τον παραγωγό σε ιστοσελίδες Ή χρησιμοποιούνται από web εφαρμογές που έχει γράψει ο ίδιος ο παραγωγός Δεν χρειάζεται μετάδοση της σημασιολογίας των δεδομένων (είναι γνωστή εκ των προτέρων!) Μπορούν όμως τα δεδομένα αυτά να χρησιμοποιηθούν από τρίτους; Σε εφαρμογές που δεν γνωρίζει ο παραγωγός των δεδομένων; Από εφαρμογές που δεν σχεδιάστηκαν ειδικά για τα δεδομένα αυτά;

Ανοικτά Σημασιολογικά Δεδομένα Πριν από κάθε άλλο, θα πρέπει φυσικά τα δεδομένα να είναι απευθείας προσπελάσιμα στο Web σε μια μορφή εύκολα επεξεργάσιμη από τις μηχανές Το κυριότερο όμως είναι να είναι ρητά δηλωμένη και προσπελάσιμη και η σημασιολογία των δεδομένων Μόνο τότε θα μπορούν να χρησιμοποιηθούν από εφαρμογές που προσαρμόζουν τη συμπεριφορά τους ανάλογα με το τι σημαίνουν τα δεδομένα εκτελώντας ενέργειες πάνω σε σετ δεδομένων για τα οποία δεν σχεδιάστηκαν εξ'αρχής

Σημασιολογία και Μεταδεδομένα Μεταδεδομένα: δεδομένα για/σχετικά με/που αφορούν τα δεδομένα Είναι ακριβώς εκείνα που μεταδίδουν τη σημασιολογία των κανονικών δεδομένων Στις εφαρμογές του Σημασιολογικού Ιστού Τα μεταδεδομένα μεταδίδονται ρητά μαζί με τα δεδομένα Έχουν την ίδια αξία και είναι το ίδιο απαραίτητα με τα δεδομένα

Δεδομένα σε Μορφή Πίνακα Η σημασιολογία των δεδομένων προκύπτει από τη θέση τους (γραμμή-στήλη) Τύπος Αριθμός Λεωφορεία 58.519 ΙΧ 2.062.880 Οδοποιητικά 7.642 Εκχιονιστικά 6 Ποδήλατα 8.540.192 Απλή μορφή στη δημιουργία και ενημέρωση Με πεπερασμένες όπως δυνατότητες στην εισαγωγή πληροφορίας που δεν συμμορφώνεται με τις προϋπάρχουσες γραμμές και στήλες Πώς θα εκφράζατε π.χ. θέσεις επιβατών στα λεωφορεία; Και τι θα βάζατε εκεί για τα άλλα οχήματα;

Δοκιμάστε και εσείς! Διαλέξτε ένα ωρολόγιο πρόγραμμα στο τρέχον εξάμηνο π.χ. του Η' εξαμήνου Προσπαθήστε να εκφράσετε την περιεχόμενη πληροφορία σε μορφή πίνακα Προσοχή! το ζητούμενο δεν είναι να αναπαράγετε τον πίνακα του ωρολογίου προγράμματος ως έχει! Βρείτε την κομβική οντότητα πληροφορίας του ωρολογίου προγράμματος Κάθε γραμμή του πίνακα θα είναι εκφράζει μια τέτοια οντότητα Και η υπόλοιπη πληροφορία θα τοποθετηθεί στις στήλες, ως ιδιότητες κάθε κομβικής οντότητας Το εξάμηνο σπουδών θα είναι και αυτό μια ιδιότητα

Μοντέλο και Μορφή Αποθήκευσης Η μορφή πίνακα είναι ένα μοντέλο οργάνωσης δεδομένων (data model) Προσδιορίζει τον τρόπο δόμησης της πληροφορίας Η δομημένη πληροφορία όμως Πρέπει να αποθηκευτεί ως ακολουθία bytes Και να μεταδοθεί μεταξύ παραγωγού και καταναλωτή Συνεπώς, πέρα από το μοντέλο των δεδομένων, είναι απαραίτητο ένα μορφότυπο σειριοποίησης (serialization format) των δεδομένων

Η μορφή αποθήκευσης CSV Comma Separated Values Ένα..μη πρότυπο πρότυπο (τουλάχιστον μέχρι πρόσφατα) Με πολλές διαλέκτους (σχεδόν κάθε εφαρμογή έχει τη δική της!) Για εξαγωγή-εισαγωγή μεγάλων σετ δεδομένων σε μορφή πίνακα από-σε βάσεις δεδομένων Έλεγχος Ιδιοτήτων: Ανοικτό πρότυπο: ΝΑΙ Χρήση στο Web: ΝΑΙ (αν και όχι τόσο συχνά) Ευκολία προγραμματισμού: ΝΑΙ (βιβλιοθήκες για πολλές γλώσσες) Ρητά μεταδεδομένα: ΟΧΙ (προαιρετικά, ονόματα στηλών στην πρώτη γραμμη)

Δοκιμάστε και εσείς! Βήμα 1 ο : Αποθηκεύστε τον πίνακα που φτιάξατε προηγουμένως σε μορφή csv μέσω π.χ. εφαρμογής spreadsheet Βήμα 2 ο : Ανταλλάξτε csv με έναν συμφοιτητή σας Μπορείτε να κατανοήσετε την σημασιολογία των ξένων δεδομένων; Τι χρειάζεται να μάθετε από τον παραγωγό των δεδομένων για να τα χρησιμοποιήσετε;

Δοκιμάστε και εσείς! Βήμα 3 ο : Γράψτε πρόγραμμα Python που διαβάζει το αρχείο csv και μπορεί να απαντήσει σε ερωτήματα όπως: Τι διδάσκεται την ώρα/μέρα Χ στην αίθουσα Υ; Ποιες μέρες διδάσκει ο Χ το μάθημα Υ; Τι μαθήματα έχει σήμερα το εξάμηνο Χ; Ποιος διδάσκει την ημέρα Χ στην αίθουσα Υ; κ.ο.κ Προσπαθήστε να σχεδιάσετε ένα γενικό interface ερωτημάτων!

Python και CSV Παράδειγμα ανάγνωσης αρχείου csv: import csv # open csv file for reading ifp = open('test.csv','rb') # create csv reader object ir = csv.reader(ifp) # defaults to excel 'dialect' # iterate over table rows in csv file for row in ir: # each row is a list of strings # (table column values for this row) # do something with each row here... ifp.close()

Python και CSV Παράδειγμα εγγραφής αρχείου csv: import csv # open csv file for writing ofp = open('newfile.csv','wb') # create csv writer object ow = csv.writer(ofp) # example: write a row in csv file # row is a sequence of strings or numbers (or None) ow.writerow(["abc","test","","more"]) # after finishing, close output file ofp.close()