final ResultSetRewindable r = ResultSetFactory.copyResults(results); ResultSetFormatter.out(System.out, r, query); r.reset(); ResultSetFormatter.out(ps, r, query); // Continue as you were
ResultSetRewindable result = ResultSetFactory.makeRewindable( rmParliament.selectQuery(select) ); System.out.println(ResultSetFormatter.asText(result)); result.reset(); // back to the start ResultSetFormatter.outputAsRDF(System.out, "RDF/XML", result);
final QueryExecution exec = ...; final ResultSetRewindable r = ResultSetFactory.copyResults(exec.execSelect()); exec.close(); // Assuming slf4j if( logger.isDebugEnabled() ) { final ByteArrayOutputStream results = new ByteArrayOutputStream(); ResultSetFactory.out(results,r); r.reset(); logger.debug("Rendering query solution:\n{}", results); } // Continue on like you normally would
public static SortedSet<String> getStringSetForVariableFromResultSet( ResultSetRewindable rs, String variable) { final SortedSet<String> result = new TreeSet<>(); @SuppressWarnings("unchecked") final List<QuerySolution> l = ResultSetFormatter.toList(rs); for (QuerySolution resultBinding : l) { result.add(resultBinding.get(variable).toString()); } rs.reset(); return result; }
private static ResultSetRewindable test(ResultSetRewindable resultSet) { resultSet.reset(); ByteArrayOutputStream out = new ByteArrayOutputStream() ; BinRDF.writeResultSet(out, resultSet, true) ; resultSet.reset(); ByteArrayInputStream in = new ByteArrayInputStream(out.toByteArray()) ; ResultSet rs$ = BinRDF.readResultSet(in) ; ResultSetRewindable resultSet2 = ResultSetFactory.makeRewindable(rs$) ; // Includes bnode labels. ResultSetCompare.equalsExact(resultSet, resultSet2) ; resultSet.reset(); resultSet2.reset(); return resultSet2 ; }
public static void logResults(final String name, final ResultSetRewindable results) { if (_logger.isLoggable(Level.WARNING)) { _logger.warning(name + " (" + results.size() + ")"); results.reset(); final ByteArrayOutputStream out = new ByteArrayOutputStream(); ResultSetFormatter.output(out, results, ResultsFormat.FMT_RDF_TTL); _logger.warning("\n" + out.toString()); } } }
@Test public void test_RS_1() { ResultSetRewindable rs1 = new ResultSetMem() ; ByteArrayOutputStream arr = new ByteArrayOutputStream() ; ResultSetFormatter.outputAsXML(arr, rs1) ; rs1.reset() ; ByteArrayInputStream ins = new ByteArrayInputStream(arr.toByteArray()) ; ResultSet rs2 = ResultSetFactory.fromXML(ins) ; assertTrue(ResultSetCompare.equalsByTerm(rs1, rs2)) ; }
@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)) ; }
@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)) ; }
@Test public void test_RS_2() { ResultSetRewindable rs1 = makeRewindable("x", org.apache.jena.graph.NodeFactory.createURI("tag:local")) ; ByteArrayOutputStream arr = new ByteArrayOutputStream() ; ResultSetFormatter.outputAsXML(arr, rs1) ; rs1.reset() ; ByteArrayInputStream ins = new ByteArrayInputStream(arr.toByteArray()) ; ResultSet rs2 = ResultSetFactory.fromXML(ins) ; assertTrue(ResultSetCompare.equalsByTerm(rs1, rs2)) ; }
@Test public void test_RS_cmp_5() { // Same variable, different values ResultSetRewindable rs1 = makeRewindable("x", org.apache.jena.graph.NodeFactory.createURI("tag:local:1")) ; ResultSetRewindable rs2 = makeRewindable("x", org.apache.jena.graph.NodeFactory.createURI("tag:local:2")) ; assertFalse(ResultSetCompare.equalsByTerm(rs1, rs2)) ; rs1.reset() ; rs2.reset() ; assertFalse(ResultSetCompare.equalsByTerm(rs1, rs2)) ; }
@Test public void test_RS_cmp_6() { // Different variable, same values ResultSetRewindable rs1 = makeRewindable("x", org.apache.jena.graph.NodeFactory.createURI("tag:local")) ; ResultSetRewindable rs2 = makeRewindable("y", org.apache.jena.graph.NodeFactory.createURI("tag:local")) ; assertFalse(ResultSetCompare.equalsByTermAndOrder(rs1, rs2)) ; rs1.reset() ; rs2.reset() ; assertFalse(ResultSetCompare.equalsByTerm(rs1, rs2)) ; }
@Test public void test_RS_1_str() { ResultSetRewindable rs1 = new ResultSetMem() ; String x = ResultSetFormatter.asXMLString(rs1) ; rs1.reset() ; InputStream in = new ByteArrayInputStream(StrUtils.asUTF8bytes(x)); ResultSet rs2 = ResultSetFactory.fromXML(in) ; assertTrue(ResultSetCompare.equalsByTerm(rs1, rs2)) ; }
@Test public void test_RS_2_str() { ResultSetRewindable rs1 = makeRewindable("x", org.apache.jena.graph.NodeFactory.createURI("tag:local")) ; String x = ResultSetFormatter.asXMLString(rs1) ; rs1.reset() ; InputStream in = new ByteArrayInputStream(StrUtils.asUTF8bytes(x)); ResultSet rs2 = ResultSetFactory.fromXML(in) ; assertTrue(ResultSetCompare.equalsByTerm(rs1, rs2)) ; }
@Test public void test_RS_3() { ResultSetRewindable rs1 = new ResultSetMem() ; Model model = RDFOutput.encodeAsModel(rs1) ; rs1.reset() ; ResultSet rs2 = RDFInput.fromRDF(model) ; assertTrue(ResultSetCompare.equalsByTerm(rs1, rs2)) ; }
private void isotest(String[] rs1$2, String[] rs2$2) { ResultSetRewindable rs1 = ResultSetFactory.makeRewindable(BuilderResultSet.build(SSE.parseItem(StrUtils.strjoinNL(rs1$)))) ; ResultSetRewindable rs2 = ResultSetFactory.makeRewindable(BuilderResultSet.build(SSE.parseItem(StrUtils.strjoinNL(rs2$)))) ; assertTrue(ResultSetCompare.isomorphic(rs1, rs2)) ; rs1.reset() ; rs2.reset() ; assertTrue(ResultSetCompare.equalsByTerm(rs1, rs2)) ; assertTrue(ResultSetCompare.equalsByValue(rs1, rs2)) ; }
@Test public void test_RS_peeking_7() { // Peeking may fail if someone moves backwards in the result set // If we hadn't moved pass the first item this should be safe ResultSetRewindable inner = makeRewindable("x", NodeFactory.createURI("tag:local")); ResultSetPeekable rs = ResultSetFactory.makePeekable(inner); assertTrue(rs.hasNext()); assertNotNull(rs.peek()); // Reset the inner result set independently inner.reset(); // Since we moved the underlying result set backwards but we hadn't gone anywhere // we should still be able to safely access the underlying results assertTrue(rs.hasNext()); }