This module looks in detail at SPARQL and introduces approaches for querying and updating semantic data. It covers the SPARQL algebra, the SPARQL protocol, and provides examples for reasoning over Linked Data. The module uses examples from the music domain, which can be directly tried out and ran over the MusicBrainz dataset. This includes gaining some familiarity with the RDFS and OWL languages, which allow developers to formulate generic and conceptual knowledge that can be exploited by automatic reasoning services in order to enhance the power of querying. Note: Will need to also create entries for this modules component parts.
Keywords: Web Ontology Language (OWL), RDF Schema, SPARQL, Query, Linked Data
Publisher: EUCLID Project
Time required: P3H
Educational use: instruction
Educational audience: student
Interactivity type: mixed
- Demonstrates a working knowledge of the forms and uses of SPARQL result sets (SELECT, CONSTRUCT, DESCRIBE, and ASK).
- Uses ASK for a True/False result test for a match to a query pattern.
- Uses CONSTRUCT to extract and transform results into a single RDF graph specified by a graph template.
- Uses DESCRIBE to extract a single graph containing RDF data about resources.
- Uses the SELECT clause to identify the variables to appear in a table of query results.
- Uses variables in SELECT and WHERE clauses to yield a table of results.
- Understands how to combine and filter graph patterns using operators such as UNION, OPTIONAL, FILTER, and MINUS.
- Understands that a SPARQL query matches an RDF graph against a pattern of triples with fixed and variable values.
- Understands the basic syntax of a SPARQL query.
- Knows the SPARQL 1.1 Graph Store HTTP protocol for updating graphs on a web server (in "restful" style).
- Knows the SPARQL 1.1 Update language for updating, creating, and removing RDF graphs in a Graph Store
- Understands the difference between SQL query language (which operates on database tables) and SPARQL (which operates on RDF graphs).
- Knows the subject-predicate-object component structure of a triple.
- Understands that resources are declared to be members (instances) of classes using the property rdf:type.
- Uses DELETE to remove a graph.
- Uses GET to retrieve triples from a default graph or a named graph.
- Uses PUT to insert set of triples into a new graph (or replace an existing graph).
- Uses INSERT/DELETE to update triples.