solid / solid-spec

Solid specification draft 0.7.0
Creative Commons Zero v1.0 Universal
1.13k stars 103 forks source link

Refer to SPARQL Update #159

Closed michielbdejong closed 4 years ago

michielbdejong commented 5 years ago

The spec says it's based on LDP, and LDP prefers LD-PATCH and that document lists a number of alternatives, namely Sparql UPDATE, SparqlPatch, TurtlePatch, and RDF Patch. @kjetilk also proposed RDF-merge in #120.

However, https://github.com/solid/solid-spec/blob/master/api-rest.md#alternative-using-sparql-1 quotes an example that has 'DELETE DATA' and 'INSERT DATA', and it looks like that's Sparql Update. So should we explicitly say that: 1) Although Solid servers need to support LDP basic containers, they don't need to support LD-PATCH 2) Solid servers do need to support https://www.w3.org/TR/sparql11-update/

michielbdejong commented 5 years ago

Node-Solid-Server also implements n3-patch which seems to be different from RDF patch, and relies on http://www.w3.org/ns/solid/terms#inserts, http://www.w3.org/ns/solid/terms#deletes, and http://www.w3.org/ns/solid/terms#where which seems pretty custom and undocumented?

kjetilk commented 5 years ago

SPARQL 1.1 Update is a major requirement on servers. As a SPARQL fan, I'd love to say yes, but it also puts some stress on the WAC implementation. So, I'm not sure we could do it.

michielbdejong commented 5 years ago

I'm not sure we could do it.

So indeed it wasn't easy, but I managed to do it in wac-ldp, now using three different RDF libraries (rdf-ext for the basics, comunica for sparql GET queries, and rdflib.js for sparql-update).

kjetilk commented 4 years ago

The discussion should now continue in the new issue autolinked above. :-)