@Override public ResultSet execSelect() { checkNotClosed() ; ResultSet rs = execResultSetInner() ; return new ResultSetCheckCondition(rs, this) ; }
@Override public boolean execAsk() { checkNotClosed() ; HttpQuery httpQuery = makeHttpQuery(); httpQuery.setAccept(chooseAcceptHeader(acceptHeader, askContentType));
private Pair<InputStream, Lang> execConstructWorker(String contentType) { checkNotClosed() ; HttpQuery httpQuery = makeHttpQuery(); httpQuery.setAccept(chooseAcceptHeader(acceptHeader, contentType)); InputStream in = httpQuery.exec(); // Don't assume the endpoint actually gives back the content type we // asked for String actualContentType = httpQuery.getContentType(); httpResponseContentType = actualContentType; // If the server fails to return a Content-Type then we will assume // the server returned the type we asked for if (actualContentType == null || actualContentType.equals("")) { actualContentType = WebContent.defaultDatasetAcceptHeader; } Lang lang = RDFLanguages.contentTypeToLang(actualContentType); if ( ! RDFLanguages.isQuads(lang) && ! RDFLanguages.isTriples(lang) ) throw new QueryException("Endpoint returned Content Type: " + actualContentType + " which is not a valid RDF syntax"); return Pair.create(in, lang) ; }
@Override public JsonArray execJson() { checkNotClosed(); HttpQuery httpQuery = makeHttpQuery(); httpQuery.setAccept(WebContent.contentTypeJSON); JsonArray result = new JsonArray(); try(InputStream in = httpQuery.exec()) { JsonValue v = JSON.parseAny(in); if ( ! v.isArray() ) throw new QueryExecException("Return from a JSON query isn't an array"); result = v.getAsArray(); } catch (IOException e) { IO.exception(e); } finally { this.close(); } return result; }