/** Output a result set in the JSON format * Format: <a href="http://www.w3.org/TR/rdf-sparql-json-res/">Serializing SPARQL Query Results in JSON</a> * JSON: <a href="http://json.org">http://json.org/</a> * @param resultSet result set */ static public void outputAsJSON(ResultSet resultSet) { outputAsJSON(System.out, resultSet) ; }
/** Output a result set in the JSON format * Format: <a href="http://www.w3.org/TR/rdf-sparql-json-res/">Serializing SPARQL Query Results in JSON</a> * JSON: <a href="http://json.org">http://json.org/</a> * * @param booleanResult The boolean result to encode */ static public void outputAsJSON(boolean booleanResult) { outputAsJSON(System.out, booleanResult) ; }
public static void writeJson(OutputStream out, ResultSet rs) { ResultSetFormatter.outputAsJSON(out, rs); }
public static void writeJson(OutputStream out, Boolean value) { ResultSetFormatter.outputAsJSON(out, value); }
private void printJSONQueryResults() { if (_verbose) { System.out.println("/* "); System.out.println(queryString.replace("*/", "* /")); System.out.println("*/ "); } ResultSetFormatter.outputAsJSON(queryResults); }
/** * Converts Jena result set to JSON. * * @param resultSet * The result set to transform, must be rewindable to prevent * errors. * @return JSON representation of the result set. */ public static String convertResultSetToJSON(ResultSet resultSet) { ByteArrayOutputStream baos = new ByteArrayOutputStream(); ResultSetFormatter.outputAsJSON(baos, resultSet); // resultSet.reset(); try { return baos.toString("UTF-8"); } catch (UnsupportedEncodingException e) { // should never happen as UTF-8 is supported throw new Error(e); } }
public static void executeQuery(HttpServletResponse response, Query query, Model model) throws IOException { Dataset dataset = DatasetFactory.create(model); QueryExecution qe = QueryExecutionFactory.create(query, dataset); try { ResultSet results = qe.execSelect(); response.setContentType(RESPONSE_MIME_TYPE); OutputStream out = response.getOutputStream(); ResultSetFormatter.outputAsJSON(out, results); } finally { qe.close(); } }
break; case JSON: ResultSetFormatter.outputAsJSON(outputStream, resultSet); break; case XML:
@Override public void writeToOutput(OutputStream output) { String qString = query.getQueryString(); try { Query q = QueryFactory.create(qString, SYNTAX); QueryExecution qexec = QueryExecutionFactory.create(q, model); try { ResultSetFormatter.outputAsJSON(output, qexec.execSelect()); } finally { qexec.close(); } } catch (Exception e) { log.error("problem while running query '" + qString + "'", e); } }
@Test public void resultset_03() { ResultSet rs = make($rs) ; ByteArrayOutputStream out = new ByteArrayOutputStream() ; ResultSetFormatter.outputAsJSON(out, rs) ; ByteArrayInputStream in = new ByteArrayInputStream(out.toByteArray()) ; ResultSet rs2 = ResultSetFactory.fromJSON(in) ; areIsomorphic(rs, rs2); }
@Override public void writeTo(ResultSet results, Class<?> type, Type genericType, Annotation[] annotations, MediaType mediaType, MultivaluedMap<String, Object> httpHeaders, OutputStream entityStream) throws IOException { if (log.isTraceEnabled()) log.trace("Writing ResultSet with HTTP headers: {} MediaType: {}", httpHeaders, mediaType); // TO-DO: construct Jena's ResultFormat and then pass to ResultSetFormatter.output(outStream, resultSet, rFmt) if (mediaType.isCompatible(com.atomgraph.core.MediaType.APPLICATION_SPARQL_RESULTS_XML_TYPE)) { ResultSetFormatter.outputAsXML(entityStream, results); return; } if (mediaType.isCompatible(com.atomgraph.core.MediaType.APPLICATION_SPARQL_RESULTS_JSON_TYPE)) { ResultSetFormatter.outputAsJSON(entityStream, results); return; } if (mediaType.isCompatible(com.atomgraph.core.MediaType.APPLICATION_SPARQL_RESULTS_CSV_TYPE)) { ResultSetFormatter.outputAsCSV(entityStream, results); return; } if (mediaType.isCompatible(com.atomgraph.core.MediaType.APPLICATION_SPARQL_RESULTS_TSV_TYPE)) { ResultSetFormatter.outputAsTSV(entityStream, results); return; } throw new IllegalStateException("ResultSet MediaType should be writable but no Jena writer matched"); }
public static String createResultSetJSON(String queryString, Model model) { CurrentThreadFunctions old = CurrentThreadFunctionRegistry.register(model); try { Query query = ARQFactory.get().createQuery(model, queryString); try(QueryExecution qexec = ARQFactory.get().createQueryExecution(query, model)) { ResultSet actualResults = qexec.execSelect(); ByteArrayOutputStream os = new ByteArrayOutputStream(); ResultSetFormatter.outputAsJSON(os, actualResults); return os.toString("UTF-8"); } } catch (UnsupportedEncodingException e) { throw ExceptionUtil.throwUnchecked(e); } finally { CurrentThreadFunctionRegistry.unregister(old); } }
public static String createResultSetJSON(String queryString, Model model) { CurrentThreadFunctions old = CurrentThreadFunctionRegistry.register(model); try { Query query = ARQFactory.get().createQuery(model, queryString); try(QueryExecution qexec = ARQFactory.get().createQueryExecution(query, model)) { ResultSet actualResults = qexec.execSelect(); ByteArrayOutputStream os = new ByteArrayOutputStream(); ResultSetFormatter.outputAsJSON(os, actualResults); return os.toString("UTF-8"); } } catch (UnsupportedEncodingException e) { throw ExceptionUtil.throwUnchecked(e); } finally { CurrentThreadFunctionRegistry.unregister(old); } }
break; case JSON: ResultSetFormatter.outputAsJSON(outputStream, resultSet); break; case XML:
break; case JSON: ResultSetFormatter.outputAsJSON(outputStream, resultSet); break; case XML:
@Test public void test_RS_5() { ResultSetRewindable rs1 = new ResultSetMem() ; ByteArrayOutputStream arr = new ByteArrayOutputStream() ; ResultSetFormatter.outputAsJSON(arr, rs1) ; rs1.reset() ; ByteArrayInputStream ins = new ByteArrayInputStream(arr.toByteArray()) ; ResultSet rs2 = ResultSetFactory.fromJSON(ins) ; assertTrue(ResultSetCompare.equalsByTerm(rs1, rs2)) ; }
public static void main(String[] args) { FileManager.get().addLocatorClassLoader(ExampleARQ_02.class.getClassLoader()); Model model = FileManager.get().loadModel("data/data.ttl"); String queryString = "SELECT * { ?s ?p ?o }"; Query query = QueryFactory.create(queryString); QueryExecution qexec = QueryExecutionFactory.create(query, model); try { ResultSetRewindable results = ResultSetFactory.makeRewindable(qexec.execSelect()); System.out.println("---- XML ----"); ResultSetFormatter.outputAsXML(System.out, results); results.reset(); System.out.println("---- Text ----"); ResultSetFormatter.out(System.out, results); results.reset(); System.out.println("\n---- CSV ----"); ResultSetFormatter.outputAsCSV(System.out, results); results.reset(); System.out.println("\n---- TSV ----"); ResultSetFormatter.outputAsTSV(System.out, results); results.reset(); System.out.println("\n---- JSON ----"); ResultSetFormatter.outputAsJSON(System.out, results); results.reset(); } finally { qexec.close(); } }
@Test public void test_RS_6() { ResultSetRewindable rs1 = make2Rewindable("x", org.apache.jena.graph.NodeFactory.createURI("tag:local")) ; ByteArrayOutputStream arr = new ByteArrayOutputStream() ; ResultSetFormatter.outputAsJSON(arr, rs1) ; rs1.reset() ; ByteArrayInputStream ins = new ByteArrayInputStream(arr.toByteArray()) ; ResultSet rs2 = ResultSetFactory.fromJSON(ins) ; // Test using the DAWG examples assertTrue(ResultSetCompare.equalsByTerm(rs1, rs2)) ; }
break; case JSON: ResultSetFormatter.outputAsJSON(outputStream, resultSet); break; case XML:
ResultSetFormatter.outputAsJSON(System.out, b) ; return ;