@Override public Model getConciseBoundedDescription(String resource, int depth, boolean withTypesForLeafs) { StringBuilder constructTemplate = new StringBuilder("?s0 ?p0 ?o0 ."); for(int i = 1; i <= depth; i++){ constructTemplate.append("?o").append(i-1).append(" ?p").append(i).append(" ?o").append(i).append(" ."); } StringBuilder triplesTemplate = new StringBuilder("?s0 ?p0 ?o0 ."); for(int i = 1; i <= depth; i++){ triplesTemplate.append("OPTIONAL{").append("?o").append(i-1).append(" ?p").append(i).append(" ?o").append(i).append(" ."); } if(resolveBlankNodes){ triplesTemplate.append("?o").append(depth).append("((!<x>|!<y>)/:sameBlank)* ?x . ?x ?px ?ox .filter(!(?p in (:sameIri, :sameBlank)))"); } for(int i = 1; i <= depth; i++){ triplesTemplate.append("}"); } ParameterizedSparqlString query = new ParameterizedSparqlString("prefix : <http://dl-learner.org/ontology/> " + "CONSTRUCT{" + constructTemplate + "}" + " WHERE {" + triplesTemplate + "}"); query.setIri("s0", resource); System.out.println(query); QueryExecution qe = qef.createQueryExecution(query.toString()); Model cbd = qe.execConstruct(); qe.close(); return cbd; }
public BlanknodeResolvingCBDGenerator(Model model) { String query = "prefix : <http://dl-learner.org/ontology/> " + "construct { ?s ?p ?o ; ?type ?s .} " + "where { ?s ?p ?o . bind( if(isIRI(?s),:sameIri,:sameBlank) as ?type )}"; qef = new QueryExecutionFactoryModel(model); QueryExecution qe = qef.createQueryExecution(query); Model extendedModel = qe.execConstruct(); qe.close(); qef = new QueryExecutionFactoryModel(extendedModel); }
private Set<TestCase> generate(QueryExecutionFactoryModel qef, SchemaSource source, TestGenerator testGenerator) { Set<TestCase> tests = new HashSet<>(); Pattern tgPattern = testGenerator.getPattern(); Query q = QueryFactory.create(PrefixNSService.getSparqlPrefixDecl() + testGenerator.getQuery()); try (QueryExecution qe = qef.createQueryExecution(q) ) { qe.execSelect().forEachRemaining(result -> { Optional<TestCase> tc = generateTestFromResult(testGenerator, tgPattern, result, source); tc.ifPresent(tests::add); }); } return tests; }
private Set<TestCase> generate(QueryExecutionFactoryModel qef, SchemaSource source, TestGenerator testGenerator) { Set<TestCase> tests = new HashSet<>(); Pattern tgPattern = testGenerator.getPattern(); Query q = QueryFactory.create(PrefixNSService.getSparqlPrefixDecl() + testGenerator.getQuery()); try (QueryExecution qe = qef.createQueryExecution(q) ) { qe.execSelect().forEachRemaining(result -> { Optional<TestCase> tc = generateTestFromResult(testGenerator, tgPattern, result, source); tc.ifPresent(tests::add); }); } return tests; }
QueryExecution qe = pathSparqlService.createQueryExecution(queryString); ResultSet rs = qe.execSelect();