The REST API supports ACID DELETE+INSERT operations. There are three ways of doing this:
- SPARQL UPDATE: DELETE/INSERT/WHERE. This is most flexible and least scalable. This approach should really be reserved for when you need to discover the triples to be removed or the triples to be inserted based on the graph pattern in the WHERE clause.
- SPARQL UPDATE: DELETE DATA and INSERT DATA. Both operations can be combined in a single UPDATE request and that request will be ACID. This is the preferred standards-based option if you are removing and adding specific statements.
- POST with multi-part request body – This is the most scalable option, but the performance difference will only be noticeable for large updates (100k statements or more).
We’ve recently seen a few people run into trouble using DELETE/INSERT/WHERE when they should have been using one of the other approaches.