private static void doConstructQuadsQuery(Prologue prologue, QueryExecution qe, ResultsFormat outputFormat) { if ( outputFormat == null || outputFormat == ResultsFormat.FMT_UNKNOWN ) outputFormat = ResultsFormat.FMT_RDF_TRIG; Dataset ds = qe.execConstructDataset(); writeDataset(prologue, ds, outputFormat) ; }
@Override public Dataset execConstructDataset(Dataset dataset) { beforeExec(); try { return decoratee.execConstructDataset(dataset); } catch(Exception e) { onException(e); // throw new RuntimeException(e); throw e; } finally { afterExec(); } }
@Override public Dataset execConstructDataset() { beforeExec(); try { return decoratee.execConstructDataset(); } catch(Exception e) { onException(e); // throw new RuntimeException(e); throw e; } finally { afterExec(); } }
void runTestConstruct(Query query, QueryExecution qe) { // Do the query! if ( query.isConstructQuad() ){ Dataset resultActual = qe.execConstructDataset(); compareDatasetResults(resultActual, query) ; } else { Model resultsActual = qe.execConstruct() ; compareGraphResults(resultsActual, query) ; } }
@Test public void testARQConstructQuad_ShortForm_3() { String queryString = "CONSTRUCT WHERE { ?s ?p ?o. GRAPH ?g1 {?s1 ?p1 ?o1} }"; Query q = QueryFactory.create(queryString, Syntax.syntaxARQ); QueryExecution qExec = QueryExecutionFactory.create(q, d); Dataset result = qExec.execConstructDataset(); assertTrue(IsoMatcher.isomorphic( d.asDatasetGraph(), result.asDatasetGraph()) ); }
Dataset dataset = queryExecution.execConstructDataset();
Dataset dataset = queryExecution.execConstructDataset();
@Test public void testARQConstructQuad_ShortForm_2() { String queryString = "CONSTRUCT WHERE { GRAPH ?g {?s ?p ?o} }"; Query q = QueryFactory.create(queryString, Syntax.syntaxARQ); QueryExecution qExec = QueryExecutionFactory.create(q, d); Dataset result = qExec.execConstructDataset(); Dataset expected = DatasetFactory.createTxnMem(); expected.addNamedModel(g1.getURI(), m); assertTrue(IsoMatcher.isomorphic( expected.asDatasetGraph(), result.asDatasetGraph()) ); }
@Test public void testARQConstructQuad_bnodes() { String queryString = "PREFIX : <http://example/> CONSTRUCT { :s :p :o GRAPH _:a { :s :p :o1 } } WHERE { }"; Query q = QueryFactory.create(queryString, Syntax.syntaxARQ); QueryExecution qExec = QueryExecutionFactory.create(q, d); Dataset ds = qExec.execConstructDataset() ; assertEquals(1, Iter.count(ds.asDatasetGraph().listGraphNodes())) ; Node n = ds.asDatasetGraph().listGraphNodes().next(); assertTrue(n.isBlank()); Graph g = ds.asDatasetGraph().getGraph(n) ; assertNotNull(g) ; assertFalse(g.isEmpty()) ; }
@Test public void testARQConstructQuad_Duplicate_2() { String queryString = "CONSTRUCT { GRAPH ?g1 {?s ?p ?o} } WHERE { ?s ?p ?o. GRAPH ?g1 {?s1 ?p1 ?o1} }"; Query q = QueryFactory.create(queryString, Syntax.syntaxARQ); QueryExecution qExec = QueryExecutionFactory.create(q, d); Dataset result = qExec.execConstructDataset(); DatasetGraph expected = DatasetGraphFactory.create(); expected.add(g1.asNode(), s.asNode(), p.asNode(), o.asNode()); assertEquals(1, result.asDatasetGraph().size()); assertTrue(IsoMatcher.isomorphic( expected, result.asDatasetGraph()) ); }