170 likes | 323 Views
ΑΝΑΠΑΡΑΣΤΑΣΗ ΓΝΩΣΗΣ ΣΤΟΝ ΠΑΓΚΟΣΜΙΟ ΙΣΤΟ. RDF – RDFS - SPARQL. Αναπαράσταση Γνώσης στον Παγκόσμιο Ιστό. http://aigroup.ceid.upatras.gr/index.php/el/krweb. RDF Triples ( 1 ος Τρόπος). Ο καθηγητής Γιάννης Αθανασίου έχει τηλέφωνο 2610433433 και μένει στην Πάτρα
E N D
ΑΝΑΠΑΡΑΣΤΑΣΗ ΓΝΩΣΗΣ ΣΤΟΝ ΠΑΓΚΟΣΜΙΟ ΙΣΤΟ RDF – RDFS - SPARQL Αναπαράσταση Γνώσης στον Παγκόσμιο Ιστό http://aigroup.ceid.upatras.gr/index.php/el/krweb
RDF Triples (1ος Τρόπος) Ο καθηγητής Γιάννης Αθανασίου έχει τηλέφωνο 2610433433 και μένει στην Πάτρα <rdf:Description rdf:about="http://www.mydomain.org/uni-ns#John"> <uni:has_phone > 2610433433 </uni:has_phone > </rdf:Description> <rdf:Description rdf:about="http://www.mydomain.org/uni-ns#John"> <uni:lives_in >Patras </uni:lives_in > </rdf:Description> <rdf:Description rdf:about="http://www.mydomain.org/uni-ns#John"> <rdf:type rdf:resource = "http://www.mydomain.org/uni-ns#Professor "/> </rdf:Description>
Απεικόνιση ως Γράφος http://www.w3.org/RDF/Validator/
RDF Triples (2ος Τρόπος) Ο καθηγητής Γιάννης Αθανασίου έχει τηλέφωνο 2610433433 και μένει στην Πάτρα <rdf:Description rdf:about="http://www.mydomain.org/uni-ns#John"> <uni:has_info rdf:resource = "http://www.mydomain.org/uni-ns#JohnsInfo"/> </rdf:Description> <rdf:Description rdf:about="http://www.mydomain.org/uni-ns#JohnsInfo"> <uni:has_phone > 2610433433 </uni:has_phone > </rdf:Description> <rdf:Description rdf:about="http://www.mydomain.org/uni-ns#JohnsInfo"> <uni:lives_in >Patras </uni:lives_in > </rdf:Description> <rdf:Description rdf:about="http://www.mydomain.org/uni-ns#John"> <rdf:type rdf:resource = "http://www.mydomain.org/uni-ns#Professor "/> </rdf:Description>
RDF Triples ( με blank node ) Ο καθηγητής Γιάννης Αθανασίου έχει τηλέφωνο 2610433433 και μένει στην Πάτρα <rdf:Description rdf:about="http://www.mydomain.org/uni-ns#John"> <uni:has_info rdf:nodeID="Info"/> </rdf:Description> <rdf:Description rdf:nodeID="Info"> <uni:has_phone > 2610433433 </uni:has_phone > </rdf:Description> <rdf:Description rdf:nodeID="Info"> <uni:lives_in >Patras </uni:lives_in > </rdf:Description> <rdf:Description rdf:about="http://www.mydomain.org/uni-ns#John"> <rdf:type rdf:resource = "http://www.mydomain.org/uni-ns#Professor "/> </rdf:Description>
RDF Triples ( με blank node - inline ) Ο καθηγητής Γιάννης Αθανασίου έχει τηλέφωνο 2610433433 και μένει στην Πάτρα <rdf:Description rdf:about="http://www.mydomain.org/uni-ns#John"> <uni:has_info > <rdf:Description> <uni:has_phone > 2610433433 </uni:has_phone > <uni:lives_in >Patras </uni:lives_in > </rdf:Description> </uni:has_info > </rdf:Description>
Απεικόνιση ως Γράφος http://www.w3.org/RDF/Validator/
Reification Wikipedia says that Tolkien wrote LOTR <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:a="http://description.org/schema/"> <rdf:Description rdf:about="Statement1"> <rdf:subject rdf:resource="http://.../#Tolkien" /> <rdf:predicate rdf:resource="http://description.org/schema/Writer" /> <rdf:object>LOTR</rdf:object> <rdf:type rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#Statement" /> </rdf:Description> <rdf:Description rdf:about="Wikipedia"> <a:believes rdf:resource="Statement1"/> </rdf:Description> </rdf:RDF>
Απεικόνιση ως Γράφος http://www.w3.org/RDF/Validator/
RDF Schema <rdf:Description rdf:about=“http://www.animals.org/animal"> <rdf:type rdf:resource="http://www.w3.org/2000/01/rdf-schema#Class"/> </rdf:Description> <rdf:Description about=“http://www.animals.org/horse"> <rdf:type rdf:resource="http://www.w3.org/2000/01/rdf-schema#Class"/> <rdfs:subClassOf rdf:resource="#animal"/> </rdf:Description> <rdf:Property rdf:about=“http://www.animals.org/age"> <rdfs:domain rdf:resource="http://www.animals.org/animal"/> <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#integer"/> </rdf:Property> <rdf:Description rdf:about=“http://www.animals.org/Dolly"> <rdf:type rdf:resource="http://www.animals.org/horse"/> <animals:age>12</a:age> </rdf:Description>
Απεικόνιση ως Γράφος http://www.w3.org/RDF/Validator/
SPARQL • Simple Protocol and RDF Query Language • Είναι σαν την SQL • Κάνει ερωτήματα πάνω σε RDF δεδομένα • Εξάγει συμπεράσματα βάσει των τριπλετών του RDF
SPARQL Έστω ότι θέλουμε να κάνουμε SPARQL Query σε μια οντολογία που περιέχει και τα παρακάτω instances <rdf:Description rdf:about="http://www.mydomain.org/uni-ns#John"> <uni:has_phone> 2610433433 </uni:has_phone> <uni:lives_in> Patras </uni:lives_in> <uni:has_age>52</uni:has_age> </rdf:Description> <rdf:Description rdf:about="http://www.mydomain.org/uni-ns#Mary"> <uni:has_phone> 2412046621</uni:has_phone> <uni:lives_in> Volos </uni:lives_in> <uni:has_age>40</uni:has_age> </rdf:Description> <rdf:Description rdf:about="http://www.mydomain.org/uni-ns#Nick"> <uni:has_phone> 2412052321</uni:has_phone> <uni:lives_in> Volos </uni:lives_in> <uni:has_age>20</uni:has_age> </rdf:Description>
SPARQL Ερώτημα για να πάρουμε τα ονόματα και τα τηλέφωνα όσων μένουν στον Βόλο: SELECT ?name, ?phone WHERE {?name uni:lives_in“Volos”. ?name uni:has_phone ?phone} Θα επιστραφεί: name phone http://www.mydomain.org/uni-ns#Mary2412046621 http://www.mydomain.org/uni-ns#Nick 2412052321
SPARQL Ερώτημα για να πάρουμε τα ονόματα και τα τηλέφωνα όσων μένουν στον Βόλοκαι είναικάτω από 30 ετών: SLELECT ?name, ?phone WHERE {?name uni:lives_in“Volos”. ?name uni:has_phone ?phone. ?name uni:has_age ?age. FILTER (?age<20) } Θα επιστραφεί: name phone http://www.mydomain.org/uni-ns#Nick 2412052321
ARQ (SPARQL Processor) • Εμπεριέχεται στο JENA API • Αφού κατεβάσετε το JENA, ορίστε την μεταβλητή JENAROOT στο path που το αποσυμπιέσατε. Πχ: • Δημιουργήστε το αρχείο με τα δεδομένα rdf (πχ: test.rdf) και ένα αρχείο που περιέχει το sparql ερώτημα (πχ: test.rq) και τοποθετήστε τα στον φάκελο \bat του JENA. • Από command line, πηγαίνετε στον φάκελο \bat του JENA και μπορείτε να καλέσετε: arq --data=test.rdf --query=test.rq