public void StorageStardogUpdateNamedGraphRemoveTriples() { try { //Options.UseBomForUtf8 = false; StardogConnector stardog = StardogTests.GetConnection();; Graph g = new Graph(); g.LoadFromEmbeddedResource("VDS.RDF.Configuration.configuration.ttl"); g.BaseUri = new Uri("http://example.org/graph"); stardog.SaveGraph(g); INode rdfType = g.CreateUriNode(new Uri(VDS.RDF.Parsing.RdfSpecsHelper.RdfType)); stardog.UpdateGraph(g.BaseUri, null, g.GetTriplesWithPredicate(rdfType)); g.Retract(g.GetTriplesWithPredicate(rdfType).ToList()); Graph h = new Graph(); stardog.LoadGraph(h, new Uri("http://example.org/graph")); if (g.Triples.Count == h.Triples.Count) { Assert.AreEqual(g, h, "Retrieved Graph should be equal to the Saved Graph"); } else { Assert.IsTrue(h.HasSubGraph(g), "Retrieved Graph should have the Saved Graph as a subgraph"); } Assert.IsFalse(h.GetTriplesWithPredicate(rdfType).Any(), "Retrieved Graph should not contain any rdf:type Triples"); } finally { //Options.UseBomForUtf8 = true; } }
/// <summary> /// Delete and insert the provided graphs /// </summary> /// <param name="name">URI of graph; leave null for default graph</param> /// <param name="gInsert">Graph object containing data to insert</param> /// <param name="gDelete">Graph object containing data to delete</param> /// <returns></returns> public static bool UpdateGraph(Uri name, Graph gInsert, Graph gDelete) { using (StardogConnector dog = new StardogConnector(ConnectionString(), ConnectionDatabase(), ConnectionUser(), ConnectionPassword())) { dog.UpdateGraph(name, gInsert.Triples, gDelete.Triples); } return true; }