1
2
3
4
5
6 package org.openrdf.repository.augur;
7
8 import info.aduna.iteration.CloseableIteration;
9
10 import org.openrdf.model.Statement;
11 import org.openrdf.model.Value;
12 import org.openrdf.query.BindingSet;
13 import org.openrdf.query.Dataset;
14 import org.openrdf.query.GraphQuery;
15 import org.openrdf.query.GraphQueryResult;
16 import org.openrdf.query.QueryEvaluationException;
17 import org.openrdf.query.impl.GraphQueryResultImpl;
18 import org.openrdf.query.QueryResultUtil;
19 import org.openrdf.repository.augur.helpers.AStatementIterator;
20 import org.openrdf.repository.augur.model.AugurNode;
21 import org.openrdf.rio.RDFHandler;
22 import org.openrdf.rio.RDFHandlerException;
23
24
25
26
27
28
29
30 class AugurGraphQuery implements GraphQuery {
31
32 private AugurNode node;
33
34 private GraphQuery delegate;
35
36 public AugurGraphQuery(AugurNode node, GraphQuery delegate) {
37 super();
38 this.node = node;
39 this.delegate = delegate;
40 }
41
42 public boolean getIncludeInferred() {
43 return delegate.getIncludeInferred();
44 }
45
46 public void setIncludeInferred(boolean includeInferred) {
47 delegate.setIncludeInferred(includeInferred);
48 node.setIncludeInferred(includeInferred);
49 }
50
51 public BindingSet getBindings() {
52 return delegate.getBindings();
53 }
54
55 public void addBinding(String name, Value value) {
56 setBinding(name, value);
57 }
58
59 public void setBinding(String name, Value value) {
60 delegate.setBinding(name, value);
61 }
62
63 public void removeBinding(String name) {
64 delegate.removeBinding(name);
65 }
66
67 public void setDataset(Dataset dataset) {
68 delegate.setDataset(dataset);
69 }
70
71 public Dataset getDataset() {
72 return delegate.getDataset();
73 }
74
75 public GraphQueryResult evaluate() throws QueryEvaluationException {
76 GraphQueryResult result = delegate.evaluate();
77 CloseableIteration<Statement, QueryEvaluationException> iter;
78 iter = new AStatementIterator<QueryEvaluationException>(result, node,
79 "subject", "object");
80 return new GraphQueryResultImpl(result.getNamespaces(), iter);
81 }
82
83 public void evaluate(RDFHandler handler) throws QueryEvaluationException,
84 RDFHandlerException {
85 GraphQueryResult queryResult = evaluate();
86 QueryResultUtil.report(queryResult, handler);
87 }
88
89 }