SPARUL, or SPARQL/Update, was a
declarative data manipulation language
A data manipulation language (DML) is a computer programming language used for adding (inserting), deleting, and modifying (updating) data in a database. A DML is often a sublanguage of a broader database language such as SQL, with the DML com ...
that extended the
SPARQL
SPARQL (pronounced " sparkle" , a recursive acronym for SPARQL Protocol and RDF Query Language) is an RDF query language—that is, a semantic query language for databases—able to retrieve and manipulate data stored in Resource Description ...
1.0 query language standard. SPARUL provided the ability to insert, delete and update
RDF data held within a
triple store
A triplestore or RDF store is a purpose-built database for the storage and retrieval of triples through semantic queries. A triple is a data entity composed of subject–predicate–object, like "Bob is 35" or "Bob knows Fred".
Much like a relat ...
or
quad store. SPARUL was originally written by
Hewlett-Packard and has been used as the foundation for the current
W3C recommendation
The World Wide Web Consortium (W3C) is the main international standards organization for the World Wide Web. Founded in 1994 and led by Tim Berners-Lee, the consortium is made up of member organizations that maintain full-time staff working t ...
entitled SPARQL 1.1 Update. With the publication of SPARQL 1.1, SPARUL is superseded and should only be consulted as a source of inspiration for possible future refinements of SPARQL, but not for real-world applications.
Examples
Adding some triples to a graph. The snippet describes two RDF triples to be inserted into the default graph of the RDF store.
PREFIX dc:
INSERT DATA
This SPARQL/Update request contains a triple to be deleted and a triple to be added (used here to correct a book title). The requested change happens in the named graph identified by the URI
http://example/bookStore.
PREFIX dc:
DELETE DATA FROM
INSERT DATA INTO
The example below has a request to delete all records of old books (with date before year 2000)
PREFIX dc:
PREFIX xsd:
DELETE
WHERE
This snippet copies records from one named graph to another named graph based on a pattern.
PREFIX dc:
PREFIX xsd:
INSERT INTO
WHERE
An example to move records from one named graph to another named graph based on a pattern.
PREFIX dc:
PREFIX xsd:
INSERT INTO
WHERE
DELETE FROM
WHERE
{ GRAPH
{ ?book dc:date ?date .
FILTER ( ?date < "2000-01-01T00:00:00"^^xsd:dateTime )
?book ?p ?v
}
}
SPARQL/Update implementations
*
AllegroGraph
*
ARQ
* D2R Server
*
Jena
Jena () is a German city and the second largest city in Thuringia. Together with the nearby cities of Erfurt and Weimar, it forms the central metropolitan area of Thuringia with approximately 500,000 inhabitants, while the city itself has a po ...
* OntoBroker
* Ontotext OWLIM
*
Oracle DB Enterprise Ed.
* Parliament
*
Redland / Redstore
* StrixDB supports SPARQL/Update 1.0.
* OpenLink
Virtuoso Universal Server
Virtuoso Universal Server is a middleware and database engine hybrid that combines the functionality of a traditional relational database management system (RDBMS), object–relational database (ORDBMS), virtual database, RDF, XML, free-text, ...
Clients supporting SPARUL
* tabulator
"The Tabulator"
/ref>
References
External links
SPARQL/Update
W3C
The World Wide Web Consortium (W3C) is the main international standards organization for the World Wide Web. Founded in 1994 and led by Tim Berners-Lee, the consortium is made up of member organizations that maintain full-time staff working to ...
Member Submission
SPARQL 1.1 Update
Proposed Recommendation from W3C SPARQL Working Group
EditingData wiki page
- summary (maintained by Tim Berners-Lee) of ways to edit linked data
RDF data access