Course Outline

Introduction to RDF and SPARQL

  • RDF basics: triples, IRIs, literals, and blank nodes
  • Namespaces and QName usage in queries
  • Overview of SPARQL query forms and use cases

Getting Started with a SPARQL Environment

  • Installing and running Apache Jena Fuseki or RDF4J Server
  • Loading sample RDF datasets into a triple store
  • Using a SPARQL client or workbench to run queries

Basic SPARQL SELECT Queries

  • Writing triple patterns and retrieving bindings
  • Using DISTINCT, LIMIT, and OFFSET
  • Sorting and projecting results with ORDER BY

Filtering and Solution Modifiers

  • Applying FILTER expressions and built-in functions
  • Using OPTIONAL for partial matching
  • Combining patterns with UNION and MINUS

Advanced Querying: Aggregation and Subqueries

  • GROUP BY, COUNT, SUM, MIN, MAX and HAVING usage
  • Nested queries and subselect patterns
  • Working with expressions and bind() to compute values

Constructing and Transforming RDF

  • CONSTRUCT queries to build new RDF graphs
  • DESCRIBE and ASK query forms and when to use them
  • Using SPARQL UPDATE for data modification (INSERT/DELETE)

Working with Graphs and Named Graphs

  • Quads and the GRAPH keyword
  • Managing and querying named graphs
  • Best practices for organizing dataset graphs

Federated Queries and Remote Endpoints

  • Using SERVICE to query remote SPARQL endpoints
  • Performance considerations and timeouts
  • Strategies for combining local and remote data

Practical Lab: Real-World SPARQL Tasks

  • Querying DBpedia and other public datasets for insights
  • Building reusable query templates and views
  • Debugging common query errors and optimising performance

Summary and Next Steps

Requirements

  • An understanding of RDF data model and triples
  • Familiarity with basic HTTP and JSON concepts
  • Comfort with reading and writing basic programming or query expressions

Audience

  • Data engineers and integrators
  • Semantic web developers
  • Analysts working with linked data
 4 Hours

Testimonials (2)

Related Categories