[ 
https://issues.apache.org/jira/browse/JENA-2337?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17563990#comment-17563990
 ] 

Holger Knublauch commented on JENA-2337:
----------------------------------------

I saw it at https://www.w3.org/TR/sparql11-protocol/#update-operation and my 
expectation was that if that parameter is present, we invoke update.addUsing(). 
But I just re-read it, and see that USING is the same as FROM in 
https://www.w3.org/TR/sparql11-query/#specifyingDataset and that REPLACES the 
whole dataset. So I assume the ticket is invalid and I need to find another way 
to specify the default graph. We probably had this (wrong) interpretation in 
the product for years now.

I find this not very intuitive as I thought it would keep the other graphs, and 
the fact that getProjected is never called confirmed my assumption.

Could you confirm the above understanding is the right interpretation and I 
will close this issue.

> Dataset of WHERE clause in UPDATEs only contains the default graph if 
> using-graph-uri is given
> ----------------------------------------------------------------------------------------------
>
>                 Key: JENA-2337
>                 URL: https://issues.apache.org/jira/browse/JENA-2337
>             Project: Apache Jena
>          Issue Type: Bug
>    Affects Versions: Jena 4.3.2
>            Reporter: Holger Knublauch
>            Priority: Major
>
> Summary: I think this boils down to DynamicDatasetGraph in DynamicDatasets: 
> the provided baseDSG is never used except for cloning the context. The 
> private function getProjected is never used anywhere, see
> https://github.com/apache/jena/blob/main/jena-arq/src/main/java/org/apache/jena/sparql/core/DynamicDatasets.java#L117
> The problem occurs when we call a SPARQL UPDATE with using-graph-uri which we 
> map to UpdateWithUsing.addUsing. On execution of such an update, this 
> triggers a code path that goes through DynamicDatasets.dynamicDataset. The 
> result is that the WHERE clause of an UPDATE only gets to see the default 
> graph, but none of the other named graphs in the original dataset. Then, the 
> GRAPH <...> clause does not work correctly.
> My understanding of the USING/using-graph-uri contract is that this only sets 
> the default graph yet all other graphs in the dataset remain visible. Is this 
> not the case?



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to