public void StorageAllegroGraphDeleteGraph2() { AllegroGraphConnector agraph = AllegroGraphTests.GetConnection(); Uri graphUri = null; agraph.DeleteGraph(graphUri); Graph g = new Graph(); FileLoader.Load(g, "resources\\InferenceTest.ttl"); g.BaseUri = graphUri; agraph.SaveGraph(g); Graph h = new Graph(); agraph.LoadGraph(h, graphUri); Assert.False(h.IsEmpty, "Graph should not be empty after loading"); Assert.Equal(g, h); agraph.DeleteGraph(graphUri); h = new Graph(); agraph.LoadGraph(h, graphUri); Assert.True(h.IsEmpty, "Graph should be equal after deletion"); Assert.NotEqual(g, h); }
public void StorageAllegroGraphDeleteTriples() { Graph g = new Graph(); FileLoader.Load(g, "resources\\InferenceTest.ttl"); g.BaseUri = new Uri("http://example.org/AllegroGraphTest"); AllegroGraphConnector agraph = AllegroGraphTests.GetConnection(); agraph.SaveGraph(g); Console.WriteLine("Graph before deletion"); TestTools.ShowGraph(g); //Delete all Triples about the Ford Fiesta agraph.UpdateGraph(g.BaseUri, null, g.GetTriplesWithSubject(new Uri("http://example.org/vehicles/FordFiesta"))); Graph h = new Graph(); agraph.LoadGraph(h, g.BaseUri); Console.WriteLine("Graph after deletion"); TestTools.ShowGraph(h); Assert.False(h.IsEmpty, "Graph should not be completely empty"); Assert.True(g.HasSubGraph(h), "Graph retrieved with missing Triples should be a sub-graph of the original Graph"); Assert.False(g.Equals(h), "Graph retrieved should not be equal to original Graph"); Object results = agraph.Query("ASK WHERE { GRAPH <http://example.org/AllegroGraphTest> { <http://example.org/vehicles/FordFiesta> ?p ?o } }"); if (results is SparqlResultSet) { Assert.False(((SparqlResultSet)results).Result, "There should no longer be any triples about the Ford Fiesta present"); } }
public void StorageAllegroGraphDeleteGraph1() { AllegroGraphConnector agraph = AllegroGraphTests.GetConnection(); Uri graphUri = new Uri("http://example.org/AllegroGraph/delete"); Graph g = new Graph(); FileLoader.Load(g, "resources\\InferenceTest.ttl"); g.BaseUri = graphUri; agraph.SaveGraph(g); Graph h = new Graph(); agraph.LoadGraph(h, graphUri); Assert.IsFalse(h.IsEmpty, "Graph should not be empty after loading"); Assert.AreEqual(g, h, "Graphs should have been equal"); agraph.DeleteGraph(graphUri); h = new Graph(); agraph.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 StorageAllegroGraphSaveEmptyGraph3() { AllegroGraphConnector agraph = AllegroGraphTests.GetConnection(); Uri graphUri = null; Console.WriteLine("Deleting any existing graph"); agraph.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"); agraph.SaveGraph(g); Console.WriteLine("Non-empty graph saved"); Graph h = new Graph(); agraph.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"); agraph.SaveGraph(g); Console.WriteLine("Empty graph saved"); h = new Graph(); agraph.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 StorageAllegroGraphSaveEmptyGraph2() { AllegroGraphConnector agraph = AllegroGraphTests.GetConnection(); Uri graphUri = new Uri("http://example.org/AllegroGraph/empty2"); Console.WriteLine("Deleting any existing graph"); agraph.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"); agraph.SaveGraph(g); Console.WriteLine("Non-empty graph saved"); Graph h = new Graph(); agraph.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"); agraph.SaveGraph(g); Console.WriteLine("Empty graph saved"); h = new Graph(); agraph.LoadGraph(h, graphUri); Assert.True(h.IsEmpty, "Graph should be empty after loading"); Assert.Equal(g, h); }
public void StorageAllegroGraphSaveEmptyGraph1() { Graph g = new Graph(); g.BaseUri = new Uri("http://example.org/AllegroGraph/empty"); AllegroGraphConnector agraph = AllegroGraphTests.GetConnection(); agraph.SaveGraph(g); Graph h = new Graph(); agraph.LoadGraph(h, "http://example.org/AllegroGraph/empty"); Assert.True(h.IsEmpty, "Graph should be empty after loading"); Assert.Equal(g, h); }
public void StorageAllegroGraphSaveLoad() { Graph g = new Graph(); FileLoader.Load(g, "resources\\InferenceTest.ttl"); g.BaseUri = new Uri("http://example.org/AllegroGraphTest"); AllegroGraphConnector agraph = AllegroGraphTests.GetConnection(); agraph.SaveGraph(g); Graph h = new Graph(); agraph.LoadGraph(h, "http://example.org/AllegroGraphTest"); Assert.False(h.IsEmpty, "Graph should not be empty after loading"); Assert.Equal(g, h); }
public void StorageAllegroGraphSaveLoad() { try { Graph g = new Graph(); FileLoader.Load(g, "InferenceTest.ttl"); g.BaseUri = new Uri("http://example.org/AllegroGraphTest"); AllegroGraphConnector agraph = new AllegroGraphConnector("http://localhost:9875", "test", "unit-test"); agraph.SaveGraph(g); Graph h = new Graph(); agraph.LoadGraph(h, "http://example.org/AllegroGraphTest"); 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); } }
public void StorageAllegroGraphDeleteTriples() { try { Graph g = new Graph(); FileLoader.Load(g, "InferenceTest.ttl"); g.BaseUri = new Uri("http://example.org/AllegroGraphTest"); AllegroGraphConnector agraph = new AllegroGraphConnector("http://localhost:9875", "test", "unit-test"); agraph.SaveGraph(g); Console.WriteLine("Graph before deletion"); TestTools.ShowGraph(g); //Delete all Triples about the Ford Fiesta agraph.UpdateGraph(g.BaseUri, null, g.GetTriplesWithSubject(new Uri("http://example.org/vehicles/FordFiesta"))); Graph h = new Graph(); agraph.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"); Object results = agraph.Query("ASK WHERE { GRAPH <http://example.org/AllegroGraphTest> { <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"); } } catch (Exception ex) { TestTools.ReportError("Error", ex, true); } }
public void SparqlViewNativeAllegroGraph() { try { AllegroGraphConnector agraph = new AllegroGraphConnector("http://localhost:9875", "test", "unit-test"); NativeTripleStore store = new NativeTripleStore(agraph); //Load a Graph into the Store to ensure there is some data for the view to retrieve Graph g = new Graph(); FileLoader.Load(g, "InferenceTest.ttl"); agraph.SaveGraph(g); //Create the SPARQL View NativeSparqlView view = new NativeSparqlView("CONSTRUCT { ?s ?p ?o } WHERE { ?s ?p ?o . FILTER(IsLiteral(?o)) }", store); Console.WriteLine("SPARQL View Populated"); TestTools.ShowGraph(view); Console.WriteLine(); } catch (RdfQueryException queryEx) { TestTools.ReportError("Query Error", queryEx, true); } catch (RdfException ex) { TestTools.ReportError("Error", ex, true); } }
public static void Main(String[] args) { StreamWriter output = new StreamWriter("AllegroGraphTest.txt"); Console.SetOut(output); try { Console.WriteLine("## AllegroGraph Test"); Console.WriteLine(); //Load the Graph we want to use as a Test Graph g = new Graph(); TurtleParser ttlparser = new TurtleParser(); ttlparser.Load(g, "InferenceTest.ttl"); Console.WriteLine("Test Graph contains the following Triples:"); ShowGraph(g); Console.WriteLine(); //Load another Graph Graph h = new Graph(); h.BaseUri = new Uri("http://example.org/test"); Notation3Parser n3parser = new Notation3Parser(); n3parser.Load(h, "test.n3"); Console.WriteLine("Second Test Graph contains the following Triples:"); ShowGraph(h); Console.WriteLine(); Console.WriteLine("Trying to create a test store in the test catalog"); AllegroGraphConnector agraph = new AllegroGraphConnector("http://localhost:9875/", "test", "test"); Console.WriteLine("Store Created OK"); Console.WriteLine(); Console.WriteLine("Trying to add data to the Store"); agraph.SaveGraph(g); agraph.SaveGraph(h); Console.WriteLine("Saved OK"); Console.WriteLine(); Console.WriteLine("Trying to load data from the Store"); Graph i = new Graph(); agraph.LoadGraph(i, String.Empty); ShowGraph(i); Console.WriteLine(); i = new Graph(); agraph.LoadGraph(i, new Uri("http://example.org/test")); ShowGraph(i); Console.WriteLine("Loaded OK"); Console.WriteLine(); Console.WriteLine("Trying to update data in the Store"); List<Triple> toRemove = g.GetTriplesWithPredicate(g.CreateUriNode("rdf:type")).ToList(); Triple toAdd = new Triple(g.CreateUriNode(new Uri("http://example.org/")), g.CreateUriNode("rdf:type"), g.CreateLiteralNode("Added Triple Test")); agraph.UpdateGraph(String.Empty, new List<Triple>() { toAdd }, toRemove); Console.WriteLine("Updated OK"); Console.WriteLine(); Console.WriteLine("Trying a SPARQL ASK query against the store"); Object results = agraph.Query("ASK WHERE {?s ?p ?o}"); Console.WriteLine("Got results OK"); ShowResults(results); Console.WriteLine(); Console.WriteLine("Trying a SPARQL SELECT query against the store"); results = agraph.Query("SELECT * WHERE {?s ?p ?o}"); Console.WriteLine("Got results OK"); ShowResults(results); Console.WriteLine(); } catch (RdfStorageException storeEx) { reportError(output, "RDF Storage Error", storeEx); } catch (RdfParseException parseEx) { reportError(output, "RDF Parsing Error", parseEx); } catch (RdfQueryException queryEx) { reportError(output, "RDF Query Error", queryEx); } catch (RdfException rdfEx) { reportError(output, "RDF Error", rdfEx); } catch (WebException webEx) { reportError(output, "HTTP Error", webEx); } catch (Exception ex) { reportError(output, "Error", ex); } finally { output.Close(); } }