public void TestAsk() { // Checking the model using ASK queries. SparqlQuery query = new SparqlQuery("ASK WHERE { ?s nco:fullname 'Hans Wurscht' . }"); ISparqlQueryResult result = Model.ExecuteQuery(query); Assert.AreEqual(true, result.GetAnwser()); query = new SparqlQuery("ASK WHERE { ?s nco:fullname 'Hans Meier' . }"); result = Model.ExecuteQuery(query); Assert.AreEqual(false, result.GetAnwser()); }
public void TestInsert() { SparqlUpdate update = new SparqlUpdate(@"INSERT DATA INTO <ex:TestModel> { ex:book dc:title 'This is an example title' . }"); _model.ExecuteUpdate(update); SparqlQuery query = new SparqlQuery(@"ASK WHERE { ?s dc:title 'This is an example title' . }"); ISparqlQueryResult result = _model.ExecuteQuery(query); Assert.AreEqual(true, result.GetAnwser()); }
public T ExecuteScalar <T>(QueryModel queryModel) { Type t = typeof(T); if (t == typeof(bool)) { // Generate and execute ASK query. SparqlQueryModelVisitor <T> visitor = new SparqlQueryModelVisitor <T>(new AskQueryGenerator()); visitor.VisitQueryModel(queryModel); ISparqlQuery query = visitor.GetQuery(); ISparqlQueryResult result = Model.ExecuteQuery(query, _inferenceEnabled); return(new object[] { result.GetAnwser() }.OfType <T>().First()); } else if (queryModel.ResultOperators.Any(o => o is CountResultOperator)) { SparqlQueryModelVisitor <T> visitor = new SparqlQueryModelVisitor <T>(new SelectBindingsQueryGenerator()); visitor.VisitQueryModel(queryModel); ISparqlQuery query = visitor.GetQuery(); ISparqlQueryResult result = Model.ExecuteQuery(query, _inferenceEnabled); BindingSet b = result.GetBindings().FirstOrDefault(); if (b != null && b.Any()) { return(new object[] { b.First().Value }.OfType <T>().First()); } else { return(new object[] { 0 }.OfType <T>().First()); } } else { // Unknown scalar type. throw new NotImplementedException(); } }