public void StorageSesameDeleteGraph2() { SesameHttpProtocolConnector sesame = SesameTests.GetConnection(); Uri graphUri = null; sesame.DeleteGraph(graphUri); Graph g = new Graph(); FileLoader.Load(g, "resources\\InferenceTest.ttl"); g.BaseUri = graphUri; sesame.SaveGraph(g); Graph h = new Graph(); sesame.LoadGraph(h, graphUri); Assert.False(h.IsEmpty, "Graph should not be empty after loading"); Assert.Equal(g, h); sesame.DeleteGraph(graphUri); h = new Graph(); sesame.LoadGraph(h, graphUri); Assert.True(h.IsEmpty, "Graph should be equal after deletion"); Assert.NotEqual(g, h); }
public void StorageSesameDeleteGraph1() { SesameHttpProtocolConnector sesame = SesameTests.GetConnection(); Uri graphUri = new Uri("http://example.org/Sesame/delete"); Graph g = new Graph(); FileLoader.Load(g, "resources\\InferenceTest.ttl"); g.BaseUri = graphUri; sesame.SaveGraph(g); Graph h = new Graph(); sesame.LoadGraph(h, graphUri); Assert.IsFalse(h.IsEmpty, "Graph should not be empty after loading"); Assert.AreEqual(g, h, "Graphs should have been equal"); sesame.DeleteGraph(graphUri); h = new Graph(); sesame.LoadGraph(h, graphUri); Assert.IsTrue(h.IsEmpty, "Graph should be equal after deletion"); Assert.AreNotEqual(g, h, "Graphs should not be equal after deletion"); }
public void StorageSesameSaveLoad() { try { Graph g = new Graph(); FileLoader.Load(g, "InferenceTest.ttl"); g.BaseUri = new Uri("http://example.org/SesameTest"); SesameHttpProtocolConnector sesame = new SesameHttpProtocolConnector("http://nottm-virtual.ecs.soton.ac.uk:8080/openrdf-sesame/", "unit-test"); sesame.SaveGraph(g); //Options.HttpDebugging = true; //Options.HttpFullDebugging = true; Graph h = new Graph(); sesame.LoadGraph(h, "http://example.org/SesameTest"); Assert.IsFalse(h.IsEmpty, "Graph should not be empty after loading"); Assert.AreEqual(g, h, "Graphs should have been equal"); } catch (Exception ex) { TestTools.ReportError("Error", ex, true); } finally { //Options.HttpFullDebugging = false; //Options.HttpDebugging = true; } }
public void StorageSesameDeleteTriples1() { Graph g = new Graph(); FileLoader.Load(g, "InferenceTest.ttl"); g.BaseUri = new Uri("http://example.org/SesameTest"); SesameHttpProtocolConnector sesame = SesameTests.GetConnection(); sesame.SaveGraph(g); Console.WriteLine("Graph before deletion"); TestTools.ShowGraph(g); //Delete all Triples about the Ford Fiesta sesame.UpdateGraph(g.BaseUri, null, g.GetTriplesWithSubject(new Uri("http://example.org/vehicles/FordFiesta"))); Object results = sesame.Query("ASK WHERE { GRAPH <http://example.org/SesameTest> { <http://example.org/vehicles/FordFiesta> ?p ?o } }"); if (results is SparqlResultSet) { Assert.IsFalse(((SparqlResultSet)results).Result, "There should no longer be any triples about the Ford Fiesta present"); } Graph h = new Graph(); sesame.LoadGraph(h, g.BaseUri); Console.WriteLine("Graph after deletion"); TestTools.ShowGraph(h); Assert.IsFalse(h.IsEmpty, "Graph should not be completely empty"); Assert.IsTrue(g.HasSubGraph(h), "Graph retrieved with missing Triples should be a sub-graph of the original Graph"); Assert.IsFalse(g.Equals(h), "Graph retrieved should not be equal to original Graph"); }
public void StorageSesameSaveLoad() { try { Graph g = new Graph(); FileLoader.Load(g, "InferenceTest.ttl"); g.BaseUri = new Uri("http://example.org/SesameTest"); SesameHttpProtocolConnector sesame = SesameTests.GetConnection(); sesame.SaveGraph(g); //Options.HttpDebugging = true; //Options.HttpFullDebugging = true; Graph h = new Graph(); sesame.LoadGraph(h, "http://example.org/SesameTest"); Assert.IsFalse(h.IsEmpty, "Graph should not be empty after loading"); Assert.AreEqual(g, h, "Graphs should have been equal"); } finally { //Options.HttpFullDebugging = false; //Options.HttpDebugging = true; } }
public void StorageSesameSparqlUpdate1() { try { Options.HttpDebugging = true; SesameHttpProtocolConnector sesame = SesameTests.GetConnection(); sesame.Update("DROP GRAPH <http://example.org/sparqlUpdateLoad>; LOAD <http://dbpedia.org/resource/Ilkeston> INTO GRAPH <http://example.org/sparqlUpdateLoad>"); Graph orig = new Graph(); orig.LoadFromUri(new Uri("http://dbpedia.org/resource/Ilkeston")); Graph actual = new Graph(); sesame.LoadGraph(actual, "http://example.org/sparqlUpdateLoad"); GraphDiffReport diff = orig.Difference(actual); if (!diff.AreEqual) { TestTools.ShowDifferences(diff); } Assert.AreEqual(orig, actual, "Graphs should be equal"); } finally { Options.HttpDebugging = false; } }
public void StorageSesameDeleteTriples2() { Graph g = new Graph(); g.BaseUri = new Uri("http://example.org/SesameTest/Delete2"); g.NamespaceMap.AddNamespace("ex", new Uri("http://example.org/ns#")); g.Assert(g.CreateUriNode("ex:subj"), g.CreateUriNode("ex:pred"), g.CreateUriNode("ex:obj")); SesameHttpProtocolConnector sesame = SesameTests.GetConnection(); sesame.SaveGraph(g); Console.WriteLine("Graph before deletion"); TestTools.ShowGraph(g); //Delete the single triple sesame.UpdateGraph(g.BaseUri, null, g.Triples); Object results = sesame.Query("ASK WHERE { GRAPH <http://example.org/SesameTest/Delete2> { <http://example.org/ns#subj> ?p ?o } }"); if (results is SparqlResultSet) { Assert.IsFalse(((SparqlResultSet)results).Result, "There should no longer be any triples present in the graph"); } Graph h = new Graph(); sesame.LoadGraph(h, g.BaseUri); Console.WriteLine("Graph after deletion"); TestTools.ShowGraph(h); Assert.IsTrue(h.IsEmpty, "Graph should not be completely empty"); Assert.IsFalse(g.Equals(h), "Graph retrieved should not be equal to original Graph"); }
public void StorageSesameSparqlUpdate1() { Skip.IfNot(TestConfigManager.GetSettingAsBoolean(TestConfigManager.UseRemoteParsing), "Test Config marks Remote Parsing as unavailable, test cannot be run"); SesameHttpProtocolConnector sesame = SesameTests.GetConnection(); sesame.Update(@"DROP GRAPH <http://example.org/sparqlUpdateLoad>; LOAD <http://dbpedia.org/resource/Ilkeston> INTO GRAPH <http://example.org/sparqlUpdateLoad>; DELETE WHERE { GRAPH <http://example.org/sparqlUpdateLoad> { ?s <http://www.w3.org/2003/01/geo/wgs84_pos#long> ?long ; <http://www.w3.org/2003/01/geo/wgs84_pos#lat> ?lat } }"); Graph orig = new Graph(); orig.LoadFromUri(new Uri("http://dbpedia.org/resource/Ilkeston")); orig.Retract(orig.GetTriplesWithPredicate(new Uri("http://www.w3.org/2003/01/geo/wgs84_pos#long")).ToList()); orig.Retract(orig.GetTriplesWithPredicate(new Uri("http://www.w3.org/2003/01/geo/wgs84_pos#lat")).ToList()); Graph actual = new Graph(); sesame.LoadGraph(actual, "http://example.org/sparqlUpdateLoad"); GraphDiffReport diff = orig.Difference(actual); if (!diff.AreEqual) { TestTools.ShowDifferences(diff); } Assert.Equal(orig, actual); }
public void StorageSesameSaveEmptyGraph2() { SesameHttpProtocolConnector sesame = SesameTests.GetConnection(); Uri graphUri = new Uri("http://example.org/Sesame/empty2"); Console.WriteLine("Deleting any existing graph"); sesame.DeleteGraph(graphUri); Console.WriteLine("Existing graph deleted"); // First create a non-empty graph Graph g = new Graph(); g.BaseUri = graphUri; g.Assert(g.CreateBlankNode(), g.CreateUriNode("rdf:type"), g.CreateUriNode(new Uri("http://example.org/BNode"))); Console.WriteLine("Saving non-empty graph"); sesame.SaveGraph(g); Console.WriteLine("Non-empty graph saved"); Graph h = new Graph(); sesame.LoadGraph(h, graphUri); Assert.False(h.IsEmpty, "Graph should not be empty after loading"); Assert.Equal(g, h); // Now attempt to save an empty graph as well g = new Graph(); g.BaseUri = graphUri; Console.WriteLine("Attempting to save empty graph with same name"); sesame.SaveGraph(g); Console.WriteLine("Empty graph saved"); h = new Graph(); sesame.LoadGraph(h, graphUri); Assert.True(h.IsEmpty, "Graph should be empty after loading"); Assert.Equal(g, h); }
public void StorageSesameSaveEmptyGraph3() { SesameHttpProtocolConnector sesame = SesameTests.GetConnection(); Uri graphUri = null; Console.WriteLine("Deleting any existing graph"); sesame.DeleteGraph(graphUri); Console.WriteLine("Existing graph deleted"); // First create a non-empty graph Graph g = new Graph(); g.BaseUri = graphUri; g.Assert(g.CreateBlankNode(), g.CreateUriNode("rdf:type"), g.CreateUriNode(new Uri("http://example.org/BNode"))); Console.WriteLine("Saving non-empty graph"); sesame.SaveGraph(g); Console.WriteLine("Non-empty graph saved"); Graph h = new Graph(); sesame.LoadGraph(h, graphUri); Assert.False(h.IsEmpty, "Graph should not be empty after loading"); Assert.Equal(g, h); // Now attempt to overwrite with an empty graph g = new Graph(); g.BaseUri = graphUri; Console.WriteLine("Attempting to save empty graph with same name"); sesame.SaveGraph(g); Console.WriteLine("Empty graph saved"); h = new Graph(); sesame.LoadGraph(h, graphUri); // Since saving to default graph does not overwrite the graph we've just retrieved must contain the empty graph as a sub-graph Assert.True(h.HasSubGraph(g)); }
public void StorageSesameSaveEmptyGraph1() { Graph g = new Graph(); g.BaseUri = new Uri("http://example.org/Sesame/empty"); SesameHttpProtocolConnector sesame = SesameTests.GetConnection(); sesame.SaveGraph(g); Graph h = new Graph(); sesame.LoadGraph(h, "http://example.org/Sesame/empty"); Assert.True(h.IsEmpty, "Graph should be empty after loading"); Assert.Equal(g, h); }
public void StorageSesameSparqlUpdate2() { SesameHttpProtocolConnector sesame = SesameTests.GetConnection(); Graph g = new Graph(); g.LoadFromEmbeddedResource("VDS.RDF.Configuration.configuration.ttl"); g.BaseUri = new Uri("http://example.org/sparqlUpdateDeleteWhere"); sesame.SaveGraph(g); sesame.Update("WITH <http://example.org/sparqlUpdateDeleteWhere> DELETE { ?s a ?type } WHERE { ?s a ?type }"); Graph h = new Graph(); sesame.LoadGraph(h, "http://example.org/sparqlUpdateDeleteWhere"); INode rdfType = h.CreateUriNode("rdf:type"); Assert.False(h.GetTriplesWithPredicate(rdfType).Any(), "Should not be any rdf:type triples after SPARQL Update operation"); }
public void StorageSesameDeleteTriples() { try { Graph g = new Graph(); FileLoader.Load(g, "InferenceTest.ttl"); g.BaseUri = new Uri("http://example.org/SesameTest"); SesameHttpProtocolConnector sesame = new SesameHttpProtocolConnector("http://nottm-virtual.ecs.soton.ac.uk:8080/openrdf-sesame/", "unit-test"); sesame.SaveGraph(g); Console.WriteLine("Graph before deletion"); TestTools.ShowGraph(g); //Delete all Triples about the Ford Fiesta sesame.UpdateGraph(g.BaseUri, null, g.GetTriplesWithSubject(new Uri("http://example.org/vehicles/FordFiesta"))); Object results = sesame.Query("ASK WHERE { <http://example.org/vehicles/FordFiesta> ?p ?o }"); if (results is SparqlResultSet) { Assert.IsFalse(((SparqlResultSet)results).Result, "There should no longer be any triples about the Ford Fiesta present"); } Graph h = new Graph(); sesame.LoadGraph(h, g.BaseUri); Console.WriteLine("Graph after deletion"); TestTools.ShowGraph(h); Assert.IsFalse(h.IsEmpty, "Graph should not be completely empty"); Assert.IsTrue(g.HasSubGraph(h), "Graph retrieved with missing Triples should be a sub-graph of the original Graph"); Assert.IsFalse(g.Equals(h), "Graph retrieved should not be equal to original Graph"); } catch (Exception ex) { TestTools.ReportError("Error", ex, true); } }