/// <summary> /// Executes a SparqlQuery on the store. /// </summary> /// <param name="query"></param> /// <param name="transaction"></param> /// <returns></returns> public override ISparqlQueryResult ExecuteQuery(ISparqlQuery query, ITransaction transaction = null) { if (query.IsInferenceEnabled && _reasoner != null) { _store.AddInferenceEngine(_reasoner); } else { _store.ClearInferenceEngines(); } string q = query.ToString(); object results = ExecuteQuery(q); if (results is IGraph) { return(new dotNetRDFQueryResult(this, query, results as IGraph)); } else if (results is SparqlResultSet) { return(new dotNetRDFQueryResult(this, query, results as SparqlResultSet)); } return(null); }