Is it possible to use isql with virtuoso open source edition to run multiple 
sparql commands in a transaction such that there is isolation from other 
clients? I'd like to drop a graph and load new data into it without other 
clients seeing an inconsistent state, but my attempts at doing this with isql 
haven't been successful. On irc, Ted Thibodeau suggested that what I wanted 
probably looked like this:

SET AUTOCOMMIT OFF;
  SPARQL CLEAR GRAPH <graphname>;
  SPARQL LOAD GRAPH <graphname>;
  COMMIT WORK;
SET AUTOCOMMIT ON;

However, the clearing of the graph seems to be immediately visible by other 
clients upon execution (before the commit occurs). Should this work, or is 
there another way to do this?

I'm not sure why different operators would affect transactional isolation, but 
Ted suggested that the sparql operators might work differently here than 
traditional sql operators. If that is the case, should I expect the RDF loading 
functions (e.g. RDF_LOAD_RDFXML_MT and TTLP_MT) to work the same as the sparql 
commands (CLEAR/LOAD GRAPH) used in the example above?

thanks,
gregory williams


Reply via email to