use of org.eclipse.rdf4j.query.resultio.helpers.QueryResultCollector in project rdf4j by eclipse.
the class SPARQLJSONBooleanTest method testBoolean4.
@Test
public void testBoolean4() throws Exception {
SPARQLBooleanJSONParser parser = new SPARQLBooleanJSONParser(SimpleValueFactory.getInstance());
QueryResultCollector handler = new QueryResultCollector();
parser.setQueryResultHandler(handler);
parser.parseQueryResult(this.getClass().getResourceAsStream("/sparqljson/boolean4.srj"));
assertFalse(handler.getBoolean());
}
use of org.eclipse.rdf4j.query.resultio.helpers.QueryResultCollector in project rdf4j by eclipse.
the class SPARQLJSONTupleBackgroundTest method testBindings1.
@Test
public void testBindings1() throws Exception {
SPARQLResultsJSONParser parser = new SPARQLResultsJSONParser(SimpleValueFactory.getInstance());
QueryResultCollector handler = new QueryResultCollector();
parser.setQueryResultHandler(handler);
InputStream stream = this.getClass().getResourceAsStream("/sparqljson/bindings1.srj");
assertNotNull("Could not find test resource", stream);
parser.parseQueryResult(stream);
// there must be two variables
assertEquals(2, handler.getBindingNames().size());
// first must be called "book", the second "title"
assertEquals("book", handler.getBindingNames().get(0));
assertEquals("title", handler.getBindingNames().get(1));
// should be 7 solutions alltogether
assertEquals(7, handler.getBindingSets().size());
// Results are ordered, so first should be book6
assertEquals("http://example.org/book/book6", handler.getBindingSets().get(0).getValue("book").stringValue());
for (BindingSet b : handler.getBindingSets()) {
assertNotNull(b.getValue("book"));
assertNotNull(b.getValue("title"));
assertTrue(b.getValue("book") instanceof IRI);
assertTrue(b.getValue("title") instanceof Literal);
IRI book = (IRI) b.getValue("book");
if (book.stringValue().equals("http://example.org/book/book6")) {
assertEquals("Harry Potter and the Half-Blood Prince", b.getValue("title").stringValue());
} else if (book.stringValue().equals("http://example.org/book/book7")) {
assertEquals("Harry Potter and the Deathly Hallows", b.getValue("title").stringValue());
} else if (book.stringValue().equals("http://example.org/book/book5")) {
assertEquals("Harry Potter and the Order of the Phoenix", b.getValue("title").stringValue());
} else if (book.stringValue().equals("http://example.org/book/book4")) {
assertEquals("Harry Potter and the Goblet of Fire", b.getValue("title").stringValue());
} else if (book.stringValue().equals("http://example.org/book/book2")) {
assertEquals("Harry Potter and the Chamber of Secrets", b.getValue("title").stringValue());
} else if (book.stringValue().equals("http://example.org/book/book3")) {
assertEquals("Harry Potter and the Prisoner Of Azkaban", b.getValue("title").stringValue());
} else if (book.stringValue().equals("http://example.org/book/book1")) {
assertEquals("Harry Potter and the Philosopher's Stone", b.getValue("title").stringValue());
} else {
fail("Found unexpected binding set in result: " + b.toString());
}
}
}
use of org.eclipse.rdf4j.query.resultio.helpers.QueryResultCollector in project rdf4j by eclipse.
the class SPARQLJSONTupleBackgroundTest method testNonStandardDistinctOrdered.
@Test
public void testNonStandardDistinctOrdered() throws Exception {
SPARQLResultsJSONParser parser = new SPARQLResultsJSONParser(SimpleValueFactory.getInstance());
QueryResultCollector handler = new QueryResultCollector();
parser.setQueryResultHandler(handler);
InputStream stream = this.getClass().getResourceAsStream("/sparqljson/non-standard-distinct-ordered.srj");
assertNotNull("Could not find test resource", stream);
parser.parseQueryResult(stream);
// there must be 1 variable
assertEquals(1, handler.getBindingNames().size());
// first must be called "Concept", etc.,
assertEquals("Concept", handler.getBindingNames().get(0));
// -1 results
assertEquals(100, handler.getBindingSets().size());
}
use of org.eclipse.rdf4j.query.resultio.helpers.QueryResultCollector in project rdf4j by eclipse.
the class QueryResultIO method parseBoolean.
/**
* Parses a boolean query result document and returns the parsed value.
*
* @param in
* An InputStream to read the query result document from.
* @param format
* The file format of the document to parse.
* @return A boolean representing the result of parsing the given InputStream.
* @throws IOException
* If an I/O error occured while reading the query result document from the stream.
* @throws UnsupportedQueryResultFormatException
* If an unsupported query result file format was specified.
*/
public static boolean parseBoolean(InputStream in, QueryResultFormat format) throws IOException, QueryResultParseException, UnsupportedQueryResultFormatException {
BooleanQueryResultParser parser = createBooleanParser(format);
try {
QueryResultCollector handler = new QueryResultCollector();
parser.setQueryResultHandler(handler);
parser.parseQueryResult(in);
if (handler.getHandledBoolean()) {
return handler.getBoolean();
} else {
throw new QueryResultParseException("Did not find a boolean result");
}
} catch (QueryResultHandlerException e) {
throw new QueryResultParseException(e);
}
}
use of org.eclipse.rdf4j.query.resultio.helpers.QueryResultCollector in project rdf4j by eclipse.
the class SPARQLJSONTupleTest method testNonStandardOrdered.
@Test
public void testNonStandardOrdered() throws Exception {
SPARQLResultsJSONParser parser = new SPARQLResultsJSONParser(SimpleValueFactory.getInstance());
QueryResultCollector handler = new QueryResultCollector();
parser.setQueryResultHandler(handler);
InputStream stream = this.getClass().getResourceAsStream("/sparqljson/non-standard-ordered.srj");
assertNotNull("Could not find test resource", stream);
parser.parseQueryResult(stream);
// there must be 1 variable
assertEquals(1, handler.getBindingNames().size());
// first must be called "Concept", etc.,
assertEquals("Concept", handler.getBindingNames().get(0));
// -1 results
assertEquals(100, handler.getBindingSets().size());
}
Aggregations