Uploaded image for project: 'Apache Jena'
  1. Apache Jena
  2. JENA-2337

Dataset of WHERE clause in UPDATEs only contains the default graph if using-graph-uri is given

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Not A Problem
    • Jena 4.3.2
    • None
    • None
    • None

    Description

      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?

      Attachments

        Activity

          People

            Unassigned Unassigned
            holgerknublauch Holger Knublauch
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: