# SPARQL Query Language for RDF

RDF is a directed, labeled graph data format for representing information in the Web. RDF is often used to represent, among other things, personal information, social networks, metadata about digital artifacts, as well as to provide a means of integration over disparate sources of information. This specification defines the syntax and semantics of the SPARQL query language for RDF.

The SPARQL query language for RDF is designed to meet the use cases and requirements identified by the RDF Data Access Working Group in RDF Data Access Use Cases and Requirements [UCNR].

The SPARQL query language is closely related to the following specifications:

- The SPARQL Protocol for RDF [SPROT] specification defines the remote protocol for issuing SPARQL queries and receiving the results.
- The SPARQL Query Results XML Format [RESULTS] specification defines an XML document format for representing the results of SPARQL SELECT and ASK queries.

Read more

# SPARQL 1.1 Update

SPARQL 1.1 Update is intended to be a standard language for specifying and executing updates to RDF graphs in a Graph Store.

SPARQL 1.1 Update provides the following facilities:

- Insert triples into an RDF graph in the Graph Store.
- Delete triples from an RDF graph in the Graph Store.
- Load an RDF graph into the Graph Store.
- Clear an RDF graph in the Graph Store.
- Create a new RDF graph in a Graph Store.
- Drop an RDF graph from a Graph Store.
- Copy, move, or add the content of one RDF graph in the Graph Store to another.
- Perform a group of update operations as a single action.

This document is particularly related to the following other specification documents:

- SPARQL 1.1 Query Language
- SPARQL 1.1 Graph Store HTTP Protocol
- SPARQL 1.1 Protocol for RDF

SPARQL 1.1 Update is a companion language and envisaged to be used in conjunction with the SPARQL 1.1 Query language . The present document refers to the grammar and several definitions from the SPARQL 1.1 Query language specification.

The SPARQL 1.1 Graph Store HTTP Protocol specification employs the HTTP protocol to perform update operations using standard HTTP methods, such as PUT and DELETE. While providing a simple and well known API, it is necessarily restricted in its operations due to the limited set of methods in the HTTP protocol. In contrast, SPARQL 1.1 Update permits multiple modifications in a single operation, and can use complex SPARQL queries for constructing data to be inserted, or choosing data to be deleted. Also, the use of an update language facilitates operations over proprietary APIs and connections that may not involve HTTP.

The SPARQL 1.1 Protocol for RDF specification describes a means of conveying SPARQL 1.1 Query and SPARQL 1.1 Update operations from clients to a SPARQL query processing service , and for returning appropriate results. Together with the SPARQL 1.1 Query and SPARQL 1.1 Update (this document) specifications, these form an alternative to the SPARQL 1.1 Graph Store HTTP Protocol with comprehensive, though more complex functionality.

Read more