/** * Add a triple to the construct statement. * @param t The triple to add. */ public void addConstruct(Triple t) { constructs.add(t); query.setConstructTemplate(new Template(BasicPattern.wrap(constructs))); }
/** * Add all the construct handlers from the handler argument to this construct. * @param handler The construct handler to copy from. */ public void addAll(ConstructHandler handler) { constructs.addAll(handler.constructs); query.setConstructTemplate(new Template(BasicPattern.wrap(constructs))); }
/** * Add a triple to the construct statement. * @param t The triple to add. */ public void addConstruct(Triple t) { constructs.add(t); query.setConstructTemplate(new Template(BasicPattern.wrap(constructs))); }
/** * Add all the construct handlers from the handler argument to this construct. * @param handler The construct handler to copy from. */ public void addAll(ConstructHandler handler) { constructs.addAll(handler.constructs); query.setConstructTemplate(new Template(BasicPattern.wrap(constructs))); }
@Override public void setVars(Map<Var, Node> values) { if (values.isEmpty()) { return; } AbstractRewriter<Node> rw = new AbstractRewriter<Node>(values) { }; query.setConstructTemplate(new Template(BasicPattern.wrap(rw .rewrite(constructs)))); }
@Override public void setVars(Map<Var, Node> values) { if (values.isEmpty()) { return; } AbstractRewriter<Node> rw = new AbstractRewriter<Node>(values) { }; query.setConstructTemplate(new Template(BasicPattern.wrap(rw .rewrite(constructs)))); }
/** * Deprecated, because with the construct approach we cannot get a tripe's context resource * * @param concepts * @param filter * @return */ @Deprecated public static Query createQueryConstruct(List<Concept> concepts, Concept filter) { Template template = new Template(BasicPattern.wrap(Collections.singletonList(Triples.spo))); List<Concept> tmps = new ArrayList<Concept>(); for(Concept concept : concepts) { Concept tmp = ConceptOps.intersect(concept, filter, null); tmps.add(tmp); } List<Element> elements = new ArrayList<Element>(); for(Concept concept : tmps) { Element e = concept.getElement(); elements.add(e); } Element element = ElementUtils.union(elements); Query result = new Query(); result.setQueryConstructType(); result.setConstructTemplate(template); result.setQueryPattern(element); return result; }
final public Template ConstructTemplate() throws ParseException { QuadAcc acc = new QuadAcc() ; Template t = new Template (acc); setInConstructTemplate(true) ; jj_consume_token(LBRACE); ConstructQuads(acc); jj_consume_token(RBRACE); setInConstructTemplate(false) ; {if (true) return t ;} throw new Error("Missing return statement in function"); }
Template template = new Template(bgp);
public static MappedConcept<Graph> query(Query query, Var partitionVar) { Assert.isTrue(query.isConstructType()); Template template = query.getConstructTemplate(); BasicPattern bgp = template.getBGP(); BasicPattern newBgp = allocVarsForBlankNodes(bgp); //Element e = new Element Element newElement = new ElementTriplesBlock(newBgp); Template newTemplate = new Template(newBgp); Concept concept = new Concept(newElement, partitionVar); Agg<Graph> agg = AggGraph.create(newTemplate); MappedConcept<Graph> result = MappedConcept.create(concept, agg); return result; } }
public static MappedConcept<Graph> createMappedConcept(Query query) { // TODO We need to include the triple direction in var ?z BasicPattern bgp = new BasicPattern(); bgp.add(new Triple(Vars.s, Vars.p, Vars.o)); Template template = new Template(bgp); //Agg<Map<Node, Graph>> agg = AggMap.create(new BindingMapperExpr(new ExprVar(Vars.g)), new AggGraph(template)); Agg<Graph> agg = new AggGraph(template, Vars.z); Concept concept = new Concept(new ElementSubQuery(query), Vars.x); MappedConcept<Graph> result = new MappedConcept<Graph>(concept, agg); return result; }
/** * Constructor. * @param query A Jena Query. This engine does not use all parts of the Query hierarchy. * @param datasetGraph The MarkLogic instance viewed through Jena. Must be a MarkLogicDatasetGraph. * @param initial Bindings for the query. * @param context */ private MarkLogicQueryEngine(Query query, DatasetGraph datasetGraph, Binding initial, Context context) { super(query, datasetGraph, initial, context); bgp = new BasicPattern(); bgp.add(new Triple( Var.alloc("s"), Var.alloc("p"), Var.alloc("o"))); template = new Template(bgp); this.markLogicDatasetGraph = (MarkLogicDatasetGraph) datasetGraph; this.initial = initial; }
public final Template constructTemplate() throws RecognitionException { Template value = null; BasicPattern a =null; try { // org/aksw/sparqlify/config/lang/SparqlifyConfigTree.g:710:5: ( ^( CONSTRUCT_TRIPLES a= constructTriples ) ) // org/aksw/sparqlify/config/lang/SparqlifyConfigTree.g:710:7: ^( CONSTRUCT_TRIPLES a= constructTriples ) { match(input,CONSTRUCT_TRIPLES,FOLLOW_CONSTRUCT_TRIPLES_in_constructTemplate3295); match(input, Token.DOWN, null); pushFollow(FOLLOW_constructTriples_in_constructTemplate3299); a=constructTriples(); state._fsp--; match(input, Token.UP, null); value = new Template(a); } } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { // do for sure before leaving } return value; } // $ANTLR end "constructTemplate"
public final Template constructTemplate() throws RecognitionException { Template value = null; BasicPattern a =null; try { // org/aksw/sparqlify/config/lang/SparqlifyConfigTree.g:710:5: ( ^( CONSTRUCT_TRIPLES a= constructTriples ) ) // org/aksw/sparqlify/config/lang/SparqlifyConfigTree.g:710:7: ^( CONSTRUCT_TRIPLES a= constructTriples ) { match(input,CONSTRUCT_TRIPLES,FOLLOW_CONSTRUCT_TRIPLES_in_constructTemplate3295); match(input, Token.DOWN, null); pushFollow(FOLLOW_constructTriples_in_constructTemplate3299); a=constructTriples(); state._fsp--; match(input, Token.UP, null); value = new Template(a); } } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { // do for sure before leaving } return value; } // $ANTLR end "constructTemplate"
public static Query constructBySubjects(Collection<Node> ss) { ExprVar vs = new ExprVar(s); Query query = QueryFactory.create(); query.setQueryConstructType(); query.setDistinct(true); Triple triple = new Triple(s, p, o); ElementGroup group = new ElementGroup(); group.addTriplePattern(triple); List<Expr> exprs = new ArrayList<Expr>(); for(Node item : ss) { if(!item.isURI()) { continue; } exprs.add(new E_Equals(vs, NodeValue.makeNode(item))); } if(exprs.isEmpty()) { return null; } Expr or = ExprUtils.orifyBalanced(exprs); group.addElementFilter(new ElementFilter(or)); BasicPattern bgp = new BasicPattern(); bgp.add(triple); query.setConstructTemplate(new Template(bgp)); query.setQueryPattern(group); return query; }
final public Template ConstructTemplate() throws ParseException { TripleCollectorBGP acc = new TripleCollectorBGP(); Template t = new Template(acc.getBGP()) ; setInConstructTemplate(true) ; jj_consume_token(LBRACE);
public static Query constructBySubject(Node s) { Triple triple = new Triple(s, p, o); BasicPattern basicPattern = new BasicPattern(); basicPattern.add(triple); Template template = new Template(basicPattern); ElementGroup elementGroup = new ElementGroup(); ElementPathBlock pathBlock = new ElementPathBlock(); elementGroup.addElement(pathBlock); pathBlock.addTriple(triple); Query query = new Query(); query.setQueryConstructType(); query.setConstructTemplate(template); query.setQueryPattern(elementGroup); return query; }
t = new Template(tg.getBGP());
public static Query createQueryTriple(Triple m) { Query query = new Query(); query.setQueryConstructType(); /* Node s = m.getMatchSubject(); Node p = m.getMatchPredicate(); Node o = m.getMatchObject(); */ Node s = m.getSubject(); Node p = m.getPredicate(); Node o = m.getObject(); s = s == null || s.equals(Node.ANY) ? Vars.s : s; p = p == null || p.equals(Node.ANY) ? Vars.p : p; o = o == null || o.equals(Node.ANY) ? Vars.o : o; Triple triple = new Triple(s, p, o); BasicPattern bgp = new BasicPattern(); bgp.add(triple); Template template = new Template(bgp); Element element = new ElementTriplesBlock(bgp); query.setConstructTemplate(template); query.setQueryPattern(element); return query; }
public static Query inOutTemplate(Node s, Node p, Node o) { Query query = QueryFactory.create(); query.setQueryConstructType(); query.setDistinct(true); Triple triple = new Triple(s, p, o); ElementGroup group = new ElementGroup(); group.addTriplePattern(triple); // Avoid non-uris as objects if(o.isVariable()) { group.addElementFilter(new ElementFilter(new E_IsURI(new ExprVar(o)))); group.addElementFilter(new ElementFilter(new E_LogicalNot(new E_IsBlank(new ExprVar(o))))); } BasicPattern bgp = new BasicPattern(); bgp.add(triple); query.setConstructTemplate(new Template(bgp)); query.setQueryPattern(group); return query; }