com.bigdata.rdf.sail.remote.AbstractBigdataRemoteQuery Maven / Gradle / Ivy
package com.bigdata.rdf.sail.remote;
import org.openrdf.model.URI;
import org.openrdf.query.Binding;
import org.openrdf.query.impl.AbstractQuery;
import com.bigdata.rdf.sail.webapp.client.EncodeDecodeValue;
import com.bigdata.rdf.sail.webapp.client.IPreparedQuery;
import com.bigdata.rdf.sail.webapp.client.RemoteRepositoryDecls;
public abstract class AbstractBigdataRemoteQuery extends AbstractQuery {
private String baseURI;
public AbstractBigdataRemoteQuery(String baseURI) {
super();
this.baseURI = baseURI;
}
/**
* @see org.openrdf.http.client.HTTPClient#getQueryMethodParameters(QueryLanguage, String, String, Dataset, boolean, int, Binding...)
*/
protected void configureConnectOptions(IPreparedQuery q) {
if (baseURI != null) {
q.addRequestParam(RemoteRepositoryDecls.BASE_URI, baseURI);
}
q.addRequestParam(RemoteRepositoryDecls.INCLUDE_INFERRED,
Boolean.toString(includeInferred));
if (maxQueryTime > 0) {
q.addRequestParam(RemoteRepositoryDecls.MAX_QUERY_TIME_MILLIS, Long.toString(1000L*maxQueryTime));
}
if (dataset != null) {
String[] defaultGraphs = new String[dataset.getDefaultGraphs().size()];
int i=0;
for (URI defaultGraphURI : dataset.getDefaultGraphs()) {
defaultGraphs[i++] = String.valueOf(defaultGraphURI);
}
q.addRequestParam(q.isUpdate() ? RemoteRepositoryDecls.USING_GRAPH_URI
: RemoteRepositoryDecls.DEFAULT_GRAPH_URI, defaultGraphs);
String[] namedGraphs = new String[dataset.getNamedGraphs().size()];
i=0;
for (URI namedGraphURI : dataset.getNamedGraphs()) {
namedGraphs[i++] = String.valueOf(String.valueOf(namedGraphURI));
}
q.addRequestParam(q.isUpdate() ? RemoteRepositoryDecls.USING_NAMED_GRAPH_URI
: RemoteRepositoryDecls.NAMED_GRAPH_URI, namedGraphs);
}
for (Binding binding: bindings) {
String paramName = RemoteRepositoryDecls.BINDING_PREFIX + binding.getName();
String paramValue = EncodeDecodeValue.encodeValue(binding.getValue());
q.addRequestParam(paramName, paramValue);
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy