/** Test the default mime type for each {@link TupleQueryResultFormat}. */ @SuppressWarnings({ "rawtypes", "unchecked" }) public void test_conneg_sparql_result_set_01() { for (TupleQueryResultFormat format : TupleQueryResultFormat.values()) { final ConnegUtil util = new ConnegUtil(format.getDefaultMIMEType()); if (!format.getName().equals("SPARQL/JSON")) { assertNull(format.getName(), util.getRDFFormat()); } assertEquals(format.getName(), format, util.getTupleQueryResultFormat()); assertSameArray(new ConnegScore[] {// new ConnegScore(1f, format) },// util.getScores(TupleQueryResultFormat.class)); } }
acceptStr = TupleQueryResultFormat.SPARQL.getDefaultMIMEType(); break; case DESCRIBE: fileExt = "xml"; } else { mimeType = format.getDefaultMIMEType(); charset = format.getCharset(); fileExt = format.getDefaultFileExtension();
TupleQueryResultFormat tupleQueryMimeType = TupleQueryResultFormat.forMIMEType(requestMimeType); String responseMimeType; String responseContent; if (tupleQueryMimeType!=null) { responseMimeType = TupleQueryResultFormat.TSV.getDefaultMIMEType(); responseContent = tupleQueryResponse; } else {
@Override protected String getAccept() { return parser.getTupleQueryResultFormat().getDefaultMIMEType(); } }
servletOutputStream.close(); final TupleQueryResult res = QueryResultIO.parse(new FileInputStream(tmp), TupleQueryResultFormat.forMIMEType(accept)); assertTrue("query: " + query + ", accept: " + accept, _queries2count.get(query) > 0 ? res.hasNext() : !res.hasNext());
TupleQueryResultFormat.values());
QueryResultFormat format = TupleQueryResultFormat.matchMIMEType(mimeType, tqrFormats).orElseThrow( () -> new RepositoryException("Server responded with an unsupported file format: " + mimeType)); TupleQueryResultParser parser = QueryResultIO.createTupleParser(format, getValueFactory());
private Response buildQueryResponse(final ContentType format, final String query, final QueryType queryType) throws Exception { StreamingOutput entity = new StreamingOutput() { @Override public void write(OutputStream output) throws IOException, WebApplicationException { try { sparqlService.query(QueryLanguage.SPARQL, query, output, format.getMime(), configurationService.getIntConfiguration("sparql.timeout", 60)); } catch (MarmottaException | MalformedQueryException ex) { throw new WebApplicationException(ex.getCause(), Response.status(Response.Status.BAD_REQUEST).entity(WebServiceUtil.jsonErrorResponse(ex)).build()); } catch (TimeoutException e) { throw new WebApplicationException(e.getCause(), Response.status(Response.Status.GATEWAY_TIMEOUT).entity(WebServiceUtil.jsonErrorResponse(e)).build()); } } }; final ResponseBuilder responseBuilder = Response.ok().entity(entity).header(CONTENT_TYPE, format.getMime()); final TupleQueryResultFormat fmt = QueryResultIO.getWriterFormatForMIMEType(format.getMime()); if (fmt != null && !"html".equals(fmt.getDefaultFileExtension())) { responseBuilder.header("Content-Disposition", String.format("attachment; filename=\"%s.%s\"", queryType.toString().toLowerCase(), fmt.getDefaultFileExtension())); } return responseBuilder.build(); }
log.debug("Executing SPARQL tuple query: {}", query.replaceAll("\\s*[\\r\\n]+\\s*", " ").trim()); TupleQueryResultFormat format = TupleQueryResultFormat.JSON; CloseableHttpResponse response = client.post(target, query, format.getDefaultMIMEType()); final int status = response.getStatusLine().getStatusCode(); log.debug("Request resolved with {} status code: {}", status, response.getStatusLine().getReasonPhrase());
.forMIMEType(t.getMimeType());
formats.addAll(TupleQueryResultFormat.values()); for (FileFormat f: formats) { final String formatUri = w3cFormatID.get(f);
QueryResultFormat format = TupleQueryResultFormat.matchMIMEType(mimeType, tqrFormats).orElseThrow( () -> new RepositoryException("Server responded with an unsupported file format: " + mimeType));
private Response buildQueryResponse(final ContentType format, final String query, final QueryType queryType) throws Exception { StreamingOutput entity = new StreamingOutput() { @Override public void write(OutputStream output) throws IOException, WebApplicationException { try { sparqlService.query(QueryLanguage.SPARQL, query, output, format.getMime(), configurationService.getIntConfiguration("sparql.timeout", 60)); } catch (MarmottaException | MalformedQueryException ex) { throw new WebApplicationException(ex.getCause(), Response.status(Response.Status.BAD_REQUEST).entity(WebServiceUtil.jsonErrorResponse(ex)).build()); } catch (TimeoutException e) { throw new WebApplicationException(e.getCause(), Response.status(Response.Status.GATEWAY_TIMEOUT).entity(WebServiceUtil.jsonErrorResponse(e)).build()); } } }; final ResponseBuilder responseBuilder = Response.ok().entity(entity).header(CONTENT_TYPE, format.getMime()); final TupleQueryResultFormat fmt = QueryResultIO.getWriterFormatForMIMEType(format.getMime()); if (fmt != null && !"html".equals(fmt.getDefaultFileExtension())) { responseBuilder.header("Content-Disposition", String.format("attachment; filename=\"%s.%s\"", queryType.toString().toLowerCase(), fmt.getDefaultFileExtension())); } return responseBuilder.build(); }
/** Test the default mime type for each {@link TupleQueryResultFormat}. */ @SuppressWarnings({ "rawtypes", "unchecked" }) public void test_conneg_sparql_result_set_01() { for (TupleQueryResultFormat format : TupleQueryResultFormat.values()) { final ConnegUtil util = new ConnegUtil(format.getDefaultMIMEType()); if (!format.getName().equals("SPARQL/JSON")) { assertNull(format.getName(), util.getRDFFormat()); } assertEquals(format.getName(), format, util.getTupleQueryResultFormat()); assertSameArray(new ConnegScore[] {// new ConnegScore(1f, format) },// util.getScores(TupleQueryResultFormat.class)); } }
acceptStr = TupleQueryResultFormat.SPARQL.getDefaultMIMEType(); break; case DESCRIBE: fileExt = "xml"; } else { mimeType = format.getDefaultMIMEType(); charset = format.getCharset(); fileExt = format.getDefaultFileExtension();
get.setHeader(ACCEPT, JSON.getDefaultMIMEType());
.forMIMEType(t.getMimeType());
formats.addAll(TupleQueryResultFormat.values()); for (FileFormat f: formats) { final String formatUri = w3cFormatID.get(f);
TupleQueryResultFormat format = TupleQueryResultFormat.matchMIMEType("application/x-binary-rdf-results-table", tqrFormats); TupleQueryResultParser parser = QueryResultIO.createParser(format, valueFactory); FileInputStream in = new FileInputStream(tmp);
get.setHeader(ACCEPT, JSON.getDefaultMIMEType());