private ElementTriplesBlock process(Triple triple) { // Unsubtle ElementTriplesBlock e = new ElementTriplesBlock() ; e.addTriple(triple) ; return e ; }
public void addTriplePattern(Triple t) { ensureBGP().addTriple(t) ; }
private ElementTriplesBlock process(Triple triple) { // Unsubtle ElementTriplesBlock e = new ElementTriplesBlock() ; e.addTriple(triple) ; return e ; }
public static List<Element> pathToElements(SimplePath path, Var start, Var end, Generator generator) { List<Element> result = new ArrayList<Element>(); ElementTriplesBlock tmp = new ElementTriplesBlock(); List<Triple> triples = pathToTriples(path, start, end, generator); if(!triples.isEmpty()) { for(Triple triple : triples) { tmp.addTriple(triple); } result.add(tmp); } return result; }
public static Concept createSubjectConcept() { ElementTriplesBlock e = new ElementTriplesBlock(); e.addTriple(Triples.spo); Concept result = new Concept(e, Vars.s); return result; }
@Override public void visit(ElementTriplesBlock el) { ElementTriplesBlock newBlock = new ElementTriplesBlock(); Iterator<Triple> tIter = el.patternElts(); while (tIter.hasNext()) { newBlock.addTriple(rewrite(tIter.next())); } push(newBlock); }
@Override public void visit(ElementTriplesBlock el) { ElementTriplesBlock newBlock = new ElementTriplesBlock(); Iterator<Triple> tIter = el.patternElts(); while (tIter.hasNext()) { newBlock.addTriple(rewrite(tIter.next())); } push(newBlock); }
@Override public Element transform(ElementTriplesBlock el) { ElementTriplesBlock etb = new ElementTriplesBlock() ; boolean changed = false ; for (Triple t : el.getPattern()) { Triple t2 = transform(t) ; changed = changed || t != t2 ; etb.addTriple(t2) ; } if ( changed ) return etb ; return el ; }
@Override public Element transform(ElementTriplesBlock el) { ElementTriplesBlock etb = new ElementTriplesBlock() ; boolean changed = false ; for (Triple t : el.getPattern()) { Triple t2 = transform(t) ; changed = changed || t != t2 ; etb.addTriple(t2) ; } if ( changed ) return etb ; return el ; }
public static Element toElement(Map<Node, Set<Quad>> graphToQuads) { ElementGroup es = new ElementGroup(); for(Entry<Node, Set<Quad>> entry : graphToQuads.entrySet()) { ElementTriplesBlock e = new ElementTriplesBlock(); for(Quad quad : entry.getValue()) { Triple triple = quad.asTriple(); e.addTriple(triple); } Node graph = entry.getKey(); Element f = graph == null || graph.equals(Quad.defaultGraphNodeGenerated) ? e : new ElementNamedGraph(graph, e); es.addElement(f); } Element result = es.getElements().size() == 1 ? es.getElements().get(0) : es; return result; }
public static void mergeElements(ElementGroup target, ElementTriplesBlock etb, Element source) { if(source instanceof ElementTriplesBlock) { ElementTriplesBlock e = (ElementTriplesBlock)source; for(Triple t : e.getPattern()) { etb.addTriple(t); } } else if(source instanceof ElementGroup) { ElementGroup es = (ElementGroup)source; for(Element e : es.getElements()) { mergeElements(target, etb, e); //target.addElement(e); } } else { target.addElement(source); } }
public static Element createElementDefaultGraph(Table table) { Element elData = tableToElement(table); ElementTriplesBlock elTriples = new ElementTriplesBlock(); elTriples.addTriple(new Triple(Vars.s, Vars.p, Vars.o)); ElementGroup result = new ElementGroup(); result.addElement(elData); result.addElement(elTriples); return result; }
public static Element createElementNamedGraph(Table table) { Element elData = tableToElement(table); ElementTriplesBlock elTriples = new ElementTriplesBlock(); elTriples.addTriple(new Triple(Vars.s, Vars.p, Vars.o)); ElementGroup result = new ElementGroup(); result.addElement(elData); result.addElement(new ElementNamedGraph(Vars.g, elTriples)); return result; }
private Element process(BasicPattern pattern) { // The different SPARQL versions (1.0, 1.1) use different internal // structures for BGPs. if ( query.getSyntax() == Syntax.syntaxSPARQL_10 ) { ElementTriplesBlock e = new ElementTriplesBlock() ; for ( Triple t : pattern ) // Leave bNode variables as they are // Query serialization will deal with them. e.addTriple(t) ; return e ; } if ( query.getSyntax() == Syntax.syntaxSPARQL_11 || query.getSyntax() == Syntax.syntaxARQ ) { ElementPathBlock e = new ElementPathBlock() ; for ( Triple t : pattern ) // Leave bNode variables as they are // Query serialization will deal with them. e.addTriple(t) ; return e ; } throw new ARQInternalErrorException("Unrecognized syntax: " + query.getSyntax()) ; }
@Override public void visit(ElementTriplesBlock el) { for (Iterator<Triple> iterator = el.patternElts(); iterator.hasNext();) { Triple t = iterator.next(); if(inOptionalClause){ } else { if(t.equals(triple)){ ElementGroup parent = parentGroup.peek(); ElementTriplesBlock elementTriplesBlock = new ElementTriplesBlock(); elementTriplesBlock.addTriple(t); ElementGroup eg = new ElementGroup(); eg.addElement(elementTriplesBlock); parent.addElement(new ElementFilter(new E_NotExists(eg))); iterator.remove(); } } } }
@Override public void visit(ElementTriplesBlock el) { for (Iterator<Triple> iterator = el.patternElts(); iterator.hasNext();) { Triple t = iterator.next(); if(inOptionalClause){ } else { if(t.equals(triple)){ ElementGroup parent = parentGroup.peek(); ElementTriplesBlock elementTriplesBlock = new ElementTriplesBlock(); elementTriplesBlock.addTriple(t); ElementGroup eg = new ElementGroup(); eg.addElement(elementTriplesBlock); parent.addElement(new ElementFilter(new E_NotExists(eg))); iterator.remove(); } } } }
private Element process(BasicPattern pattern) { // The different SPARQL versions use different internal structures for BGPs. if ( query.getSyntax() == Syntax.syntaxSPARQL_10 ) { ElementTriplesBlock e = new ElementTriplesBlock() ; for (Triple t : pattern) // Leave bNode variables as they are // Query serialization will deal with them. e.addTriple(t) ; return e ; } if ( query.getSyntax() == Syntax.syntaxSPARQL_11 || query.getSyntax() == Syntax.syntaxARQ ) { ElementPathBlock e = new ElementPathBlock() ; for (Triple t : pattern) // Leave bNode variables as they are // Query serialization will deal with them. e.addTriple(t) ; return e ; } throw new ARQInternalErrorException("Unrecognized syntax: "+query.getSyntax()) ; }
ElementTriplesBlock el = new ElementTriplesBlock(); for (Triple triple : triplePatterns) { el.addTriple(triple);
protected Element elementFromQuads(List<Quad> quads) { ElementGroup el = new ElementGroup(); ElementTriplesBlock x = new ElementTriplesBlock(); // Maybe empty?? el.addElement(x); Node g = Quad.defaultGraphNodeGenerated; for ( Quad q : quads ) { if ( q.getGraph() != g ) { g = q.getGraph(); x = new ElementTriplesBlock(); if ( g == null || g == Quad.defaultGraphNodeGenerated ) el.addElement(x); else { ElementNamedGraph eng = new ElementNamedGraph(g, x); el.addElement(eng); } } x.addTriple(q.asTriple()); } return el; }
@Override public Query toQuery(){ Query query = QueryFactory.make(); query.setQuerySelectType(); query.addResultVar(NodeFactory.createVariable("x0")); query.setDistinct(true); query.setPrefix("rdf", "http://www.w3.org/1999/02/22-rdf-syntax-ns#"); query.setPrefix("rdfs", "http://www.w3.org/2000/01/rdf-schema#"); query.setPrefix("yago", "http://dbpedia.org/class/yago/"); query.setPrefix("cyc", "http://sw.opencyc.org/2008/06/10/concept/"); query.setPrefix("owl", "http://www.w3.org/2002/07/owl#"); query.setPrefix("dbp", "http://dbpedia.org/property/"); query.setPrefix("dbo", "http://dbpedia.org/ontology/"); query.setPrefix("dbr", "http://dbpedia.org/resource/"); query.setPrefix("dc", "http://purl.org/dc/terms/"); ElementGroup whereClause = new ElementGroup(); ElementTriplesBlock triples = new ElementTriplesBlock(); for(Triple t : buildTriples(this)){ triples.addTriple(t); } whereClause.addElement(triples); query.setQueryPattern(whereClause); return query; }