package org.aksw.jena_sparql_api.core;
import org.apache.jena.query.Dataset;
import org.apache.jena.query.DatasetFactory;
import org.apache.jena.query.Query;
import org.apache.jena.query.QueryExecution;
import org.apache.jena.sparql.core.DatasetGraph;
public class QueryExecutionFactoryDatasetGraph
extends QueryExecutionFactoryBackQuery
{
private DatasetGraph datasetGraph;
private boolean doClose;
// public QueryExecutionFactoryDatasetGraph() {
// this(DatasetFactory.createMem());
// }
public QueryExecutionFactoryDatasetGraph(DatasetGraph datasetGraph, boolean doClose) {
this.datasetGraph = datasetGraph;
this.doClose = doClose;
}
public DatasetGraph getDatasetGraph() {
return datasetGraph;
}
@Override
public String getId() {
return "" + datasetGraph.hashCode();
}
@Override
public String getState() {
return "" + datasetGraph.hashCode();
}
@Override
public QueryExecution createQueryExecution(Query query) {
Dataset dataset = DatasetFactory.create(datasetGraph);
//QueryExecution result = QueryEngineRegistry.get().find(query, datasetGraph, ARQ.getContext());
//GraphStore graphStore = GraphStoreFactory.create(datasetGraph);
QueryExecution result = org.apache.jena.query.QueryExecutionFactory.create(query, dataset);
return result;
}
@Override
public void close() {
if(doClose) {
datasetGraph.close();
}
}
}