@Override public void addTriple(Triple t) { pattern.add(t) ; }
@Override public void addTriple(int index, Triple t) { pattern.add(index, t) ; }
@Override public void addTriple(Triple t) { bgp.add(t) ; }
Op op; BasicPattern pat = new BasicPattern(); // Make a pattern pat.add(pattern); // Add our pattern match op = new OpBGP(pat); // Make a BGP from this pattern op = OpFilter.filter(e, op); // Filter that pattern with our expression op = new OpProject(op, Arrays.asList(Var.alloc("s"))); // Reduce to just ?s Query q = OpAsQuery.asQuery(op); // Convert to a query q.setQuerySelectType(); // Make is a select query
public static ElementTriplesBlock createElement(Triple triple) { BasicPattern bgp = new BasicPattern(); bgp.add(triple); ElementTriplesBlock result = new ElementTriplesBlock(bgp); return result; }
/** Do a node{@literal ->}node conversion of a BGP - return original BGP for "no change" */ public static BasicPattern transform(NodeTransform nodeTransform, BasicPattern pattern) { BasicPattern bgp2 = new BasicPattern() ; boolean changed = false ; for ( Triple triple : pattern ) { Triple t2 = transform(nodeTransform, triple) ; bgp2.add(t2) ; if ( t2 != triple ) changed = true ; } if ( ! changed ) return pattern ; return bgp2 ; }
public static Concept createConcept2(Node propertyNode1, Node propertyNode2) { BasicPattern pattern = new BasicPattern(); pattern.add(new Triple(vs, propertyNode1, va)); pattern.add(new Triple(va, propertyNode2, vw)); ElementTriplesBlock element = new ElementTriplesBlock(pattern); Concept result = new Concept(element, vs); return result; }
public static Concept createConcept2(Node propertyNode1, Node propertyNode2) { BasicPattern pattern = new BasicPattern(); pattern.add(new Triple(vs, propertyNode1, va)); pattern.add(new Triple(va, propertyNode2, vw)); ElementTriplesBlock element = new ElementTriplesBlock(pattern); Concept result = new Concept(element, vs); return result; }
public Map<Node, BasicPattern> getGraphPattern(){ List<Quad> quads = getQuads(); HashMap<Node, BasicPattern> graphs = new HashMap<>(); for (Quad q: quads){ BasicPattern bgp = graphs.get(q.getGraph()); if (bgp == null){ bgp = new BasicPattern(); graphs.put(q.getGraph(), bgp); } bgp.add( q.asTriple() ); } return graphs; }
public static BasicPattern substitute(BasicPattern bgp, Binding binding) { if ( isNotNeeded(binding) ) return bgp; BasicPattern bgp2 = new BasicPattern(); for ( Triple triple : bgp ) { Triple t = substitute(triple, binding); bgp2.add(t); } return bgp2; }
public final OpBGP asBGP() { if ( opBGP == null ) { BasicPattern bp = new BasicPattern() ; bp.add(getTriple()) ; opBGP = new OpBGP(bp) ; } return opBGP ; }
public static Concept createConceptProperty(Node propertyNode) { BasicPattern pattern = new BasicPattern(); pattern.add(new Triple(vs, propertyNode, vw)); ElementTriplesBlock element = new ElementTriplesBlock(pattern); Concept result = new Concept(element, vs); return result; }
public static Concept createConceptProperty(Node propertyNode) { BasicPattern pattern = new BasicPattern(); pattern.add(new Triple(vs, propertyNode, vw)); ElementTriplesBlock element = new ElementTriplesBlock(pattern); Concept result = new Concept(element, vs); return result; }
public OpQuadPattern asQuadPattern() { if ( opQuadPattern == null ) { BasicPattern bp = new BasicPattern() ; bp.add(getQuad().asTriple()) ; opQuadPattern = new OpQuadPattern(quad.getGraph(),bp) ; } return opQuadPattern ; }
public BasicPattern getBGP() { if (this.bgp != null){ return this.bgp; } BasicPattern bgp = new BasicPattern(); for(Quad q: qp.getQuads()){ if (Quad.defaultGraphNodeGenerated.equals(q.getGraph())) bgp.add(q.asTriple()); } return bgp; } public List<Triple> getTriples()
@Test public void formatPattern_2_triples() { BasicPattern basicPattern = new BasicPattern() ; basicPattern.add(getTriple()) ; basicPattern.add(getTriple2()) ; ByteArrayOutputStream os = new ByteArrayOutputStream() ; try(IndentedWriter iw = new IndentedWriter(os)) { SerializationContext sc = new SerializationContext() ; FmtUtils.formatPattern(iw, basicPattern, sc) ; } assertEquals("<n1> <n2> \"l3\" .\n" + "<nb1> <nb2> \"lb3\" .", new String(os.toByteArray())) ; }
private static BasicPattern buildBGP(ItemList list) { // Skips the tag. BasicPattern triples = new BasicPattern() ; for ( int i = 1 ; i < list.size() ; i++ ) { Item item = list.get(i) ; if ( ! item.isList() ) BuilderLib.broken(item, "Not a triple structure") ; Triple t = BuilderGraph.buildTriple(item.getList()) ; triples.add(t) ; } return triples ; }
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; }
public static Element toElement(Quad quad, Set<Set<Expr>> cnf) { ExprList exprs = CnfUtils.toExprList(cnf); BasicPattern bp = new BasicPattern(); bp.add(quad.asTriple()); OpQuadPattern opA = new OpQuadPattern(quad.getGraph(), bp); Op opB = OpFilter.filterBy(exprs, opA); Query query = OpAsQuery.asQuery(opB); Element result = query.getQueryPattern(); return result; }
public static Element toElement(Quad quad, Set<Set<Expr>> cnf) { ExprList exprs = CnfUtils.toExprList(cnf); BasicPattern bp = new BasicPattern(); bp.add(quad.asTriple()); OpQuadPattern opA = new OpQuadPattern(quad.getGraph(), bp); Op opB = OpFilter.filterBy(exprs, opA); Query query = OpAsQuery.asQuery(opB); Element result = query.getQueryPattern(); return result; }