@Override public int mark() { return pattern.size() ; }
public boolean isEmpty() { return triples.size() == 0 ; }
public int mark() { return pattern.size() ; }
@Override public int mark() { return bgp.size() ; }
public int mark() { return bgp.size() ; }
public boolean isEmpty() { return triples.size() == 0 ; }
private List<AtomicQuery> createAtomicQueries(Query query, CustomOpVisitor visitor) { List<AtomicQuery> result = new ArrayList<AtomicQuery>(visitor.basicGraphPatterns.size()); for (OpBGP bgp : visitor.basicGraphPatterns) { BasicPattern bp = bgp.getPattern(); for (int i = 0; i < bp.size(); i++) { Triple triple = bp.get(i); AtomicQuery atomicQuery = this.createAtomicQuery(query, visitor, triple); result.add(atomicQuery); } } return result; }
public boolean equivalent(OpBGP opBGP) { BasicPattern bgp = opBGP.getPattern() ; if ( bgp.size() != 1 ) return false ; Triple t = bgp.get(0) ; return triple.equals(t) ; }
@Override public void write(Kryo kryo, Output output, Template object) { final BasicPattern bgp = object.getBGP(); output.writeInt(bgp.size()); for (final Triple triple : bgp) { kryo.writeClassAndObject(output, triple); } }
public boolean equivalent(OpBGP opBGP) { BasicPattern bgp = opBGP.getPattern() ; if ( bgp.size() != 1 ) return false ; Triple t = bgp.get(0) ; return triple.equals(t) ; }
@Override public void write(Kryo kryo, Output output, Template object) { final BasicPattern bgp = object.getBGP(); output.writeInt(bgp.size()); for (final Triple triple : bgp) { kryo.writeClassAndObject(output, triple); } }
/** Return a new basic pattern with the same triples as the input, * but ordered as per the index list of this reorder processor. */ //@Override public BasicPattern reorder(BasicPattern bgp) { if ( indexes.length != bgp.size() ) { String str = String.format("Expected size = %d : actual basic pattern size = %d", indexes.length, bgp.size()) ; Log.fatal(this, str) ; throw new ARQException(str) ; } BasicPattern bgp2 = new BasicPattern() ; for ( int j = 0 ; j < indexes.length ; j++ ) { int idx = indexes[j] ; Triple t = bgp.get(idx) ; bgp2.add(t) ; } return bgp2 ; }
/** Return a new basic pattern with the same triples as the input, * but ordered as per the index list of this reorder processor. */ @Override public BasicPattern reorder(BasicPattern bgp) { if ( indexes.length != bgp.size() ) { String str = String.format("Expected size = %d : actual basic pattern size = %d", indexes.length, bgp.size()) ; Log.fatal(this, str) ; throw new ARQException(str) ; } BasicPattern bgp2 = new BasicPattern() ; for ( int j = 0 ; j < indexes.length ; j++ ) { int idx = indexes[j] ; Triple t = bgp.get(idx) ; bgp2.add(t) ; } return bgp2 ; }
private void initVars() { vars = new LinkedHashSet<String>(); for( int i = 0; i < pattern.size(); i++ ) { Triple t = pattern.get( i ); if( ARQParser.isDistinguishedVariable( t.getSubject() ) ) vars.add( t.getSubject().getName() ); if( t.getPredicate().isVariable() ) vars.add( t.getPredicate().getName() ); if( ARQParser.isDistinguishedVariable( t.getObject() ) ) vars.add( t.getObject().getName() ); } }
public final ReorderProc reorderIndexes(BasicPattern pattern) { if (pattern.size() <= 1 ) return ReorderLib.identityProc() ; List<Triple> triples = pattern.getList() ; // Could merge into the conversion step to do the rewrite WRT a Binding. // Or done here as a second pass mutate of PatternTriples // Convert to a mutable form (that allows things like "TERM") List<PatternTriple> components = Iter.toList(Iter.map(triples, convert)) ; // Allow subclasses to get in (e.g. static reordering). components = modifyComponents(components) ; ReorderProc proc = reorder(triples, components) ; return proc ; }
@Override public final ReorderProc reorderIndexes(BasicPattern pattern) { if (pattern.size() <= 1 ) return ReorderLib.identityProc() ; List<Triple> triples = pattern.getList() ; // Could merge into the conversion step to do the rewrite WRT a Binding. // Or done here as a second pass mutate of PatternTriples // Convert to a mutable form (that allows things like "TERM") List<PatternTriple> components = Iter.toList(Iter.map(triples, convert)) ; // Allow subclasses to get in (e.g. static reordering). components = modifyComponents(components) ; ReorderProc proc = reorder(triples, components) ; return proc ; }
public void visit(OpBGP opBGP) { if ( opBGP.getPattern().size() == 1 ) { start(opBGP, NoNL) ; write(opBGP.getPattern(), true) ; finish(opBGP) ; return ; } start(opBGP, NL) ; write(opBGP.getPattern(), false) ; finish(opBGP) ; }
@Override public void visit(OpBGP opBGP) { if ( opBGP.getPattern().size() == 1 ) { start(opBGP, NoNL) ; write(opBGP.getPattern(), true) ; finish(opBGP) ; return ; } start(opBGP, NL) ; write(opBGP.getPattern(), false) ; finish(opBGP) ; }