public boolean equiv(BasicPattern other, NodeIsomorphismMap isoMap) { if ( this.triples.size() != other.triples.size() ) return false ; for ( int i = 0 ; i < this.triples.size() ; i++ ) { Triple t1 = get(i) ; Triple t2 = other.get(i) ; if ( ! Iso.tripleIso(t1, t2, isoMap) ) return false ; } return true ; }
public boolean equiv(BasicPattern other, NodeIsomorphismMap isoMap) { if ( this.triples.size() != other.triples.size() ) return false ; for ( int i = 0 ; i < this.triples.size() ; i++ ) { Triple t1 = get(i) ; Triple t2 = other.get(i) ; if ( ! Utils.tripleIso(t1, t2, isoMap) ) return false ; } return true ; }
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) ; }
public boolean equivalent(OpBGP opBGP) { BasicPattern bgp = opBGP.getPattern() ; if ( bgp.size() != 1 ) return false ; Triple t = bgp.get(0) ; return triple.equals(t) ; }
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() ); } }
/** 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 ; }