/** * Create a QueryBuilder for building a construct query * * @return a construct QueryBuilder */ public static QueryBuilder<ParsedGraphQuery> construct() { return new AbstractQueryBuilder<ParsedGraphQuery>(new ParsedGraphQuery()); }
public void handleGraphQuery(ParsedGraphQuery query) { try { init(); Map<String, String> ns = query.getQueryNamespaces(); for (Map.Entry<String, String> e : ns.entrySet()) { rdf.handleNamespace(e.getKey(), e.getValue()); } subject = vf.createBNode(); handleType(SeRQO.GRAPHQUERY); handleChild(SeRQO.TUPLEEXPR, query.getTupleExpr()); rdf.endRDF(); } catch (RDFHandlerException e) { throw new UndeclaredThrowableException(e); } }
private ParsedGraphTemplate(Template template, ParsedGraphQuery query, BindingSet args) { super(query.getSourceString(), query.getTupleExpr(), query.getQueryNamespaces()); setDataset(query.getDataset()); this.template = template; this.args = args; }
private static synchronized CloseableIteration<? extends BindingSet, QueryEvaluationException> evaluateQuery(final String queryStr, final SailConnection sc) throws LocalFailure { ParsedGraphQuery query; try { query = QueryParserUtil.parseGraphQuery(QueryLanguage.SPARQL, queryStr, BASE_URI); } catch (MalformedQueryException e) { throw new LocalFailure(e); } MapBindingSet bindings = new MapBindingSet(); boolean includeInferred = false; try { return sc.evaluate(query.getTupleExpr(), query.getDataset(), bindings, includeInferred); } catch (SailException e) { throw new LocalFailure(e); } } }
customQuery.getTupleExpr().visit(new AbstractQueryModelVisitor<SailException>() {
public void render(ParsedGraphQuery query, RDFHandler handler) throws RDFHandlerException { handler.startRDF(); Resource querySubj = valueFactory.createBNode(); handler.handleStatement(valueFactory.createStatement(querySubj, RDF.TYPE, SP.CONSTRUCT_CLASS)); if (output.text) { handler.handleStatement(valueFactory.createStatement(querySubj, SP.TEXT_PROPERTY, valueFactory.createLiteral(query.getSourceString()))); } if (output.rdf) { TupleExpr expr = query.getTupleExpr(); SpinVisitor visitor = new ConstructVisitor(handler, querySubj, query.getDataset()); expr.visit(visitor); visitor.end(); } handler.endRDF(); }
private void evaluateIntoStatements(ParsedGraphQuery query, Collection<Statement> statements) throws SailException, RDFHandlerException, QueryEvaluationException { CloseableIteration<? extends BindingSet, QueryEvaluationException> bindingsIter = getWrappedConnection().evaluate( query.getTupleExpr(), null, EmptyBindingSet.getInstance(), true); try { ValueFactory factory = getValueFactory(); while (bindingsIter.hasNext()) { BindingSet bindings = bindingsIter.next(); Value subj = bindings.getValue("subject"); Value pred = bindings.getValue("predicate"); Value obj = bindings.getValue("object"); if (subj instanceof Resource && pred instanceof IRI && obj != null) { statements.add(factory.createStatement((Resource)subj, (IRI)pred, obj)); } } } finally { bindingsIter.close(); } } }
public void handleStatement(Statement st) throws RDFHandlerException { Resource subj = st.getSubject(); URI pred = st.getPredicate(); Value obj = st.getObject(); if (pred.equals(RDF.TYPE)) { Object o; if (obj.equals(SeRQO.TUPLEQUERY)) { o = query = new ParsedTupleQuery(); } else if (obj.equals(SeRQO.GRAPHQUERY)) { o = query = new ParsedGraphQuery(statements.getNamespaces()); } else if (obj.equals(RDF.SEQ)) { o = new ArrayList(); } else { o = createNode((URI) obj); } model.put(subj, o); } else { statements.handleStatement(st); } }
throws QueryEvaluationException TupleExpr tupleExpr = getParsedQuery().getTupleExpr(); CloseableIteration<? extends BindingSet, QueryEvaluationException> bindingsIter; bindingsIter = AbstractQueryPreparer.this.evaluate(tupleExpr, getActiveDataset(), getBindings(), getIncludeInferred(), getMaxExecutionTime()); return new GraphQueryResultImpl(getParsedQuery().getQueryNamespaces(), stIter);
private void evaluateIntoStatements(ParsedGraphQuery query, Collection<Statement> statements) throws SailException, RDFHandlerException, QueryEvaluationException { CloseableIteration<? extends BindingSet, QueryEvaluationException> bindingsIter = getWrappedConnection().evaluate( query.getTupleExpr(), null, EmptyBindingSet.getInstance(), true); try { ValueFactory vf = getValueFactory(); while (bindingsIter.hasNext()) { BindingSet bindings = bindingsIter.next(); Value subj = bindings.getValue("subject"); Value pred = bindings.getValue("predicate"); Value obj = bindings.getValue("object"); if (subj instanceof Resource && pred instanceof IRI && obj != null) { statements.add(vf.createStatement((Resource)subj, (IRI)pred, obj)); } } } finally { bindingsIter.close(); } } } // end inner class DirectTypeHierarchyInferencerConnection
/** * Creates a new query based on a tuple expression and original query. The * new query will have the same type null * ({@link org.openrdf.query.TupleQuery}, * {@link org.openrdf.query.GraphQuery} or * {@link org.openrdf.query.BooleanQuery}) as the given original query. * * @param orig the original query * @param expr the expression used for the new query * @return new query based on expression */ protected Query getExprQuery(ParsedQuery orig, TupleExpr expr) { if (orig instanceof ParsedTupleQuery) { return new SailTupleExprQuery( new ParsedTupleQuery(expr), conn); } else if (orig instanceof ParsedGraphQuery) { return new SailGraphExprQuery( new ParsedGraphQuery(expr), conn); } else { return new SailBooleanExprQuery( new ParsedBooleanQuery(expr), conn); } } }
throws QueryEvaluationException TupleExpr tupleExpr = getParsedQuery().getTupleExpr(); return new GraphQueryResultImpl(getParsedQuery().getQueryNamespaces(), stIter);
private ParsedGraphQuery createGraphQuery(AugurStatementNode node) { TupleExpr tupleExpr = node.getTupleExpr(); String subjName = node.getSubjectName(); String predName = node.getPredicateName(); String objName = node.getObjectName(); String ctxName = node.getContextName(); ProjectionElem projSubj = new ProjectionElem(subjName, "subject"); ProjectionElem projPred = new ProjectionElem(predName, "predicate"); ProjectionElem projObj = new ProjectionElem(objName, "object"); ProjectionElem projCtx = new ProjectionElem(ctxName, "context"); ProjectionElemList projElemList = new ProjectionElemList(projSubj, projPred, projObj, projCtx); Projection proj = new Projection(tupleExpr, projElemList); ParsedGraphQuery query = new ParsedGraphQuery(proj); if (logger.isDebugEnabled()) { logger.debug(proj.toString()); } return query; }
public GraphQueryResult evaluate() throws QueryEvaluationException TupleExpr tupleExpr = getParsedQuery().getTupleExpr(); return new IteratingGraphQueryResult(getParsedQuery().getQueryNamespaces(), stIter);
query = new ParsedTupleQuery(string, tupleExpr); } else if (queryNode instanceof ASTConstructQuery) { query = new ParsedGraphQuery(string, tupleExpr, prefixes); } else if (queryNode instanceof ASTAskQuery) { query = new ParsedBooleanQuery(string, tupleExpr); } else if (queryNode instanceof ASTDescribeQuery) { query = new ParsedGraphQuery(string, tupleExpr, prefixes); } else { throw new RuntimeException("Unexpected query type: " + queryNode.getClass());
SesameRDFVisitor visitor = new SesameRDFVisitor(dialect); TupleExpr tuple = visitor.visit((QueryMetadata) definition, queryLanguage); ParsedGraphQuery queryModel = new ParsedGraphQuery(tuple); GraphQuery query = DirectQuery.getQuery(connection, queryModel, queryInference); return (Q) new GraphQueryImpl(query, dialect);
query = new ParsedTupleQuery(queryStr, tupleExpr); } else if (queryNode instanceof ASTConstructQuery) { query = new ParsedGraphQuery(queryStr, tupleExpr, prefixes); } else if (queryNode instanceof ASTAskQuery) { query = new ParsedBooleanQuery(queryStr, tupleExpr); } else if (queryNode instanceof ASTDescribeQuery) { query = new ParsedGraphQuery(queryStr, tupleExpr, prefixes); } else { throw new RuntimeException("Unexpected query type: " + queryNode.getClass());
query = new ParsedGraphQuery(tupleExpr, namespaces);
query = new ParsedGraphQuery(queryStr, tupleExpr, prefixes);
SpinVisitor visitor = new SpinVisitor(store); visitor.visitConstruct(queryResource); return new ParsedGraphQuery(visitor.getTupleExpr());