VirtuosoManagerUpdateGraph Method (Uri, IEnumerableTriple, IEnumerableTriple) |
Namespace: VDS.RDF.Storage
public override void UpdateGraph( Uri graphUri, IEnumerable<Triple> additions, IEnumerable<Triple> removals )
In the case of inserts where blank nodes are present the data will be inserted but new blank nodes will be created. You cannot insert data that refers to existing blank nodes via this method, consider using a INSERT WHERE style SPARQL Update instead.
Note that Blank Nodes cannot always be deleted successfully, if you have retrieved the triples you are now trying to delete from Virtuoso and they contain blank nodes then this will likely work as expected. Otherwise deletetions of Blank Nodes cannot be guaranteed.
If the Graph being modified is relatively small it may be safer to load the graph into memory, makes the modifications there and then persist the graph back to the store (which overwrites the previous version of the graph).