Situation Analysis When working with data, the vital issue of Data Flow — that is, the movement of data, from creation to storage, revision, and repurposing — has historically been impeded by disparity along several lines, including —
Data Item (i.e., Subject or Entity) Identifiers Data Access Protocols Data Structures Data Locations Data Query Languages
What is the SPARQL Query Language? The SPARQL Query Language is a Declarative Query Language (like SQL) for performing Data Manipulation and Data Definition operations on Data represented as a collection of RDF Language sentences/statements.
Every SPARQL Query has a Solution Modifier (or head) and a Query Body. The Solution Modifier provides the basis for categorizing different types of SPARQL Query solutions. The Query Body comprises a collection of of RDF statement patterns (represented using Turtle Notation) that represent the entity relationships to which a query is scoped.
Read Oriented Query Types SELECT — the Solution Modifier takes the form of a SELECT list, which is very much like a SQL SELECT list, that projects a query solution in tabular form
CONSTRUCT — the Solution Modifier takes the form of an RDF sentence/statement graph specification
DESCRIBE — a variant of CONSTRUCT where the Solution Modifier takes the form of an RDF sentence/statement graph specification that describes a selection of entities
ASK — this type of query returns a simple boolean (Yes or No) query solution
Write-oriented Query Types Write-oriented SPARQL Queries perform CREATE, INSERT, UPDATE, DELETE, and other "change" operations on collections of RDF sentences/statements associated with a specific DBMS or Triple/Quad Store Document (or Data Source) referred to as a Named Graph.
CREATE — creates a new empty Named Graph
INSERT — adds RDF sentences to a Named Graph explicitly or based on conditions satisfied in the SPARQL Query body
COPY — copies RDF sentences between Named Graphs
ADD — adds (or appends) RDF sentences to a Named Graph
MOVE — moves RDF sentences from one Named Graph to another Named Graph; i.e., the Source Named Graph and its sentences are permanently removed after successful recreation in the Target Named Graph
DELETE — removes RDF sentences that satisfy conditions in the SPARQL Query body from the Target Named Graph. DELETE queries can explicitly target specific statements
