Details

      Description

      The goal I am trying to achieve is as follows:

      a) I generate some turtle for a single named graph: it may have errors in it
      b) I upload it to bigdata in a temporary named graph
      c) if I get a 200 I atomically delete the current target named graph and replace it with the contents of the temporary graph deleting the temporary graph in the process

      Here is the query for (c)

      # Atomic update of uploaded graph
      DELETE {
          GRAPH <eg:a> {
             ?olds ?oldp ?oldo
          }
          GRAPH <eg:A> {
             ?news ?newp ?newo
          }
      }
      INSERT {
          GRAPH <eg:a> {
              ?news ?newp ?newo
          }
      }
      WHERE {
          {
              GRAPH <eg:a> {
                  ?olds ?oldp ?oldo
              }
          } UNION {
              GRAPH <eg:A> {
                 ?news ?newp ?newo
              }
          }
      }
      

      In the test mode, I am using another update to generate test data

      prefix rdf:  <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
      INSERT DATA
      { 
       GRAPH <eg:a> {
         [ a "Blank" ] .
         <eg:b> rdf:type <eg:c> ; rdf:value []
       }
       GRAPH <eg:A> {
         [ a "Blankx" ] .
         <eg:B> rdf:type <eg:C> ; rdf:value []
       }
      }
      

      and I am using the following query to see what is going on:

      SELECT * { 
      GRAPH ?g {?s ?p ?o } } LIMIT 10
      

      With some playing around with these queries it is fairly easy to run the atomic update query and then the last query and still have a ground triple in graph <eg:A> which should have been completed deleted.

        Activity

        No work has yet been logged on this issue.

          People

          • Assignee:
            jeremycarroll jeremycarroll
            Reporter:
            jeremycarroll jeremycarroll
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: