ΑΝΑΠΑΡΑΣΤΑΣΗ ΓΝΩΣΗΣ ΣΤΟΝ ΠΑΓΚΟΣΜΙΟ ΙΣΤΟ RDF – RDFS - SPARQL
RDF Triples (1 ος Τρόπος) Ο καθηγητής Γιάννης Αθανασίου έχει τηλέφωνο και μένει στην Πάτρα Patras
Απεικόνιση ως Γράφος
RDF Triples (2 ος Τρόπος) Ο καθηγητής Γιάννης Αθανασίου έχει τηλέφωνο και μένει στην Πάτρα Patras
RDF Triples ( με blank node ) Ο καθηγητής Γιάννης Αθανασίου έχει τηλέφωνο και μένει στην Πάτρα Patras
RDF Triples ( με blank node - inline ) Ο καθηγητής Γιάννης Αθανασίου έχει τηλέφωνο και μένει στην Πάτρα Patras
Απεικόνιση ως Γράφος
Reification <rdf:RDF xmlns:rdf=" xmlns:a=" LOTR Wikipedia says that Tolkien wrote LOTR
Απεικόνιση ως Γράφος
RDF Schema 12
Απεικόνιση ως Γράφος
SPARQL • Simple Protocol and RDF Query Language – Είναι σαν την SQL – Κάνει ερωτήματα πάνω σε RDF δεδομένα – Εξάγει συμπεράσματα βάσει των τριπλετών του RDF ΔήλωσηΕπεξήγηση PREFIX Καθορισμός ονόματος για ένα URI SELECT Επιστρέφει όλες ή κάποιες από τις μεταβλητές της WHERE CONSTRUCT Επιστρέφει νέο RDF γράφο με όλες ή κάποιες από τις αντιστοιχήσεις μεταβλητών DESCRIBE Επιστρέφει μια περιγραφή των πόρων που βρέθηκαν ASK Υποβάλλει ερώτηση αν το pattern ταιριάζει ή όχι WHERE Μια conjunctive λίστα με patterns σε τριάδες ή γράφο OPTIONAL Μια conjunctive λίστα με προαιρετικά patterns σε λίστα ή γράφο AND Λογική έκφραση που μπορεί να εφαρμοστεί στο αποτέλεσμα
SPARQL Έστω ότι θέλουμε να κάνουμε SPARQL Query σε μια οντολογία που περιέχει και τα παρακάτω instances Patras Volos Volos 20
SPARQL
Ερώτημα για να πάρουμε τα ονόματα και τα τηλέφωνα όσων μένουν στον Βόλο: SELECT ?name, ?phone WHERE {?name uni:lives_in “Volos”. ?name uni:has_phone ?phone} Θα επιστραφεί: namephone
SPARQL Ερώτημα για να πάρουμε τα ονόματα και τα τηλέφωνα όσων μένουν στον Βόλο και είναι κάτω από 30 ετών: SLELECT ?name, ?phone WHERE {?name uni:lives_in “Volos”. ?name uni:has_phone ?phone. ?name uni:has_age ?age. FILTER (?age<20) } Θα επιστραφεί: namephone
• Εμπεριέχεται στο JENA API • Αφού κατεβάσετε το JENA, ορίστε την μεταβλητή JENAROOT στο path που το αποσυμπιέσατε. Πχ: • Δημιουργήστε το αρχείο με τα δεδομένα rdf (πχ: test.rdf) και ένα αρχείο που περιέχει το sparql ερώτημα (πχ: test.rq) και τοποθετήστε τα στον φάκελο \bat του JENA. • Από command line, πηγαίνετε στον φάκελο \bat του JENA και μπορείτε να καλέσετε: arq --data=test.rdf --query=test.rq ARQ (SPARQL Processor)