1 / 15

Internet Technologies

Internet Technologies. Lecture 7: SPARQL. SPARQL. SPARQL Simple Protocol and RDF Query Language W3C Recommendation January 2008 Queries written using Turtle - Terse RDF Triple Language Download Jena and ARQ Query Engine For Ruby, see ActiveRDF. SPARQL. Three specifications:

Download Presentation

Internet Technologies

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Internet Technologies Lecture 7: SPARQL Master of Information System Management

  2. SPARQL • SPARQL Simple Protocol and RDF Query Language • W3C Recommendation January 2008 • Queries written using Turtle - Terse RDF Triple Language • Download Jena and ARQ Query Engine • For Ruby, see ActiveRDF Master of Information System Management

  3. SPARQL • Three specifications: (1) A query language (2) A query results XML format (3) A WSDL 2.0 Data Access Protocol using HTTP and SOAP • SPARQL is read only and cannot modify the RDF data Master of Information System Management

  4. Input <?xml version="1.0" encoding="UTF-8"?> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:foaf="http://xmlns.com/foaf/0.1/" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:rss="http://purl.org/rss/1.0/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:html="http://www.w3.org/1999/xhtml"> <foaf:Agent rdf:nodeID="id2246040"> <foaf:name>John Barstow</foaf:name> <rdf:type rdf:resource="http://xmlns.com/foaf/0.1/Person"/> <foaf:weblog> <foaf:Document rdf:about="http://www.nzlinux.org.nz/blogs/"> <dc:title>Visions of Aestia by John Barstow</dc:title> <rdfs:seeAlso> <rss:channel rdf:about="http://www.nzlinux.org.nz/blogs/wp-rdf.php?cat=9"> <foaf:maker rdf:nodeID="id2246040"/> <foaf:topic rdf:resource="http://www.w3.org/2001/sw/"/> <foaf:topic rdf:resource="http://www.w3.org/RDF/"/> </rss:channel> </rdfs:seeAlso> </foaf:Document> </foaf:weblog> <foaf:interest rdf:resource="http://www.w3.org/2001/sw/"/> <foaf:interest rdf:resource="http://www.w3.org/RDF/"/> </foaf:Agent> </rdf:RDF> This is shortblogger.xml The file bloggers.xml has many bloggers. Master of Information System Management

  5. Processing PREFIX foaf: <http://xmlns.com/foaf/0.1/> SELECT ?url FROM <shortblogger.xml> WHERE { ?contributor foaf:name "John Barstow" . ?contributor foaf:weblog ?url . } Stored in a file called ex1.rq Master of Information System Management

  6. Output sparql --query ex1.rq ------------------------ | url | ========================= | <http://www.nzlinux.org.nz/blogs/> | -------------------------------------------- Master of Information System Management

  7. Processing PREFIX foaf: <http://xmlns.com/foaf/0.1/> PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> SELECT ?url FROM <shortblogger.xml> WHERE { ?contributor rdf:type foaf:Person . ?contributor foaf:weblog ?url . } Output sparql --query ex2.rq ------------------------- | url | =============== | <http://www.nzlinux.org.nz/blogs/> | ------------------------- Master of Information System Management

  8. Processing PREFIX foaf: <http://xmlns.com/foaf/0.1/> PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> SELECT ?x ?n FROM <bloggers.xml> WHERE { ?contributor rdf:type foaf:Person . ?contributor foaf:weblog ?x . ?contributor foaf:name ?n } All three conditions must be satisfied to match the query. Master of Information System Management

  9. Output sparql --query ex4.rq -------------------------------------------------------------------------------------- | x | n | ================================================ | <http://www.picklematrix.net/semergence/> | "Seth Ladd" | | <http://www.wasab.dk/morten/blog/> | "Morten Frederiksen" | | <http://www.lassila.org/blog/> | "Ora Lassila" | | <http://people.w3.org/~dom/> | "Hazaël-Massieux" | | <http://xmlarmyknife.org/blog/> | "Leigh Dodds" | | <http://blogs.sun.com/bblfish/> | "Henry Story" | | <http://jeenbroekstra.blogspot.com/> | "Jeen Broekstra" | | <http://people.w3.org/~djweitzner/blog/?cat=8> | "Danny Weitzner" | | <http://danbri.org/words/> | "Dan Brickley" | Master of Information System Management

  10. Processing PREFIX foaf: <http://xmlns.com/foaf/0.1/> PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> SELECT DISTINCT ?n FROM <bloggers.xml> WHERE { ?contributor foaf:name ?n } Output ----------------------------------------- | n | ================= | ”Mike McCarthy" | | "Pasquale Popolizio" | | "Dean Allemang" | : : Master of Information System Management

  11. Processing PREFIX foaf: <http://xmlns.com/foaf/0.1/> PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> SELECT DISTINCT ?n FROM <bloggers.xml> WHERE { ?contributor foaf:name ?n } ORDER BY ?n ---------------------- | n | ============= | "Alexandre Passant" | | "Alistair Miles" | | "Andrew Matthews" | | "Benjamin Nowack" : : Master of Information System Management

  12. Semi-Structured Data • Definition: If two nodes of the same type are allowed to hold different sets of properties the data is called semi-structured. • SPARQL uses the OPTIONAL keyword to process semi-structured data. Master of Information System Management

  13. Processing PREFIX foaf: <http://xmlns.com/foaf/0.1/> PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> SELECT DISTINCT ?n ?interest FROM <bloggers.xml> WHERE { ?contributor foaf:name ?n . OPTIONAL { ?contributor foaf:interest ?interest } } ORDER BY ?n "Tetherless World Constellation group RPI" <http://www.w3.org/2001/sw/> "Tetherless World Constellation group RPI" <http://www.w3.org/RDF/> "Tim Berners-Lee" "Uldis Bojars" <http://www.w3.org/2001/sw/> "Uldis Bojars" <http://www.w3.org/RDF/> Master of Information System Management

  14. Generating XML PREFIX foaf: <http://xmlns.com/foaf/0.1/> PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> SELECT ?n FROM <shortblogger.xml> WHERE { ?contributor foaf:name ?n . } Master of Information System Management

  15. From The Command Line sparql --query ex8.rq --results rs/xml <?xml version="1.0"?> <sparql xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:xs="http://www.w3.org/2001/XMLSchema#" xmlns="http://www.w3.org/2005/sparql-results#" > <head> <variable name="n"/> </head> <results> <result> <binding name="n"> <literal>John Barstow</literal> </binding> </result> </results> </sparql> Master of Information System Management

More Related