public void evaluate(TupleQueryResultHandler handler) throws QueryEvaluationException, TupleQueryResultHandlerException { con.loadDataset(sailQuery.getActiveDataset()); ((TupleQuery)sailQuery).evaluate(handler); } }
public static RepositoryResult<Statement> getStatementsSparql(RepositoryConnection conn, Resource subj, IRI pred, Value obj, boolean includeInferred, String language, KnowledgeBase aKB) throws QueryEvaluationException { String QUERY = SPARQLQueryStore.queryForStatementLanguageFiltered(aKB, language); TupleQuery tupleQuery = conn.prepareTupleQuery(QueryLanguage.SPARQL, QUERY); if (subj != null) { tupleQuery.setBinding("s", subj); } if (pred != null) { tupleQuery.setBinding("p", pred); } if (obj != null) { tupleQuery.setBinding("o", obj); } tupleQuery.setIncludeInferred(includeInferred); TupleQueryResult result = tupleQuery.evaluate(); ExceptionConvertingIteration<Statement, RepositoryException> eci = getExceptionConvertingIteration(result, "s", "p", "o"); return new RepositoryResult<Statement>(eci); }
@Override public List<KBHandle> list(KnowledgeBase aKB, IRI aType, boolean aIncludeInferred, boolean aAll, int aLimit) throws QueryEvaluationException { Set<KBHandle> labels = getSubPropertyLabels(aKB); List<KBHandle> resultList = read(aKB, (conn) -> { String QUERY = SPARQLQueryStore.listInstances(aKB, labels); TupleQuery tupleQuery = conn.prepareTupleQuery(QueryLanguage.SPARQL, QUERY); tupleQuery.setBinding("pTYPE", aKB.getTypeIri()); tupleQuery.setBinding("oPROPERTY", aType); tupleQuery.setBinding("pLABEL", aKB.getLabelIri()); tupleQuery.setBinding("pDESCRIPTION", aKB.getDescriptionIri()); tupleQuery.setBinding("pSUBPROPERTY", aKB.getSubPropertyIri()); tupleQuery.setIncludeInferred(aIncludeInferred); return evaluateListQuery(aKB, tupleQuery, aAll, "s"); }); resultList.sort(Comparator.comparing(KBObject::getUiLabel)); return resultList; }
query.setBinding((String)parameters[i], (Value)parameters[i + 1]); () -> new ImmutableTupleQueryResult(query.evaluate())))
TupleQuery tupleQuery = prepareTupleQuery(SPARQL, EVERYTHING_WITH_GRAPH); setBindings(tupleQuery, subj, pred, obj, contexts); tupleQuery.setIncludeInferred(includeInferred); qRes = tupleQuery.evaluate(); result = new RepositoryResult<Statement>( new ExceptionConvertingIteration<Statement, RepositoryException>(
query.setMaxQueryTime(2); TupleQueryResult result = query.evaluate(); result.hasNext(); fail("Query should have been interrupted");
private int size(IRI defaultGraph) throws RepositoryException, MalformedQueryException, QueryEvaluationException { TupleQuery qry = testCon.prepareTupleQuery(QueryLanguage.SPARQL, "SELECT * { ?s ?p ?o }"); DatasetImpl dataset = new DatasetImpl(); dataset.addDefaultGraph(defaultGraph); qry.setDataset(dataset); TupleQueryResult result = qry.evaluate(); try { int count = 0; while (result.hasNext()) { result.next(); count++; } return count; } finally { result.close(); } }
@Override public TupleQuery prepare(ParsedTupleQuery tupleQuery) { TupleQuery query = new SailTupleQuery(tupleQuery, con); query.setIncludeInferred(includeInferred); return query; }
/** * * @param aIri an IRI, e.g. "http://www.wikidata.org/entity/Q3" * @param aLimit maximum number of results * @param aKb the Knowledge Base * @return a query to retrieve the semantic signature */ public static TupleQuery generateSemanticSignatureQuery(RepositoryConnection conn, String aIri, int aLimit, KnowledgeBase aKb) { ValueFactory vf = SimpleValueFactory.getInstance(); String query = String.join("\n", SPARQL_PREFIX, "SELECT DISTINCT ?label ?p WHERE ", " {", " { ?e1 ?rd ?m . ?m ?p ?e2 . }", " UNION", " { ?e2 ?p ?m . ?m ?rr ?e1 . }", " ?e1 ?labelIri ?label. ", " }", " LIMIT " + aLimit); TupleQuery tupleQuery = conn.prepareTupleQuery(QueryLanguage.SPARQL, query); tupleQuery.setBinding("language", vf.createLiteral((aKb.getDefaultLanguage() != null) ? aKb.getDefaultLanguage() : "en")); tupleQuery.setBinding("e2", vf.createIRI(aIri)); tupleQuery.setBinding("labelIri", aKb.getLabelIri()); return tupleQuery; } }
@Override public boolean statementsMatchSPO(KnowledgeBase akb, KBStatement mockStatement) { try (RepositoryConnection conn = kbService.getConnection(akb)) { ValueFactory vf = conn.getValueFactory(); String QUERY = "SELECT * WHERE { ?s ?p ?o . }"; TupleQuery tupleQuery = conn.prepareTupleQuery(QueryLanguage.SPARQL, QUERY); tupleQuery.setBinding("s", vf.createIRI(mockStatement.getInstance().getIdentifier())); tupleQuery.setBinding("p", vf.createIRI(mockStatement.getProperty().getIdentifier())); InceptionValueMapper mapper = new InceptionValueMapper(); tupleQuery.setBinding("o", mapper.mapStatementValue(mockStatement, vf)); try (TupleQueryResult result = tupleQuery.evaluate()) { return result.hasNext(); } } }
@Override public List<KBHandle> listProperties(KnowledgeBase aKB, IRI aType, boolean aIncludeInferred, boolean aAll) throws QueryEvaluationException { Set<KBHandle> labels = getSubPropertyLabels(aKB); List<KBHandle> resultList = read(aKB, (conn) -> { String QUERY = SPARQLQueryStore.queryForPropertyList(aKB, labels); TupleQuery tupleQuery = conn.prepareTupleQuery(QueryLanguage.SPARQL, QUERY); tupleQuery.setBinding("pTYPE", aKB.getTypeIri()); tupleQuery.setBinding("oPROPERTY", aType); tupleQuery.setBinding("pLABEL", aKB.getPropertyLabelIri()); tupleQuery.setBinding("pDESCRIPTION", aKB.getPropertyDescriptionIri()); tupleQuery.setBinding("pSUBPROPERTY", aKB.getSubPropertyIri()); tupleQuery.setIncludeInferred(aIncludeInferred); return evaluateListQuery(aKB, tupleQuery, aAll, "s"); }); resultList.sort(Comparator.comparing(KBObject::getUiLabel)); return resultList; }
TupleQuery tupleQuery = prepareTupleQuery(SPARQL, EVERYTHING_WITH_GRAPH); setBindings(tupleQuery, subj, pred, obj, contexts); tupleQuery.setIncludeInferred(includeInferred); qRes = tupleQuery.evaluate(); result = new RepositoryResult<Statement>( new ExceptionConvertingIteration<Statement, RepositoryException>(
@Override public TupleQuery prepare(ParsedTupleQuery tupleQuery) { TupleQuery query = new SailConnectionTupleQuery(tupleQuery, con); query.setIncludeInferred(includeInferred); return query; }
/** * * @param aIri an IRI, e.g. "http://www.wikidata.org/entity/Q3" * @param aLimit maximum number of results * @param aKb the Knowledge Base * @return a query to retrieve the semantic signature */ public static TupleQuery generateSemanticSignatureQuery(RepositoryConnection conn, String aIri, int aLimit, KnowledgeBase aKb) { ValueFactory vf = SimpleValueFactory.getInstance(); String query = String.join("\n", SPARQL_PREFIX, "SELECT DISTINCT ?label ?p WHERE ", " {", " { ?e1 ?rd ?m . ?m ?p ?e2 . }", " UNION", " { ?e2 ?p ?m . ?m ?rr ?e1 . }", " ?e1 ?labelIri ?label. ", " }", " LIMIT " + aLimit); TupleQuery tupleQuery = conn.prepareTupleQuery(QueryLanguage.SPARQL, query); tupleQuery.setBinding("language", vf.createLiteral((aKb.getDefaultLanguage() != null) ? aKb.getDefaultLanguage() : "en")); tupleQuery.setBinding("e2", vf.createIRI(aIri)); tupleQuery.setBinding("labelIri", aKb.getLabelIri()); return tupleQuery; } }
public TupleQueryResult evaluate() throws QueryEvaluationException { con.loadDataset(sailQuery.getActiveDataset()); return ((TupleQuery)sailQuery).evaluate(); }
public static RepositoryResult<Statement> getStatementsSparql(RepositoryConnection conn, Resource subj, IRI pred, Value obj, boolean includeInferred, String language, KnowledgeBase aKB) throws QueryEvaluationException { String QUERY = SPARQLQueryStore.queryForStatementLanguageFiltered(aKB, language); TupleQuery tupleQuery = conn.prepareTupleQuery(QueryLanguage.SPARQL, QUERY); if (subj != null) { tupleQuery.setBinding("s", subj); } if (pred != null) { tupleQuery.setBinding("p", pred); } if (obj != null) { tupleQuery.setBinding("o", obj); } tupleQuery.setIncludeInferred(includeInferred); TupleQueryResult result = tupleQuery.evaluate(); ExceptionConvertingIteration<Statement, RepositoryException> eci = getExceptionConvertingIteration(result, "s", "p", "o"); return new RepositoryResult<Statement>(eci); }
@Override public boolean statementsMatchSPO(KnowledgeBase akb, KBStatement mockStatement) { try (RepositoryConnection conn = kbService.getConnection(akb)) { ValueFactory vf = conn.getValueFactory(); String QUERY = "SELECT * WHERE { ?s ?p ?o . }"; TupleQuery tupleQuery = conn.prepareTupleQuery(QueryLanguage.SPARQL, QUERY); tupleQuery.setBinding("s", vf.createIRI(mockStatement.getInstance().getIdentifier())); tupleQuery.setBinding("p", vf.createIRI(mockStatement.getProperty().getIdentifier())); InceptionValueMapper mapper = new InceptionValueMapper(); tupleQuery.setBinding("o", mapper.mapStatementValue(mockStatement, vf)); try (TupleQueryResult result = tupleQuery.evaluate()) { return result.hasNext(); } } }
@Override public List<KBHandle> listProperties(KnowledgeBase aKB, IRI aType, boolean aIncludeInferred, boolean aAll) throws QueryEvaluationException { Set<KBHandle> labels = getSubPropertyLabels(aKB); List<KBHandle> resultList = read(aKB, (conn) -> { String QUERY = SPARQLQueryStore.queryForPropertyList(aKB, labels); TupleQuery tupleQuery = conn.prepareTupleQuery(QueryLanguage.SPARQL, QUERY); tupleQuery.setBinding("pTYPE", aKB.getTypeIri()); tupleQuery.setBinding("oPROPERTY", aType); tupleQuery.setBinding("pLABEL", aKB.getPropertyLabelIri()); tupleQuery.setBinding("pDESCRIPTION", aKB.getPropertyDescriptionIri()); tupleQuery.setBinding("pSUBPROPERTY", aKB.getSubPropertyIri()); tupleQuery.setIncludeInferred(aIncludeInferred); return evaluateListQuery(aKB, tupleQuery, aAll, "s"); }); resultList.sort(Comparator.comparing(KBObject::getUiLabel)); return resultList; }
TupleQuery tupleQuery = prepareTupleQuery(SPARQL, EVERYTHING_WITH_GRAPH); setBindings(tupleQuery, subj, pred, obj, contexts); tupleQuery.setIncludeInferred(includeInferred); qRes = tupleQuery.evaluate(); result = new RepositoryResult<Statement>( new ExceptionConvertingIteration<Statement, RepositoryException>(
@Override public TupleQuery prepare(ParsedTupleQuery tupleQuery) { TupleQuery query = new SailConnectionTupleQuery(tupleQuery, con); query.setIncludeInferred(includeInferred); return query; }