On Wed, Jun 8, 2022 at 12:22 PM Andy Seaborne <a...@apache.org> wrote:
>
>
>
> On 08/06/2022 09:22, Martynas Jusevičius wrote:
> > On Tue, Jun 7, 2022 at 9:15 PM Andy Seaborne <a...@apache.org> wrote:
> >>
> >> On 07/06/2022 10:47, Martynas Jusevičius wrote:
> >>> Hi,
> >>>
> >>> I have implemented PATCH method for the Graph Store Protocol:
> >>> https://www.w3.org/TR/sparql11-http-rdf-update/#http-patch
> >>>
> >>> The PATCH is applied to a named graph. I am missing this bit however:
> >>> " If a SPARQL 1.1 Update request is used as the RDF payload for a
> >>> PATCH request that makes changes to more than one graph or the graph
> >>> it modifies is not the one indicated, it would be prudent for the
> >>> server to respond with a 422 Unprocessable Entity status."
> >>
> >> I read that in the context of GSP resource naming.
> >>
> >> ?graph=<uri>
> >>
> >> and so the update does not name a graph - it'll look like the default
> >> graph in the update.
> >>
> >> So look for GRAPH in the update.
> >
> > Thanks, that makes sense. GRAPH is also easy to check.
> >
> > But then I need to forward the update to a triplestore that does not
> > support PATCH.
>
> It's the GSP naming that matters.
>
> > Which means I would need to wrap INSERT/DELETE/WHERE templates into
> > GRAPH <uri> { }.
>
> WITH <iri> DELETE {} INSERT {} WHERE {}
>
> Also: USING. And protocol.

Thanks, forgot about those. I could definitely use WITH.

And re. SPARQL protocol, would ?using-named-graph-uri=uri have the
same effect as WITH <uri> in this case?

>
> > Is there some builder code that can help with that?
>
> Have you looked at UpdateBuilder?
>

I looked at the Javadoc, it seems quite complicated. I'll see if I can
avoid modifying the update string.


> >
> >>
> >>> What would be the way to make sure that an update only affects a
> >>> single specific graph?
> >>
> >> A dataset of one graph and no others. c.f. DatasetGraphOne but for a
> >> single named graph and read-only dft graph.
> >>
> >> Or a dataset which yields read-only graphs except for the target graph.
> >>
> >> Or analyse the update - no GRAPH in templates if the target comes from
> >> the URL.
> >>
> >>>
> >>>
> >>> Martynas
> >>> atomgraph.com

Reply via email to