public ViewTemplateDefinition(Template template, List<Expr> varBindings) { //this.name = name; this.constructTemplate = QuadPatternUtils.toQuadPattern(template.getBGP()); this.varBindings = varBindings; }
public ViewTemplateDefinition(Template template, List<Expr> varBindings) { //this.name = name; this.constructTemplate = QuadPatternUtils.toQuadPattern(template.getBGP()); this.varBindings = varBindings; }
@Override public Set<Var> getDeclaredVars() { BasicPattern bgp = template.getBGP(); Set<Var> result = SetUtils.asSet(PatternVars.vars(new ElementTriplesBlock(bgp))); if(reverse.isVariable()) { result = Sets.union(Collections.singleton((Var)reverse), result); } return result; }
public static SparqlView create(String name, Query query) { if(!query.isConstructType()) { throw new RuntimeException("Query must be a construct query"); } Op tmp = Algebra.compile(query.getQueryPattern()); Op op = Algebra.toQuadForm(tmp); QuadPattern quadPattern = QuadPatternUtils.toQuadPattern(Quad.defaultGraphNodeGenerated, query.getConstructTemplate().getBGP()); // QuadPattern quadPattern = new QuadPattern(); // for(Triple triple : query.getConstructTemplate().getTriples()) { // quadPattern.add(new Quad(Quad.defaultGraphNodeGenerated, triple)); // } SparqlView result = create(name, quadPattern, op); //SparqlView result = new SparqlView(name, quadPattern, new ExprList(), new VarDefinition(), op); return result; }
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<DatasetGraph> query2(Query query, Var partitionVar) { Assert.isTrue(query.isConstructType()); Template template = query.getConstructTemplate(); BasicPattern bgp = template.getBGP(); BasicPattern newBgp = allocVarsForBlankNodes(bgp); //org.aksw.jena_sparql_api.utils.VarUtils. // Allocate a fresh var for the graph Var g = Var.alloc("_g_"); //Element e = new Element Element tmp = new ElementTriplesBlock(newBgp); Element newElement = new ElementNamedGraph(g, tmp); OpQuadPattern tmpOp = new OpQuadPattern(g, newBgp); QuadPattern quadPattern = tmpOp.getPattern(); Concept concept = new Concept(newElement, partitionVar); Agg<DatasetGraph> agg = AggDatasetGraph.create(quadPattern); MappedConcept<DatasetGraph> result = MappedConcept.create(concept, agg); return result; }
QuadPattern qp = QuadPatternUtils.toQuadPattern(Quad.defaultGraphNodeGenerated, template.getBGP()); Agg<DatasetGraph> agg = AggDatasetGraph.create(qp);